When loading some PDF documents with German culture, part of the text got missing.
Workaround: set English culture before loading the document
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
When inserting ligature languages text into a block, the text doesn't appear on the generated PDF file.
With the following sample code, the issue can be reproduced:
private static string fileName = "Hello.pdf"; static void Main(string[] args) { byte[] fontData = File.ReadAllBytes("calibri.ttf"); FontFamily fontFamily = new FontFamily("Calibri"); FontsRepository.RegisterFont(fontFamily, FontStyles.Normal, FontWeights.Normal, fontData); RadFixedDocument document = new RadFixedDocument(); RadFixedPage page = new RadFixedPage(); string text = "مرØبا"; var reversedText = text.ToCharArray(); Array.Reverse(reversedText); Block block = new Block(); block.InsertText(new FontFamily("Calibri"), new string(reversedText)); FixedContentEditor editor = new FixedContentEditor(page); editor.DrawBlock(block); document.Pages.Add(page); PdfFormatProvider provider = new PdfFormatProvider(); using (Stream output = File.OpenWrite(fileName)) { provider.Export(document, output); } ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = fileName; Process.Start(fileName); }
When Separation color space with "name" set as None it is falling back to an "alternateSpace" (color space) instead.
From the Pdf specification:
A Separation color space is defined as follows:
[ /Separation name alternateSpace tintTransform ]
Observed:
The None value is ignored and the color space fallbacks to the Lab color space.