Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.5
-
None
-
None
-
Operating System: All
Platform: All
Description
In GlyphMapping.processWordMapping the script of the text is retrieved using String script = text.getScript().
If the script returned is not listed in the Font then then gsub/gpos features will be ignored even if applicable.
Example:
The font EmojiOne is a font for Emoji and contains a Ligatures table for latn script. Thsi is what happen when FOText.getScript is called:
- ๐ฎ๐น๐จโ๐จโ๐ฆ (Only emoji) -> script = 'zyyy'
- test๐ฎ๐น๐จโ๐จโ๐ฆ (Latin + Emoji) -> script = 'auto'
- ๅ ็งฆๅ ฉๆผข๐ฎ๐น๐จโ๐จโ๐ฆ (Chinese + Emoji) -> script = 'auto'
In all these cases ApacheFOP is not able to apply the ligature table.
Acceptance Criteria
Ensure ApacheFOP reads the gsub/gpos table even if the script recognized for the text differs from the one defined in the font.