Hi, Please, can you file in a JIRA ticket to keep this in in mind.
2016-03-21 17:09 GMT+01:00 Adam Retter <adam.ret...@googlemail.com>: > Thanks for getting back to me Chris, > > Okay that makes sense to me then, and I was able to work with custom > resolvers to get around the issue I have. > > However, you still have references in both your code and documentation > to <font-base>, so it is not obvious that this has been removed! > Perhaps a little clean-up is in order ;-) > > On 21 March 2016 at 11:19, Chris Bowditch <bowditch_ch...@hotmail.com> wrote: >> Hi Adam, >> >> I believe FOP Base was intentionally removed when FOP IO was reworked in the >> v2.0 release. Which version are you upgrading from? >> >> I seem to recall the developers couldn't think of a use case where Font Base >> would need to differ from wildly from Base, and so Font Base was >> consolidated with Base. >> >> Thanks, >> >> Chris >> >> >> On 11/03/2016 22:39, Adam Retter wrote: >>> >>> It seems that fonts are not being resolved relative to the font-base >>> config parameter in 2.1, instead they are being resolved directly by >>> the ResourceResolver. This looks like a bug to me, can anyone confirm? >>> >>> I have a FOP configuration file like this: >>> >>> <fop version="1.0"> >>> <!-- Strict user configuration --> >>> <strict-configuration>true</strict-configuration> >>> >>> <!-- Strict FO validation --> >>> <strict-validation>false</strict-validation> >>> >>> <!-- Base URL for resolving relative URLs --> >>> <base>./</base> >>> >>> <!-- Font Base URL for resolving relative font URLs --> >>> >>> <font-base>http://localhost:8080/exist/apps/tei-simple/resources/fonts/</font-base> >>> <renderers> >>> <renderer mime="application/pdf"> >>> <fonts> >>> <font kerning="yes" >>> embed-url="Junicode.ttf" >>> encoding-mode="single-byte"> >>> <font-triplet name="Junicode" style="normal" >>> weight="normal"/> >>> </font> >>> <font kerning="yes" >>> embed-url="Junicode-Bold.ttf" >>> encoding-mode="single-byte"> >>> <font-triplet name="Junicode" style="normal" >>> weight="700"/> >>> </font> >>> <font kerning="yes" >>> embed-url="Junicode-Italic.ttf" >>> encoding-mode="single-byte"> >>> <font-triplet name="Junicode" style="italic" >>> weight="normal"/> >>> </font> >>> <font kerning="yes" >>> embed-url="Junicode-BoldItalic.ttf" >>> encoding-mode="single-byte"> >>> <font-triplet name="Junicode" style="italic" >>> weight="700"/> >>> </font> >>> </fonts> >>> </renderer> >>> </renderers> >>> </fop> >>> >>> >>> And I instantiate FOP like so: >>> >>> ResourceResolver resolver = >>> >>> ResourceResolverFactory.createSchemeAwareResourceResolverBuilder(ResourceResolverFactory.createDefaultResourceResolver()).build(); >>> EnvironmentProfile environment = >>> EnvironmentalProfileFactory.createDefault(new URI("file:///db"), >>> resolver); >>> final FopFactoryBuilder = builder = new >>> FopFactoryBuilder(environment).setConfiguration(configFile); >>> final FopFactory fopFactory = builder.build(); >>> >>> When I run my FO transformation I then get an error like: >>> >>> Caused by: java.io.FileNotFoundException: /Junicode.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.ResourceResolverFactory$SchemeAwareResourceResolver.getResource(ResourceResolverFactory.java:256) >>> at >>> org.apache.fop.apps.io.InternalResourceResolver.getResource(InternalResourceResolver.java:92) >>> at org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) >>> at org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:93) >>> at org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:124) >>> at org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:108) >>> at org.apache.fop.fonts.LazyFont.load(LazyFont.java:116) >>> >>> >>> When I look through the FOP 2.1 code-base I see that the `font-base` >>> only seems to be read in FontManagerConfigurator#configure, however >>> that code-path is never executed when I run my app. >>> >>> Any thoughts? >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org >> For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org >> > > > > -- > Adam Retter > > skype: adam.retter > tweet: adamretter > http://www.adamretter.org.uk > > --------------------------------------------------------------------- > To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org > For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org > -- pascal --------------------------------------------------------------------- To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org