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 2014/08/28 09:42:02 UTC
svn commit: r1621080 - in
/pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font:
FileSystemFontProvider.java PDCIDFontType2.java PDTrueTypeFont.java
Author: jahewson
Date: Thu Aug 28 07:42:02 2014
New Revision: 1621080
URL: http://svn.apache.org/r1621080
Log:
PDFBOX-2262: Better logging for TTF errors
Modified:
pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java
pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType2.java
pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
Modified: pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java?rev=1621080&r1=1621079&r2=1621080&view=diff
==============================================================================
--- pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java (original)
+++ pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java Thu Aug 28 07:42:02 2014
@@ -102,7 +102,21 @@ final class FileSystemFontProvider imple
private void addOpenTypeFont(File otfFile) throws IOException
{
TTFParser ttfParser = new TTFParser(false, true);
- TrueTypeFont ttf = ttfParser.parseTTF(otfFile);
+ TrueTypeFont ttf = null;
+ try
+ {
+ System.out.println(otfFile);
+ ttf = ttfParser.parseTTF(otfFile);
+ }
+ catch (NullPointerException e) // TTF parser is buggy
+ {
+ LOG.error("Could not load font file: " + otfFile, e);
+ }
+ catch (IOException e)
+ {
+ LOG.error("Could not load font file: " + otfFile, e);
+ }
+
try
{
// check for 'name' table
@@ -144,7 +158,10 @@ final class FileSystemFontProvider imple
}
finally
{
- ttf.close();
+ if (ttf != null)
+ {
+ ttf.close();
+ }
}
}
@@ -197,9 +214,13 @@ final class FileSystemFontProvider imple
}
return ttf;
}
+ catch (NullPointerException e) // TTF parser is buggy
+ {
+ LOG.error("Could not load font file: " + file, e);
+ }
catch (IOException e)
{
- LOG.error("Could not load font file: " + file);
+ LOG.error("Could not load font file: " + file, e);
}
}
return null;
@@ -233,7 +254,7 @@ final class FileSystemFontProvider imple
}
catch (IOException e)
{
- LOG.error("Could not load font file: " + file);
+ LOG.error("Could not load font file: " + file, e);
}
finally
{
@@ -269,7 +290,7 @@ final class FileSystemFontProvider imple
}
catch (IOException e)
{
- LOG.error("Could not load font file: " + file);
+ LOG.error("Could not load font file: " + file, e);
}
finally
{
Modified: pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType2.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType2.java?rev=1621080&r1=1621079&r2=1621080&view=diff
==============================================================================
--- pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType2.java (original)
+++ pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType2.java Thu Aug 28 07:42:02 2014
@@ -65,10 +65,21 @@ public class PDCIDFontType2 extends PDCI
if (ff2Stream != null)
{
- // embedded
- TTFParser ttfParser = new TTFParser(true);
- ttf = ttfParser.parseTTF(ff2Stream.createInputStream());
- isEmbedded = true;
+ try
+ {
+ // embedded
+ TTFParser ttfParser = new TTFParser(true);
+ ttf = ttfParser.parseTTF(ff2Stream.createInputStream());
+ isEmbedded = true;
+ }
+ catch (NullPointerException e) // TTF parser is buggy
+ {
+ throw new IOException("Could not read embedded TTF for font " + getBaseFont(), e);
+ }
+ catch (IOException e)
+ {
+ throw new IOException("Could not read embedded TTF for font " + getBaseFont(), e);
+ }
}
else
{
Modified: pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java?rev=1621080&r1=1621079&r2=1621080&view=diff
==============================================================================
--- pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java (original)
+++ pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java Thu Aug 28 07:42:02 2014
@@ -99,9 +99,20 @@ public class PDTrueTypeFont extends PDSi
PDStream ff2Stream = fd.getFontFile2();
if (ff2Stream != null)
{
- // embedded
- TTFParser ttfParser = new TTFParser(true);
- ttfFont = ttfParser.parseTTF(ff2Stream.createInputStream());
+ try
+ {
+ // embedded
+ TTFParser ttfParser = new TTFParser(true);
+ ttfFont = ttfParser.parseTTF(ff2Stream.createInputStream());
+ }
+ catch (NullPointerException e) // TTF parser is buggy
+ {
+ throw new IOException("Could not read embedded TTF for font " + getBaseFont(), e);
+ }
+ catch (IOException e)
+ {
+ throw new IOException("Could not read embedded TTF for font " + getBaseFont(), e);
+ }
}
}
isEmbedded = ttfFont != null;