FOP-2753: PDF to PS allow fop fonts as fallback
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop-pdf-images/trunk@1817383 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java b/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
index c9bcb1c..50a2d0f 100644
--- a/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
+++ b/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
@@ -320,6 +320,10 @@
public CIDFontMapping getCIDFont(String baseFont, PDFontDescriptor fontDescriptor,
PDCIDSystemInfo cidSystemInfo) {
+ TrueTypeFont ttFont = getTrueTypeFont(baseFont);
+ if (ttFont != null) {
+ return new CIDFontMapping(null, ttFont, true);
+ }
return defaultFontMapper.getCIDFont(baseFont, fontDescriptor, cidSystemInfo);
}
}
diff --git a/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java b/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java
index 39c1d53..4ac7321 100644
--- a/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java
+++ b/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java
@@ -46,11 +46,15 @@
public class ImageConverterPDF2G2DTestCase {
private static final String FONTSNOTEMBEDDED = "test/resources/fontsnotembedded.pdf";
+ private static final String FONTSNOTEMBEDDEDCID = "test/resources/fontsnotembeddedcid.pdf";
@Test
public void testFontsNotEmbedded() throws IOException, ImageException {
Assert.assertTrue(pdfToPS(FONTSNOTEMBEDDED, "Helvetica-Bold"));
Assert.assertFalse(pdfToPS(FONTSNOTEMBEDDED, "xyz"));
+
+ Assert.assertTrue(pdfToPS(FONTSNOTEMBEDDEDCID, "NewsMinIWA-Th"));
+ Assert.assertFalse(pdfToPS(FONTSNOTEMBEDDEDCID, "xyz"));
}
private boolean pdfToPS(String pdf, String font) throws IOException, ImageException {
@@ -68,7 +72,7 @@
Rectangle2D rect = new Rectangle2D.Float(0, 0, 100, 100);
GraphicContext gc = new GraphicContext();
g2d.setGraphicContext(gc);
- ig.getGraphics2DImagePainter().paint(g2d, rect);
+ g.paint(g2d, rect);
doc.close();
return lazyFont.font.fontUsed;
}
diff --git a/test/resources/fontsnotembeddedcid.pdf b/test/resources/fontsnotembeddedcid.pdf
new file mode 100755
index 0000000..195cc78
--- /dev/null
+++ b/test/resources/fontsnotembeddedcid.pdf
Binary files differ