https://issues.apache.org/bugzilla/show_bug.cgi?id=50492

           Summary: Mapping of glyphs in the private area of TTF symbol
                    fonts is only done if cmapRangeOffsets is not zero
           Product: Fop
           Version: 1.0
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: fonts
        AssignedTo: fop-dev@xmlgraphics.apache.org
        ReportedBy: az7...@googlemail.com


In the current version of org.apache.fop.fonts.truetype.TTFFile, method
readUnicodeCmap, there is a workaround to map the glyphs of TTF symbol fonts
from the private area to the ascii range:

if (encodingID == 0 && j >= 0xF020 && j <= 0xF0FF) {
 //Experimental: Mapping 0xF020-0xF0FF to 0x0020-0x00FF
 //Tested with Wingdings and Symbol TTF fonts which map their
 //glyphs in the region 0xF020-0xF0FF.
 int mapped = j - 0xF000;
...

but this workaround is only applied in the case of
if (cmapRangeOffsets[i] != 0 && j != 65535) 
...

This mapping should also be done in the else case. There are several symbol
fonts (e.g. Wingdings 2 v1.55, Wingdings 3 v1.55) where cmapRangeOffsets[i] ==
0.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to