This request is to ask that the development team review the code inside the Documents for refactoring to see if certain things can be reduced (like Generics).
When using the Telerik UI for Xamarin and referencing the UI.for.Xamarin NuGet package, the assembly reference for the Telerik.Documents.Fixed.dll is added to the project. This increases the amount of code that is compiled when the Linker is only set to SDK only, thus breaking AOT compilation with LLVM enabled.
A few addition insights:
- When the project cannot set the Linker to SDK and User Assemblies
- When individually referencing DLLs for only what the project uses is an insufficient solution
- When installing sub-packages like Telerik.UI.for.Xamarin.DataGrid is an insufficient solution.
Thank you.
I would like to request an example of the RadPdfProcessing library utilizing a Line Chart similar to how the Bar Chart is drawn in this example.
Additionally, it would be great if there was an example with multiple charts on one page.
Thank you!
I was working on some acroforms and wherever I needed a space I kept on getting a different letter (Ê). On debugging the problem seems to be in the TryGetCharCode function of OpenTypeFontSource
Version: 2019.3.917
Below is copy of function
public override bool TryGetCharCode(int unicode, out int charCode)
{
bool result = false;
ushort glyphId;
charCode = CMap.MISSING_GLYPH_ID;
if (this.TryGetGlyphId(unicode, out glyphId))
{
ushort uCharCode = CMap.MISSING_GLYPH_ID;
CMapTable table = this.CMap.GetCMapTable(3, 0);
if (table != null)
{
result = table.TryGetCharId(glyphId, out uCharCode);
}
table = this.CMap.GetCMapTable(1, 0);
if (table != null)
{
result = table.TryGetCharId(glyphId, out uCharCode);
}
charCode = uCharCode;
return result;
}
return false;
}
The font used has 2 cmap tables: one with platformid of 3 and encodingid of 1, the other with platformid 1 and encodingid 0. According to https://docs.microsoft.com/en-us/typography/opentype/spec/cmap platform id 3 and encoding 1 is correct for windows so not sure why the first call to getcmaptable looks for encodingid 0.
Second of all even if I change it to the following
CMapTable table = this.CMap.GetCMapTable(3, 1);
if there is a second cmap with platformid of 1 whatever the result of the call with regards to platformid 3, the result will be overridden
I can say that if I add some checks so that if the first call succeeds it doesn't attempt the 2nd I do get the expected behaviour in the pdf and get spaces
As a note the FontFamily property of the OpenTypeFontSource is "Arial"
I am using the trial version of telerik for xamarin for .net core which was released last year, to convert pdf to text. Our service is hosted in Azure. The text which I get back, in certain cases the spaces are missing (say for example instead of 'I [am] here', it displays 'I[am]here'. This happens randomly.
The code which we have used is as follows -
byte[] pdfBinary = Convert.FromBase64String(inputString);A possible workaround could be to draw a rectangle around the desired Block.
RadFixedDocument document = new RadFixedDocument();
RadFixedPage page = document.Pages.AddPage();
page.Size = new Size(600, 800);
FixedContentEditor editor = new FixedContentEditor(page);
editor.Position.Translate(defaultLeftIndent, 50);
Block block = new Block();
block.InsertText("PDF");
editor.DrawBlock(block);
Block border = new Block();
border.GraphicProperties.StrokeColor = RgbColors.Black;
border.GraphicProperties.IsFilled = false;
border.GraphicProperties.IsStroked = true;
border.GraphicProperties.StrokeThickness = 1;
border.InsertRectangle(new System.Windows.Rect(block.Measure()));
editor.DrawBlock(border);