Author: tilman Date: Tue Oct 17 15:14:34 2017 New Revision: 1812416 URL: http://svn.apache.org/viewvc?rev=1812416&view=rev Log: PDFBOX-3965: add fallback for bogus "symbol" fonts
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java?rev=1812416&r1=1812415&r2=1812416&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java Tue Oct 17 15:14:34 2017 @@ -649,6 +649,22 @@ public class PDTrueTypeFont extends PDSi { gid = cmapMacRoman.getGlyphId(code); } + + // PDFBOX-3965: fallback for font has that the symbol flag but isn't + if (gid == 0 && cmapWinUnicode != null && encoding != null) + { + String name = encoding.getName(code); + if (".notdef".equals(name)) + { + return 0; + } + String unicode = GlyphList.getAdobeGlyphList().toUnicode(name); + if (unicode != null) + { + int uni = unicode.codePointAt(0); + gid = cmapWinUnicode.getGlyphId(uni); + } + } } return gid;