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;