Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.4
-
None
-
None
-
Windows 10
Description
Fop is not properly handling surrogate pairs for characters in Unicode Block 'Cypriot Syllabary' when rendering PDF.
It tries to resolve the individual surrogate entities. This results in errors saying the glyphs cannot be found.
The attached test shows a font that supports characters in this range, and an FO file holding the surrogate characters to be rendered.
Similar issues arise with fonts "MPH 2b Damas" (https://fedoraproject.org/wiki/MPH_2B_Damase_fonts) and "Segoe UI Historic" (https://docs.microsoft.com/en-us/typography/font-list/segoe_ui_historic), but the error may differ. [I am unsure whether licensing allows me to add these)
Some fonts (Damas & Noto) result in a "String index out of range". Other fonts (Segoe) deliver a "ill-formed UTF-16 sequence, contains isolated high surrogate at end of sequence" FOPException.
We expected this to work thanks to FOP-1969 (fop 2.3).