Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-2635

ArrayIndexOutOfBoundsException at fonts.GlyphMapping when using PDFTranscoder

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • 1.1
    • None
    • None
    • None

    Description

      Hi batikistas!
      we seem to have found a weird bug when transcoding to pdf.
      I enclose two example svg files that differ only minimally (namely in where the line break is).
      One of them causes an index out of bounds exception:

      java.lang.ArrayIndexOutOfBoundsException: 28
      at org.apache.fop.fonts.GlyphMapping.addToLetterAdjust(GlyphMapping.java:286)
      at org.apache.fop.fonts.GlyphMapping.processWordNoMapping(GlyphMapping.java:248)
      at org.apache.fop.fonts.GlyphMapping.doGlyphMapping(GlyphMapping.java:93)
      at org.apache.fop.svg.font.FOPGVTGlyphVector.performDefaultLayout(FOPGVTGlyphVector.java:94)
      at org.apache.batik.bridge.GlyphLayout.doExplicitGlyphLayout(Unknown Source)
      at org.apache.batik.bridge.GlyphLayout.adjustTextSpacing(Unknown Source)
      at org.apache.batik.bridge.GlyphLayout.getAdvance2D(Unknown Source)
      at org.apache.batik.bridge.StrokingTextPainter.getTextChunk(Unknown Source)
      at org.apache.batik.bridge.StrokingTextPainter.computeTextRuns(Unknown Source)
      at org.apache.fop.svg.NativeTextPainter.computeTextRuns(NativeTextPainter.java:223)
      at org.apache.batik.bridge.StrokingTextPainter.getTextRuns(Unknown Source)
      at org.apache.batik.bridge.StrokingTextPainter.getBounds2D(Unknown Source)
      at org.apache.batik.bridge.TextNode.getPrimitiveBounds(Unknown Source)
      at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedPrimitiveBounds(Unknown Source)
      at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source)
      at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(Unknown Source)
      at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Unknown Source)
      at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source)
      at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(Unknown Source)
      at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Unknown Source)
      at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source)
      at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(Unknown Source)
      at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Unknown Source)
      at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source)
      at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(Unknown Source)
      at org.apache.batik.gvt.AbstractGraphicsNode.getBounds(Unknown Source)
      at org.apache.batik.gvt.AbstractGraphicsNode.paint(Unknown Source)
      at org.apache.fop.svg.PDFTranscoder.transcode(PDFTranscoder.java:185)
      at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown Source)
      at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown Source)

      The files can be found at this link: https://www.dropbox.com/s/3r9wrt7od0pwu2p/svg-Files.zip?dl=0

      Maybe it is related to FOP-2572, although our example does not contain non-breaking spaces.

      Greetings,

      Andy

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              DschingisAK Andreas Kahmann
              Votes:
              3 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: