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"
This type of destinations is not supported and leads to InvalidCastException when importing such elements.
Add support for ToUnicode CMap stream. A side effect of not supporting it is the following: exporting PDF document which, for example, contains German umlauts, to plain text, leads to wrong characters in the resulting text. As possible workaround, the PdfFormatProvider instance of RadPdfViewer can be used to import the document. For example:FormatProviderSettings settings =
new
FormatProviderSettings(ReadingMode.OnDemand);
PdfFormatProvider pdfViewerFormatProvider =
new
PdfFormatProvider(stream, settings);
RadFixedDocument document = pdfViewerFormatProvider.Import();
TextFormatProvider textFormatProvider =
new
TextFormatProvider();
String text = textFormatProvider.Export(document);
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!
Although Lab color space is currently unsupported, the provider should not throw exceptions that break the whole file import.
Implement API for adding document outline (a.k.a bookmarks).
When there is long text that is out of the used cell range area, this text should be included in page splitting calculations.
Also, when a cell has text that overflows its width, the text is again clipped by the cell boundaries and is not visible in the exported PDF. In a similar case Excel exports the surrounding cells to ensure that the content is visible.
Workaround: Extend the used cell range to include all the cells which the text content spans.
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.
When creating a GradientStop, an alpha channel of the color could be applied. However, this setting is not respected it the result document and the gradient is with full opacity. Steps to reproduce: 1. Create a gradient with an alpha channel: RadFixedDocument document = new RadFixedDocument(); RadFixedPage page = document.Pages.AddPage(); FixedContentEditor containerEditor = new FixedContentEditor(page); LinearGradient linearGradient = new LinearGradient(new Point(0, 0), new Point(30, 30)); linearGradient.GradientStops.Add(new GradientStop(new RgbColor(10, 0, 207, 0), 0)); linearGradient.GradientStops.Add(new GradientStop(new RgbColor(10, 0, 102, 204), 1)); containerEditor.GraphicProperties.FillColor = linearGradient; containerEditor.DrawRectangle(new Rect(10, 10, 48, 29)); 2. Export the document to PDF Observed: The alpha channel is not respected and the gradient is with full opacity