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);
}
SkiaImageFormatProvider: Add support for Text, TextMarkup, Line, and Stamp annotations.
Currently, these annotations are omitted on image export.
This allows specifying a soft mask in the external graphics state.
Add support for documents containing RTL (right-to-left) text.
Implement importing and exporting the javascript actions associated with push button fields so that they can be executed when the exported document is opened with Adobe Acrobat. Javascript actions are also used by text fields for text validation (for instance for date input).
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.