Details
-
Type:
Bug
-
Status: Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 5.1
-
Fix Version/s: 6.4
-
Component/s: Font Engine
-
Labels:None
-
Environment:All
-
Support Case References:Support Case #13049 - https://icesoft.my.salesforce.com/5007000000nQkZg
Description
When rendering the provided PDF, the following exception is thrown and prevents the it from rendering correctly:
Sep 25, 2014 9:09:16 AM org.icepdf.core.pobjects.graphics.Shapes paint
FINE: Error painting shapes.
java.lang.ArrayIndexOutOfBoundsException: 12461
at org.icepdf.core.pobjects.fonts.nfont.Encoding.getDiffChar(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.NFontTrueType.drawEstring(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.NFontType0.drawEstring(Unknown Source)
at org.icepdf.core.pobjects.graphics.TextSprite.paint(TextSprite.java:213)
at org.icepdf.core.pobjects.graphics.commands.TextSpriteDrawCmd.paintOperand(TextSpriteDrawCmd.java:49)
at org.icepdf.core.pobjects.graphics.Shapes.paint(Shapes.java:142)
at org.icepdf.core.pobjects.Page.paintPageContent(Page.java:580)
at org.icepdf.core.pobjects.Page.paint(Page.java:527)
at org.icepdf.ri.common.views.PageViewComponentImpl.createBufferedPageImage(PageViewComponentImpl.java:950)
at org.icepdf.ri.common.views.PageViewComponentImpl.access$400(PageViewComponentImpl.java:77)
at org.icepdf.ri.common.views.PageViewComponentImpl$PagePainter.run(PageViewComponentImpl.java:1075)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Sep 25, 2014 9:09:16 AM org.icepdf.core.pobjects.graphics.Shapes paint
FINE: Error painting shapes.
java.lang.ArrayIndexOutOfBoundsException: 12461
at org.icepdf.core.pobjects.fonts.nfont.Encoding.getDiffChar(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.NFontTrueType.drawEstring(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.NFontType0.drawEstring(Unknown Source)
at org.icepdf.core.pobjects.graphics.TextSprite.paint(TextSprite.java:213)
at org.icepdf.core.pobjects.graphics.commands.TextSpriteDrawCmd.paintOperand(TextSpriteDrawCmd.java:49)
at org.icepdf.core.pobjects.graphics.Shapes.paint(Shapes.java:142)
at org.icepdf.core.pobjects.Page.paintPageContent(Page.java:580)
at org.icepdf.core.pobjects.Page.paint(Page.java:527)
at org.icepdf.ri.common.views.PageViewComponentImpl.createBufferedPageImage(PageViewComponentImpl.java:950)
at org.icepdf.ri.common.views.PageViewComponentImpl.access$400(PageViewComponentImpl.java:77)
at org.icepdf.ri.common.views.PageViewComponentImpl$PagePainter.run(PageViewComponentImpl.java:1075)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Activity
Field | Original Value | New Value |
---|---|---|
Fix Version/s | 5.2 [ 10970 ] |
Component/s | Font Engine [ 10024 ] | |
Component/s | Core/Parsing [ 10022 ] |
Fix Version/s | 5.3 [ 12070 ] | |
Fix Version/s | 5.2 [ 10970 ] |
Fix Version/s | 6.1.1 [ 12975 ] | |
Fix Version/s | 6.1 [ 12070 ] |
Fix Version/s | 6.2 [ 12974 ] | |
Fix Version/s | 6.1.1 [ 12975 ] |
This is an interesting PDF document. After apply a check for in index out of bounds issue there appears to be two other issue. The first is a layout issue likely related to a negative Tw value but futher investigation is needed. The second issue is an encoding issue, the OS version is rendering the glyphs correctly unlike the PRO version which should aid in debugging the Pro version.
The message "WARNING: CMAP resource error, could not find file: UniJIS-UCS2-HW-H" likely do to the fact that the icepdf-pro-intl.jar is not on the class path.