You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2015/02/06 01:43:02 UTC

svn commit: r1657728 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java

Author: jahewson
Date: Fri Feb  6 00:43:02 2015
New Revision: 1657728

URL: http://svn.apache.org/r1657728
Log:
PDFBOX-2665: Check that Type 1 glyphs are present in the font when embedding

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java?rev=1657728&r1=1657727&r2=1657728&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java Fri Feb  6 00:43:02 2015
@@ -23,7 +23,6 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.fontbox.ttf.Type1Equivalent;
@@ -33,12 +32,12 @@ import org.apache.fontbox.util.BoundingB
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSStream;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.pdmodel.common.PDStream;
 import org.apache.pdfbox.pdmodel.font.encoding.Encoding;
 import org.apache.pdfbox.pdmodel.font.encoding.StandardEncoding;
 import org.apache.pdfbox.pdmodel.font.encoding.Type1Encoding;
 import org.apache.pdfbox.pdmodel.font.encoding.WinAnsiEncoding;
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.common.PDStream;
 import org.apache.pdfbox.util.Matrix;
 
 /**
@@ -299,7 +298,7 @@ public class PDType1Font extends PDSimpl
         String name = getGlyphList().codePointToName(unicode);
         Map<String, Integer> inverted = getInvertedEncoding();
 
-        if (name.equals(".notdef"))
+        if (name.equals(".notdef") || !type1Equivalent.hasGlyph(name))
         {
             throw new IllegalArgumentException(
                     String.format("No glyph for U+%04X in font %s", unicode, getName()));
@@ -320,6 +319,7 @@ public class PDType1Font extends PDSimpl
         }
 
         invertedEncoding = new HashMap<String, Integer>();
+        //Map<Integer, String> codeToName = MacOSRomanEncoding.INSTANCE.getCodeToNameMap();
         Map<Integer, String> codeToName = encoding.getCodeToNameMap();
         for (Map.Entry<Integer, String> entry : codeToName.entrySet())
         {