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;


Reply via email to