You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by "Steve Green (JIRA)" <ji...@apache.org> on 2016/02/04 16:43:39 UTC

[jira] [Comment Edited] (FOP-2572) Non-breaking space within a Text node causes an Exception.

    [ https://issues.apache.org/jira/browse/FOP-2572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15132458#comment-15132458 ] 

Steve Green edited comment on FOP-2572 at 2/4/16 3:43 PM:
----------------------------------------------------------

After some casual debugging, it looks like the issue might be here:

GlyphMapping.processWordNoMapping
{noformat}
                if (kern != 0) {
-                   addToLetterAdjust(letterSpaceAdjustArray, i, kern);
+                  addToLetterAdjust(letterSpaceAdjustArray, i - startIndex, kern);
                    wordIPD = wordIPD.plus(kern);
                }
{noformat}


was (Author: lagnat@gmail.com):
After some casual debugging, it looks like the issue might be here:

GlyphMapping.processWordNoMapping

                if (kern != 0) {
-                   addToLetterAdjust(letterSpaceAdjustArray, i, kern);
+                  addToLetterAdjust(letterSpaceAdjustArray, i - startIndex, kern);
                    wordIPD = wordIPD.plus(kern);
                }


> Non-breaking space within a Text node causes an Exception.
> ----------------------------------------------------------
>
>                 Key: FOP-2572
>                 URL: https://issues.apache.org/jira/browse/FOP-2572
>             Project: FOP
>          Issue Type: Bug
>          Components: fo/inline
>    Affects Versions: 2.0
>         Environment: All
>            Reporter: Karl Snyder
>
> A non-breaking space (Option+Space on the Mac) in content will cause the following exception.
> {code}java.lang.ArrayIndexOutOfBoundsException: 14
> 	at org.apache.fop.fonts.GlyphMapping.addToLetterAdjust(GlyphMapping.java:286) ~[fop-2.0.jar:na]
> 	at org.apache.fop.fonts.GlyphMapping.processWordNoMapping(GlyphMapping.java:248) ~[fop-2.0.jar:na]
> 	at org.apache.fop.fonts.GlyphMapping.doGlyphMapping(GlyphMapping.java:93) ~[fop-2.0.jar:na]
> 	at org.apache.fop.svg.font.FOPGVTGlyphVector.performDefaultLayout(FOPGVTGlyphVector.java:94) ~[fop-2.0.jar:na]
> 	at org.apache.batik.bridge.GlyphLayout.doExplicitGlyphLayout(Unknown Source) ~[batik-bridge-1.8.jar:1.8]
> 	at org.apache.batik.bridge.GlyphLayout.adjustTextSpacing(Unknown Source) ~[batik-bridge-1.8.jar:1.8]
> 	at org.apache.batik.bridge.GlyphLayout.getAdvance2D(Unknown Source) ~[batik-bridge-1.8.jar:1.8]
> 	at org.apache.batik.bridge.StrokingTextPainter.getTextChunk(Unknown Source) ~[batik-bridge-1.8.jar:1.8]
> 	at org.apache.batik.bridge.StrokingTextPainter.computeTextRuns(Unknown Source) ~[batik-bridge-1.8.jar:1.8]
> 	at org.apache.fop.svg.NativeTextPainter.computeTextRuns(NativeTextPainter.java:223) ~[fop-2.0.jar:na]
> 	at org.apache.batik.bridge.StrokingTextPainter.getTextRuns(Unknown Source) ~[batik-bridge-1.8.jar:1.8]
> 	at org.apache.batik.bridge.StrokingTextPainter.getBounds2D(Unknown Source) ~[batik-bridge-1.8.jar:1.8]
> 	at org.apache.batik.bridge.TextNode.getPrimitiveBounds(Unknown Source) ~[batik-bridge-1.8.jar:1.8]
> 	at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedPrimitiveBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.AbstractGraphicsNode.getBounds(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.batik.gvt.AbstractGraphicsNode.paint(Unknown Source) ~[batik-gvt-1.8.jar:1.8]
> 	at org.apache.fop.svg.PDFTranscoder.transcode(PDFTranscoder.java:185) ~[fop-2.0.jar:na]
> 	at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown Source) ~[batik-transcoder-1.8.jar:1.8]
> 	at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown Source) ~[batik-transcoder-1.8.jar:1.8]
> ...{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)