[ https://issues.apache.org/jira/browse/FOP-2938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Caprioara updated FOP-2938: ------------------------------- Summary: Incomplete TTF subset files for mutibyte fonts - incomplete mapping between CIDs and codepoints when having two codepoints associated to the same glyph (was: Incomplete TTF subset files - incomplete mapping between CIDs and codepoints when having two codepoints associated to the same glyph) > Incomplete TTF subset files for mutibyte fonts - incomplete mapping between > CIDs and codepoints when having two codepoints associated to the same glyph > ------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: FOP-2938 > URL: https://issues.apache.org/jira/browse/FOP-2938 > Project: FOP > Issue Type: Bug > Components: font/opentype > Affects Versions: 2.5 > Reporter: Dan Caprioara > Priority: Major > Attachments: CIDFonts Subset Architectural Problem.png > > > A generic problem appears for MultiByte CID fonts. > Because of a limitation of the CIDSubset implemenatation, once a glyph has > been used for a code point, next usages of the same glyph for other > codepoints are discarded. This results in incomplete tables in the TTF sub > set file. The structures from CIDSubset class are maps, limiting > expressiveness. > > In the next diagram I used hyphens and soft hyphens, just as an example, any > text with two different characters that map to the same glyph is affected. > See this attached sketch for details: > !CIDFonts Subset Architectural Problem.png! > The solution would be to avoid usage of hash maps, and create some > associative lists (currently the uniqueness of the keys breaks things). -- This message was sent by Atlassian Jira (v8.3.4#803005)