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