[jira] [Updated] (FOP-2468) Render svg throw NPE if use local fonts with metrics xml.

2015-05-18 Thread chunlinyao (JIRA)

 [ 
https://issues.apache.org/jira/browse/FOP-2468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

chunlinyao updated FOP-2468:

Attachment: bug.zip

unzip this zip file in the fop folder. run `./fop -c config.xml bug.fo bug.pdf` 
will reproduce this bug.

 Render svg throw NPE if use local fonts with metrics xml.
 -

 Key: FOP-2468
 URL: https://issues.apache.org/jira/browse/FOP-2468
 Project: Fop
  Issue Type: Bug
  Components: foreign/svg
Affects Versions: trunk
Reporter: chunlinyao
 Attachments: bug.zip, test.fo


 I got a error when use svg with local fonts. It seems boundingboxes is null.
 SVG graphic could not be rendered. Reason: java.lang.NullPointerException
 java.lang.NullPointerException
   at 
 org.apache.fop.fonts.MultiByteFont.getBoundingBox(MultiByteFont.java:210)
   at org.apache.fop.fonts.LazyFont.getBoundingBox(LazyFont.java:301)
   at 
 org.apache.fop.svg.font.FOPGVTGlyphVector.buildBoundingBoxes(FOPGVTGlyphVector.java:428)
   at 
 org.apache.fop.svg.font.FOPGVTGlyphVector.getBoundingBoxes(FOPGVTGlyphVector.java:420)
   at 
 org.apache.fop.svg.font.FOPGVTGlyphVector.getGlyphMetrics(FOPGVTGlyphVector.java:290)
   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.AbstractGraphicsNode.getBounds(Unknown Source)
   at org.apache.batik.gvt.AbstractGraphicsNode.paint(Unknown Source)
   at 
 org.apache.fop.render.pdf.PDFImageHandlerSVG.handleImage(PDFImageHandlerSVG.java:207)
   at 
 org.apache.fop.render.intermediate.AbstractIFPainter.drawImage(AbstractIFPainter.java:249)
   at 
 org.apache.fop.render.intermediate.AbstractIFPainter.drawImage(AbstractIFPainter.java:205)
   at 
 org.apache.fop.render.intermediate.AbstractIFPainter.drawImageUsingImageHandler(AbstractIFPainter.java:170)
   at 
 org.apache.fop.render.intermediate.AbstractIFPainter.drawImageUsingDocument(AbstractIFPainter.java:319)
   at org.apache.fop.render.pdf.PDFPainter.drawImage(PDFPainter.java:232)
   at 
 org.apache.fop.render.intermediate.IFRenderer.renderForeignObject(IFRenderer.java:1308)
   at 
 org.apache.fop.render.AbstractRenderer.renderInlineViewport(AbstractRenderer.java:861)
   at 
 org.apache.fop.render.AbstractPathOrientedRenderer.renderInlineViewport(AbstractPathOrientedRenderer.java:832)
   at 
 org.apache.fop.render.intermediate.IFRenderer.renderInlineViewport(IFRenderer.java:862)
   at 
 org.apache.fop.render.AbstractRenderer.renderInlineArea(AbstractRenderer.java:714)
   at 
 org.apache.fop.render.intermediate.IFRenderer.renderInlineArea(IFRenderer.java:926)
   at 
 org.apache.fop.render.AbstractRenderer.renderLineArea(AbstractRenderer.java:689)
   at 
 org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:571)
   at 
 org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:612)
   at 
 org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:998)
   at 
 org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:556)
   at 
 org.apache.fop.render.AbstractRenderer.renderFlow(AbstractRenderer.java:456)
   at 
 org.apache.fop.render.AbstractPathOrientedRenderer.renderFlow(AbstractPathOrientedRenderer.java:785)
   at 
 org.apache.fop.render.AbstractRenderer.renderMainReference(AbstractRenderer.java:433)
   at 
 org.apache.fop.render.AbstractRenderer.renderBodyRegion(AbstractRenderer.java:357)
   at 
 

