Author: jeremias
Date: Tue Mar 24 08:08:54 2009
New Revision: 757681

URL: http://svn.apache.org/viewvc?rev=757681&view=rev
Log:
Amendment to revision 755894:
The mimicking fix didn't work for all output formats.

Modified:
    
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/PrintRendererConfigurator.java
    
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/intermediate/IFUtil.java
    
xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java
    xmlgraphics/fop/trunk/test/test-no-xml-metrics.xconf

Modified: 
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/PrintRendererConfigurator.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/PrintRendererConfigurator.java?rev=757681&r1=757680&r2=757681&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/PrintRendererConfigurator.java
 (original)
+++ 
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/PrintRendererConfigurator.java
 Tue Mar 24 08:08:54 2009
@@ -29,7 +29,6 @@
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.FopFactory;
 import org.apache.fop.fonts.CustomFontCollection;
-import org.apache.fop.fonts.FontCache;
 import org.apache.fop.fonts.FontCollection;
 import org.apache.fop.fonts.FontEventAdapter;
 import org.apache.fop.fonts.FontEventListener;
@@ -40,8 +39,6 @@
 import org.apache.fop.fonts.base14.Base14FontCollection;
 import org.apache.fop.render.intermediate.IFDocumentHandler;
 import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
-import org.apache.fop.render.intermediate.IFUtil;
-import org.apache.fop.util.LogUtil;
 
 /**
  * Base Print renderer configurator (mostly handles font configuration)
@@ -108,7 +105,7 @@
         fontInfoConfigurator.configure(fontInfoList);
         return fontInfoList;
     }
-    
+
     // ---=== IFDocumentHandler configuration ===---
 
     /** {...@inheritdoc} */
@@ -123,7 +120,7 @@
         List fontCollections = new java.util.ArrayList();
         fontCollections.add(new 
Base14FontCollection(fontManager.isBase14KerningEnabled()));
 
-        Configuration cfg = 
super.getRendererConfig(IFUtil.getEffectiveMIMEType(documentHandler));
+        Configuration cfg = 
super.getRendererConfig(documentHandler.getMimeType());
         if (cfg != null) {
             FontResolver fontResolver = new DefaultFontResolver(userAgent);
             FontEventListener listener = new FontEventAdapter(

Modified: 
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/intermediate/IFUtil.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/intermediate/IFUtil.java?rev=757681&r1=757680&r2=757681&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/intermediate/IFUtil.java 
(original)
+++ 
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/intermediate/IFUtil.java 
Tue Mar 24 08:08:54 2009
@@ -153,6 +153,13 @@
         if (fontInfo == null) {
             fontInfo = new FontInfo();
         }
+        if (documentHandler instanceof IFSerializer) {
+            IFSerializer serializer = (IFSerializer)documentHandler;
+            if (serializer.getMimickedDocumentHandler() != null) {
+                //Use the mimicked document handler's configurator to set up 
fonts
+                documentHandler = serializer.getMimickedDocumentHandler();
+            }
+        }
         IFDocumentHandlerConfigurator configurator = 
documentHandler.getConfigurator();
         if (configurator != null) {
             configurator.setupFontInfo(documentHandler, fontInfo);

Modified: 
xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java?rev=757681&r1=757680&r2=757681&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java
 (original)
+++ 
xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java
 Tue Mar 24 08:08:54 2009
@@ -31,6 +31,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.Fop;
 import org.apache.fop.apps.FopFactory;
@@ -40,6 +41,7 @@
 import org.apache.fop.events.EventListener;
 import org.apache.fop.render.intermediate.IFContext;
 import org.apache.fop.render.intermediate.IFDocumentHandler;
+import org.apache.fop.render.intermediate.IFException;
 import org.apache.fop.render.intermediate.IFSerializer;
 
 /**
@@ -47,15 +49,42 @@
  */
 public class IFMimickingTestCase extends TestCase {
 
+    private FopFactory fopFactory;
+
+    /** {...@inheritdoc} */
+    protected void setUp() throws Exception {
+        super.setUp();
+        fopFactory = FopFactory.newInstance();
+        File configFile = new File("test/test-no-xml-metrics.xconf");
+        fopFactory.setUserConfig(configFile);
+    }
+
     /**
-     * Tests IF document handler mimicking.
+     * Tests IF document handler mimicking with PDF output.
      * @throws Exception if an error occurs
      */
-    public void testMimicking() throws Exception {
-        FopFactory fopFactory = FopFactory.newInstance();
-        File configFile = new File("test/test-no-xml-metrics.xconf");
-        fopFactory.setUserConfig(configFile);
+    public void testMimickingPDF() throws Exception {
+        doTestMimicking(MimeConstants.MIME_PDF);
+    }
+
+    /**
+     * Tests IF document handler mimicking with PostScript output.
+     * @throws Exception if an error occurs
+     */
+    public void testMimickingPS() throws Exception {
+        doTestMimicking(MimeConstants.MIME_POSTSCRIPT);
+    }
+
+    /**
+     * Tests IF document handler mimicking with TIFF output.
+     * @throws Exception if an error occurs
+     */
+    public void testMimickingTIFF() throws Exception {
+        doTestMimicking(MimeConstants.MIME_TIFF);
+    }
 
+    private void doTestMimicking(String mime) throws FOPException, IFException,
+            TransformerException {
         //Set up XMLRenderer to render to a DOM
         DOMResult domResult = new DOMResult();
 
@@ -73,7 +102,7 @@
 
         //Create an instance of the target renderer so the XMLRenderer can use 
its font setup
         IFDocumentHandler targetHandler = 
userAgent.getRendererFactory().createDocumentHandler(
-                userAgent, MimeConstants.MIME_PDF);
+                userAgent, mime);
 
         //Setup painter
         IFSerializer serializer = new IFSerializer();

Modified: xmlgraphics/fop/trunk/test/test-no-xml-metrics.xconf
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/test-no-xml-metrics.xconf?rev=757681&r1=757680&r2=757681&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/test-no-xml-metrics.xconf (original)
+++ xmlgraphics/fop/trunk/test/test-no-xml-metrics.xconf Tue Mar 24 08:08:54 
2009
@@ -22,5 +22,23 @@
         </font>
       </fonts>
     </renderer>
+    <renderer mime="application/postscript">
+      <fonts>
+        <font embed-url="glb12.ttf" kerning="yes">
+          <font-triplet name="Gladiator Bold" style="normal" weight="normal"/>
+          <font-triplet name="Gladiator" style="normal" weight="bold"/>
+          <font-triplet name="Gladiator" style="normal" weight="normal"/>
+        </font>
+      </fonts>
+    </renderer>
+    <renderer mime="image/tiff">
+      <fonts>
+        <font embed-url="glb12.ttf" kerning="yes">
+          <font-triplet name="Gladiator Bold" style="normal" weight="normal"/>
+          <font-triplet name="Gladiator" style="normal" weight="bold"/>
+          <font-triplet name="Gladiator" style="normal" weight="normal"/>
+        </font>
+      </fonts>
+    </renderer>
   </renderers>
 </fop>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to