Author: lehmi
Date: Sun Oct 28 11:04:47 2012
New Revision: 1402971

URL: http://svn.apache.org/viewvc?rev=1402971&view=rev
Log:
PDFBOX-1431: avoid NPE if the type FONT is missing as proposed by Gustavo 
Moreira

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

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFontFactory.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFontFactory.java?rev=1402971&r1=1402970&r2=1402971&view=diff
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFontFactory.java
 (original)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFontFactory.java
 Sun Oct 28 11:04:47 2012
@@ -77,12 +77,16 @@ public class PDFontFactory
         PDFont retval = null;
 
         COSName type = (COSName)dic.getDictionaryObject( COSName.TYPE );
-        if( !type.equals( COSName.FONT ) )
+        if( type != null && !COSName.FONT.equals( type ) )
         {
             throw new IOException( "Cannot create font if /Type is not /Font.  
Actual=" +type );
         }
 
         COSName subType = (COSName)dic.getDictionaryObject( COSName.SUBTYPE );
+        if (subType == null) 
+        {
+            throw new IOException( "Cannot create font as /SubType is not 
set." );
+        }
         if( subType.equals( COSName.TYPE1) )
         {
             retval = new PDType1Font( dic );
@@ -113,8 +117,7 @@ public class PDFontFactory
         }
         else
         {
-            LOG.warn("Substituting TrueType for unknown font subtype=" + 
-                    dic.getDictionaryObject( COSName.SUBTYPE ).toString());
+            LOG.warn("Substituting TrueType for unknown font subtype=" + 
subType.getName());
             retval = new PDTrueTypeFont( dic );
         }
         return retval;


Reply via email to