[jira] [Updated] (FOP-2468) Render svg throw NPE if use local fonts with metrics xml.

2015-05-12 Thread chunlinyao (JIRA)

 [ 
https://issues.apache.org/jira/browse/FOP-2468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

chunlinyao updated FOP-2468:

Attachment: test.fo

The fo file

 Render svg throw NPE if use local fonts with metrics xml.
 -

 Key: FOP-2468
 URL: https://issues.apache.org/jira/browse/FOP-2468
 Project: Fop
  Issue Type: Bug
  Components: foreign/svg
Affects Versions: trunk
Reporter: chunlinyao
 Attachments: test.fo


 I got a error when use svg with local fonts. It seems boundingboxes is null.
 SVG graphic could not be rendered. Reason: java.lang.NullPointerException
 java.lang.NullPointerException
   at 
 org.apache.fop.fonts.MultiByteFont.getBoundingBox(MultiByteFont.java:210)
   at org.apache.fop.fonts.LazyFont.getBoundingBox(LazyFont.java:301)
   at 
 org.apache.fop.svg.font.FOPGVTGlyphVector.buildBoundingBoxes(FOPGVTGlyphVector.java:428)
   at 
 org.apache.fop.svg.font.FOPGVTGlyphVector.getBoundingBoxes(FOPGVTGlyphVector.java:420)
   at 
 org.apache.fop.svg.font.FOPGVTGlyphVector.getGlyphMetrics(FOPGVTGlyphVector.java:290)
   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.AbstractGraphicsNode.getBounds(Unknown Source)
   at org.apache.batik.gvt.AbstractGraphicsNode.paint(Unknown Source)
   at 
 org.apache.fop.render.pdf.PDFImageHandlerSVG.handleImage(PDFImageHandlerSVG.java:207)
   at 
 org.apache.fop.render.intermediate.AbstractIFPainter.drawImage(AbstractIFPainter.java:249)
   at 
 org.apache.fop.render.intermediate.AbstractIFPainter.drawImage(AbstractIFPainter.java:205)
   at 
 org.apache.fop.render.intermediate.AbstractIFPainter.drawImageUsingImageHandler(AbstractIFPainter.java:170)
   at 
 org.apache.fop.render.intermediate.AbstractIFPainter.drawImageUsingDocument(AbstractIFPainter.java:319)
   at org.apache.fop.render.pdf.PDFPainter.drawImage(PDFPainter.java:232)
   at 
 org.apache.fop.render.intermediate.IFRenderer.renderForeignObject(IFRenderer.java:1308)
   at 
 org.apache.fop.render.AbstractRenderer.renderInlineViewport(AbstractRenderer.java:861)
   at 
 org.apache.fop.render.AbstractPathOrientedRenderer.renderInlineViewport(AbstractPathOrientedRenderer.java:832)
   at 
 org.apache.fop.render.intermediate.IFRenderer.renderInlineViewport(IFRenderer.java:862)
   at 
 org.apache.fop.render.AbstractRenderer.renderInlineArea(AbstractRenderer.java:714)
   at 
 org.apache.fop.render.intermediate.IFRenderer.renderInlineArea(IFRenderer.java:926)
   at 
 org.apache.fop.render.AbstractRenderer.renderLineArea(AbstractRenderer.java:689)
   at 
 org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:571)
   at 
 org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:612)
   at 
 org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:998)
   at 
 org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:556)
   at 
 org.apache.fop.render.AbstractRenderer.renderFlow(AbstractRenderer.java:456)
   at 
 org.apache.fop.render.AbstractPathOrientedRenderer.renderFlow(AbstractPathOrientedRenderer.java:785)
   at 
 org.apache.fop.render.AbstractRenderer.renderMainReference(AbstractRenderer.java:433)
   at 
 org.apache.fop.render.AbstractRenderer.renderBodyRegion(AbstractRenderer.java:357)
   at 
 org.apache.fop.render.AbstractRenderer.renderRegionViewport(AbstractRenderer.java:304)
   at