pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Lehmkuehler <andr...@lehmi.de>
Subject Re: NPE during PDTrueTypeFont.loadTTF() on Mac TrueType font lacking Windows-platformID CMAPEncodingEntry
Date Wed, 27 Nov 2013 21:03:42 GMT
Hi,

Am 27.11.2013 20:15, schrieb Andy Thomas-Cramer:
>
> I'm attempting to embed a TrueType font using PDFBox, on the Mac, using PDTrueType.loadTTF(
PDDocument, InputStream, Encoding ).
>
> For TrueType fonts originating from Windows (e.g., Tahoma) this works.
>
> For TrueType fonts originating from the Mac (e.g., Apple Chancery), a NullPointerException
is thrown.
>
>      java.lang.NullPointerException
>                  at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadDescriptorDictionary(PDTrueTypeFont.java:409)
>                  at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:201)
>                  at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:177)
>
> I stepped through the code in a debugger. The method PDTrueTypeFont.loadDescriptorDictionary()
loops through the cmap table for the font, looking for a cmap with platform ID 3 (Windows),
and sets the variable unimap only if one is found. After that loop, the variable unimap is
dereferenced without checking for null.
>
> Some Mac TrueType fonts have platform IDs 0 (Unicode) and 1 (Mac), but not 3 (Windows).
>
> At the least, a null check seems required. But more desirable would be support for Mac
TrueType fonts.
>
> Am I missing something, or should I enter a bug?
Sound like a bug. Please create an issue on JIRA [1] and attach the font in 
question if possible


> Details:
> * PDFBox version: 1.8.2
> * Platform: Mac
> * Java 6
> * Font platform IDs: 0, 1

Thanks in advance

BR
Andreas Lehmkühler

[1] https://issues.apache.org/jira/browse/PDFBOX

Mime
View raw message