Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 5.0.5
-
Fix Version/s: 5.0.6
-
Component/s: Core/Parsing
-
Labels:None
-
Environment:All
-
Support Case References:Support Case #12760 - https://icesoft.my.salesforce.com/5007000000bCk9R
Description
With the provided PDF the fonts on the page are rendered incorrectly and look to be random characters. The following is logged for the font substitution:
Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager findFont
FINER: ----> Found font: couriernewpsmt family: Plain for: CourierNew C:\Windows\Fonts\cour.ttf
Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager getInstance
FINE: Font Substitution: Found type1 font: CourierNewPSMT for named font Courier
Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager findFont
FINER: ----> Found font: couriernewps-boldmt family: Bold for: CourierNew,Bold C:\Windows\Fonts\courbd.ttf
Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager getInstance
FINE: Font Substitution: Found type1 font: CourierNewPS-BoldMT for named font Courier-Bold
Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager findFont
FINER: ----> Found font: couriernewps-boldmt family: Bold for: CourierNew,Bold C:\Windows\Fonts\courbd.ttf
Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager getInstance
FINE: Font Substitution: Found type1 font: CourierNewPS-BoldMT for named font Courier-Bold
Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager findFont
FINER: ----> Found font: couriernewpsmt family: Plain for: CourierNew C:\Windows\Fonts\cour.ttf
Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager getInstance
FINE: Font Substitution: Found type1 font: CourierNewPSMT for named font Courier
Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager findFont
FINER: ----> Found font: couriernewps-boldmt family: Bold for: CourierNew,Bold C:\Windows\Fonts\courbd.ttf
Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager getInstance
FINE: Font Substitution: Found type1 font: CourierNewPS-BoldMT for named font Courier-Bold
Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager findFont
FINER: ----> Found font: couriernewps-boldmt family: Bold for: CourierNew,Bold C:\Windows\Fonts\courbd.ttf
Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager getInstance
FINE: Font Substitution: Found type1 font: CourierNewPS-BoldMT for named font Courier-Bold
The PDF in question is using an interesting ecodeing format for the font where the differences array is referenced as an indirect object which technically against the specification. Our font parsing assumes that the differences list is of type LIst and thus skips and never parses the data found via the reference.