aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/java/org/apache/fop/cli/CommandLineOptions.java10
-rw-r--r--src/java/org/apache/fop/render/PrintRendererConfigurator.java5
2 files changed, 13 insertions, 2 deletions
diff --git a/src/java/org/apache/fop/cli/CommandLineOptions.java b/src/java/org/apache/fop/cli/CommandLineOptions.java
index 5c561f9a5..313201abd 100644
--- a/src/java/org/apache/fop/cli/CommandLineOptions.java
+++ b/src/java/org/apache/fop/cli/CommandLineOptions.java
@@ -24,6 +24,7 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintStream;
+import java.net.URI;
import java.util.Locale;
import java.util.Map;
import java.util.Vector;
@@ -137,6 +138,8 @@ public class CommandLineOptions {
private boolean flushCache = false;
+ private URI baseURI = new File(".").toURI();
+
/**
* Construct a command line option object.
*/
@@ -465,6 +468,7 @@ public class CommandLineOptions {
this.useStdIn = true;
} else {
fofile = new File(filename);
+ baseURI = fofile.toURI();
}
return 1;
}
@@ -494,6 +498,7 @@ public class CommandLineOptions {
this.useStdIn = true;
} else {
xmlfile = new File(filename);
+ baseURI = xmlfile.toURI();
}
return 1;
}
@@ -783,6 +788,7 @@ public class CommandLineOptions {
this.useStdIn = true;
} else {
areatreefile = new File(filename);
+ baseURI = areatreefile.toURI();
}
return 1;
}
@@ -799,6 +805,7 @@ public class CommandLineOptions {
this.useStdIn = true;
} else {
iffile = new File(filename);
+ baseURI = iffile.toURI();
}
return 1;
}
@@ -815,6 +822,7 @@ public class CommandLineOptions {
this.useStdIn = true;
} else {
imagefile = new File(filename);
+ baseURI = imagefile.toURI();
}
return 1;
}
@@ -1030,7 +1038,7 @@ public class CommandLineOptions {
private void setUserConfig() throws FOPException, IOException {
FopFactoryBuilder fopFactoryBuilder;
if (userConfigFile == null) {
- fopFactoryBuilder = new FopFactoryBuilder(fofile.toURI());
+ fopFactoryBuilder = new FopFactoryBuilder(baseURI);
fopFactoryBuilder.setStrictFOValidation(strictValidation);
fopFactoryBuilder.setTargetResolution(targetResolution);
fopFactoryBuilder.setComplexScriptFeatures(useComplexScriptFeatures);
diff --git a/src/java/org/apache/fop/render/PrintRendererConfigurator.java b/src/java/org/apache/fop/render/PrintRendererConfigurator.java
index 8de2d1a92..96da591c1 100644
--- a/src/java/org/apache/fop/render/PrintRendererConfigurator.java
+++ b/src/java/org/apache/fop/render/PrintRendererConfigurator.java
@@ -36,6 +36,7 @@ import org.apache.fop.fonts.FontManager;
import org.apache.fop.render.RendererConfig.RendererConfigParser;
import org.apache.fop.render.intermediate.IFDocumentHandler;
import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
+import org.apache.fop.render.pdf.PDFRendererConfig.PDFRendererConfigParser;
/**
* Base Print renderer configurator (mostly handles font configuration)
@@ -166,7 +167,9 @@ public abstract class PrintRendererConfigurator extends AbstractRendererConfigur
}
public static PrintRendererConfigurator createDefaultInstance(FOUserAgent userAgent) {
- return new PrintRendererConfigurator(userAgent, null) {
+ // Since PDF is the default output is PDF, it makes sense for the default config parser
+ // to also be the PDF flavour
+ return new PrintRendererConfigurator(userAgent, new PDFRendererConfigParser()) {
@Override
protected List<FontCollection> getDefaultFontCollection() {
throw new UnsupportedOperationException();