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

Andreas L. Delmelle edited comment on FOP-2468 at 5/19/15 6:11 PM:
-------------------------------------------------------------------

D'oooh... Metrics files. I completely missed that! I am so used to relying on 
auto-detection that I almost forgot FOP still supports those.

I will look into it closer and keep you posted. Apologies again for misreading 
your initial post.

UPDATE - Checking the website, I noticed that in current trunk <quote>Font 
registration via XML font metrics has been deprecated and is not recommended 
although it is still supported by the current code.</quote> 
See: http://xmlgraphics.apache.org/fop/trunk/fonts.html)

Seems like the latter is not entirely true anymore, at least not for all 
cases... This obviously makes me somewhat reluctant to spend time on fixing 
this. 
Can you let us know more about your use case, and why exactly you cannot rely 
on auto-detection or the other mechanisms? Do you intend to package the 
metrics.xml with your own application, perhaps?


was (Author: adelmelle):
D'oooh... Metrics files. I completely missed that! I am so used to relying on 
auto-detection that I almost forgot FOP still supports those.

I will look into it closer and keep you posted. Apologies again for misreading 
your initial post.

> 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 
> org.apache.fop.render.AbstractRenderer.renderRegionViewport(AbstractRenderer.java:304)
>       at 
> org.apache.fop.render.intermediate.IFRenderer.renderRegionViewport(IFRenderer.java:737)
>       at 
> org.apache.fop.render.AbstractRenderer.renderPageAreas(AbstractRenderer.java:278)
>       at 
> org.apache.fop.render.AbstractRenderer.renderPage(AbstractRenderer.java:243)
>       at 
> org.apache.fop.render.intermediate.IFRenderer.renderPage(IFRenderer.java:585)
>       at 
> org.apache.fop.area.RenderPagesModel.addPage(RenderPagesModel.java:123)
>       at 
> org.apache.fop.layoutmgr.AbstractPageSequenceLayoutManager.finishPage(AbstractPageSequenceLayoutManager.java:315)
>       at 
> org.apache.fop.layoutmgr.PageSequenceLayoutManager.finishPage(PageSequenceLayoutManager.java:213)
>       at 
> org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:137)
>       at 
> org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267)
>       at 
> org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:130)
>       at 
> org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:360)
>       at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190)
>       at 
> org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101)
>       at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown 
> Source)
>       at org.apache.xerces.xinclude.XIncludeHandler.endElement(Unknown Source)
>       at 
> org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
>       at 
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
>  Source)
>       at 
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 
> Source)
>       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>       at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>       at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>       at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown 
> Source)
>       at 
> org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
>       at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:285)
>       at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115)
>       at org.apache.fop.cli.Main.startFOP(Main.java:186)
>       at org.apache.fop.cli.Main.main(Main.java:217)



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

Reply via email to