Hi!

I've googled for breaking changes of an apache fop 2.6 -> 2.7 update, but I
have got nowhere.

After a fop update from 2.6 to 2.7, my application fails to resolve
embedded font files from the jar classpath. A resolver is registered at
"new FopFactoryBuilder(new File(".").toURI(), resolver)",
"transformerFactory.setUriResolver(resolver)" and
"transformer.setURIResolver(resolver)" but get's not called on embedded
fonts. However, this stacktrace is printed:

SEVERE: Failed to read font file myProject/fonts/myFont.ttf (No such file
or directory)
java.io.FileNotFoundException: <basePath (from new
File("."))>/myProject/fonts/myFont.ttf (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
at
sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
at
sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
at java.net.URL.openStream(URL.java:1045)
at
org.apache.fop.apps.io.ResourceResolverFactory$NormalResourceResolver.getResource(ResourceResolverFactory.java:224)
at
org.apache.fop.apps.io.ResourceResolverFactory$TempAwareResourceResolver.getResource(ResourceResolverFactory.java:152)
at
org.apache.fop.apps.io.ResourceResolverFactory$DefaultResourceResolver.getResource(ResourceResolverFactory.java:121)
at
org.apache.fop.apps.io.InternalResourceResolver.getResource(InternalResourceResolver.java:92)
at org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:113)
at org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103)
at org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126)
at org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110)
at org.apache.fop.fonts.LazyFont.load(LazyFont.java:121)
at org.apache.fop.fonts.LazyFont.getAscender(LazyFont.java:237)
at org.apache.fop.fonts.Font.getAscender(Font.java:120)
at
org.apache.fop.layoutmgr.BlockLayoutManager.initialize(BlockLayoutManager.java:82)
at
org.apache.fop.layoutmgr.AbstractLayoutManager.getChildLM(AbstractLayoutManager.java:118)
at
org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:108)
at
org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:69)
at
org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:252)
at
org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:675)
at
org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:179)
at
org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:159)
at
org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:385)
at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:113)
at
org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:143)
at
org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267)
at
org.apache.fop.fo.DelegatingFOEventHandler.endPageSequence(DelegatingFOEventHandler.java:114)
at
org.apache.fop.accessibility.fo.FO2StructureTreeConverter.endPageSequence(FO2StructureTreeConverter.java:184)
at
org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:140)
at
org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:390)
at org.apache.fop.fo.FOTreeBuilder$3.run(FOTreeBuilder.java:207)
at org.apache.fop.fo.FOTreeBuilder$3.run(FOTreeBuilder.java:204)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:203)
at
org.apache.xml.serializer.ToXMLSAXHandler.endElement(ToXMLSAXHandler.java:263)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1401)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:141)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2272)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1358)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:711)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1275)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1253)

How can I reenable font resolving in fop 2.7?

Thanks
Stefan

Reply via email to