Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 5.0
-
Fix Version/s: 5.0.1
-
Component/s: Font Engine
-
Labels:None
-
Environment:All
-
Salesforce Case Reference:
Description
When displaying a pdf the following error is thrown and the Fonts are not rendered correctly:
FINE: Could not create instance oof font file 0
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.icepdf.core.pobjects.fonts.FontFactory.createFontFile(FontFactory.java:151)
at org.icepdf.core.pobjects.fonts.FontDescriptor.init(FontDescriptor.java:292)
at org.icepdf.core.pobjects.fonts.nfont.Font.init(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.Font.init(Unknown Source)
at org.icepdf.core.pobjects.Resources.getFont(Resources.java:146)
at org.icepdf.core.util.content.AbstractContentParser.consume_Tf(AbstractContentParser.java:719)
at org.icepdf.core.util.content.NContentParser.parseText(Unknown Source)
at org.icepdf.core.util.content.NContentParser.parse(Unknown Source)
at org.icepdf.core.pobjects.Page.init(Page.java:363)
at org.icepdf.ri.common.views.PageViewComponentImpl$PageInitializer.run(PageViewComponentImpl.java:1008)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalStateException
at org.icepdf.core.pobjects.fonts.nfont.NFontTrueType.readMetricsTables(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.NFontTrueType.parse(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.i.<init>(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.NFontTrueType.<init>(Unknown Source)
... 17 more
FINE: Could not create instance oof font file 0
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.icepdf.core.pobjects.fonts.FontFactory.createFontFile(FontFactory.java:151)
at org.icepdf.core.pobjects.fonts.FontDescriptor.init(FontDescriptor.java:292)
at org.icepdf.core.pobjects.fonts.nfont.Font.init(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.Font.init(Unknown Source)
at org.icepdf.core.pobjects.Resources.getFont(Resources.java:146)
at org.icepdf.core.util.content.AbstractContentParser.consume_Tf(AbstractContentParser.java:719)
at org.icepdf.core.util.content.NContentParser.parseText(Unknown Source)
at org.icepdf.core.util.content.NContentParser.parse(Unknown Source)
at org.icepdf.core.pobjects.Page.init(Page.java:363)
at org.icepdf.ri.common.views.PageViewComponentImpl$PageInitializer.run(PageViewComponentImpl.java:1008)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalStateException
at org.icepdf.core.pobjects.fonts.nfont.NFontTrueType.readMetricsTables(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.NFontTrueType.parse(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.i.<init>(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.NFontTrueType.<init>(Unknown Source)
... 17 more
Activity
Field | Original Value | New Value |
---|---|---|
Salesforce Case Reference | 5007000000T59mtAAB |
Status | Open [ 1 ] | Resolved [ 5 ] |
Fix Version/s | 5.0.1 [ 10872 ] | |
Resolution | Fixed [ 1 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #34396 | Fri Apr 12 15:48:04 MDT 2013 | patrick.corless | |
Files Changed | ||||
![]() |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #34729 | Mon May 06 10:53:05 MDT 2013 | patrick.corless | |
Files Changed | ||||
![]() |
Status | Resolved [ 5 ] | Closed [ 6 ] |
The embedded font has a state issue and was throwing an exception. Iv'e updated the logic and added a few length checks. In generally we try to render using the specified font rather then just bailing.
The font in this case is a CID with now Unicode values so being able to correctly parse the font is very important as font substitution will not work.