]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Merged revisions 718557,718570,718591 via svnmerge from
authorAdrian Cumiskey <acumiskey@apache.org>
Tue, 18 Nov 2008 14:01:48 +0000 (14:01 +0000)
committerAdrian Cumiskey <acumiskey@apache.org>
Tue, 18 Nov 2008 14:01:48 +0000 (14:01 +0000)
https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk

........
  r718557 | vhennebert | 2008-11-18 11:10:19 +0000 (Tue, 18 Nov 2008) | 2 lines

  Improved the FAQ by creating a separate entry for the problem about keep-together on table-cell, and the added support for inline keeps in 0.95
........
  r718570 | jeremias | 2008-11-18 13:16:32 +0000 (Tue, 18 Nov 2008) | 1 line

  Update conference ads.
........
  r718591 | acumiskey | 2008-11-18 13:56:52 +0000 (Tue, 18 Nov 2008) | 2 lines

  TextHandler interface changes, the Graphics2D implementation is now passed to drawString().
........

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_AFPGOCAResources@718594 13f79535-47bb-0310-9956-ffa450edef68

lib/xmlgraphics-commons-1.4svn.jar
src/documentation/content/xdocs/faq.xml
src/documentation/skinconf.xml
src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java
src/java/org/apache/fop/render/ps/NativeTextHandler.java
src/java/org/apache/fop/render/ps/PSSVGHandler.java

index 0932ac0e1ab38f99418283f9ef39c0f6c4e3fe52..16ac2ef32e7fd0190f99273c566866761e3e6923 100644 (file)
Binary files a/lib/xmlgraphics-commons-1.4svn.jar and b/lib/xmlgraphics-commons-1.4svn.jar differ
index f05f0712634b6c3478edaf2de8612220c2eecfc0..1838a416a0890ec037466a0e803662e51c21a231 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -639,15 +639,25 @@ Check the following:</p>
           <link href="http://www.mulberrytech.com/xsl/xsl-list/">XSL list
           archive</link> for how to perform these tasks.
         </p>
-        <p>
-          If your text is not hyphenated at all and overflows the cell, please check
-          if you've specified <code>keep-together="always"</code> on the table-cell
-          or one of its parent elements. <code>keep-together="always"</code> implicitely
-          also sets <code>keep-together.within-line="always"</code> which forbids FOP
-          to break the text into multiple lines. This is important as FOP supports inline-level
-          keeps since version 0.94. It's a good idea not to use the shorthand
-          <code>keep-together="always"</code> at all!
-        </p>
+      </answer>
+    </faq>
+    <faq id="table-cell-wrap">
+      <question>The contents of table cells don’t wrap</question>
+      <answer>
+        <p>You probably have <code>keep-together="always"</code> set on the table cell. See <link 
+            href="#keep-together">next question</link>.</p>
+      </answer>
+    </faq>
+    <faq id="keep-together">
+      <question>FOP 0.95 and FOP 0.94 behave differently when <code>keep-together="always"</code> 
+        is set on table cells</question>
+      <answer>
+        <p>Support for inline-level keeps has been added in FOP 0.95, and setting 
+          <code>keep-together="always"</code> also implicitly sets 
+          <code>keep-together.within-line="always"</code>, which forbids FOP
+          to break the text into multiple lines. Set 
+          <code>keep-together.within-column="always"</code> on table-cell instead. It’s a good idea 
+          not to use the shorthand <code>keep-together="always"</code> at all!</p>
       </answer>
     </faq>
     <faq id="row-height-constraint">
index 20b12808edbd35d75bf3fefae8bd46b65c4c67d1..a6a5ac65f09854f58ab4637ce5b3cb2ab6734d4e 100644 (file)
@@ -369,19 +369,17 @@ which will be used to configure the chosen Forrest skin.
       <width>88</width>
       <height>31</height>
     </credit>
-    <!--
     <credit box-location="alt2">
-      <name>ApacheCon Europe 2008</name>
+      <name>ApacheCon Europe 2009</name>
       <url>http://eu.apachecon.com/</url>
-      <image>http://apache.org/ads/ApacheCon/2008-europe-125x125.png</image>
+      <image>http://apache.org/ads/ApacheCon/2009-europe-125x125.png</image>
       <width>125</width>
       <height>125</height>
     </credit>
-    -->
     <credit box-location="alt2">
-      <name>ApacheCon US 2008</name>
+      <name>ApacheCon US 2009</name>
       <url>http://us.apachecon.com/</url>
-      <image>http://apache.org/ads/ApacheCon/2008-usa-125x125.png</image>
+      <image>http://apache.org/ads/ApacheCon/2009-usa-125x125.png</image>
       <width>125</width>
       <height>125</height>
     </credit>
index b8ff8ef3fb18922b0db024ce41ca469974e37f84..374b5a2560d17238bbf56e0fda5f5dbc3dffd007 100644 (file)
@@ -25,21 +25,20 @@ import java.io.BufferedOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 
-import org.w3c.dom.Document;
-import org.w3c.dom.svg.SVGLength;
-
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.batik.bridge.BridgeContext;
 import org.apache.batik.bridge.UnitProcessor;
 import org.apache.batik.transcoder.TranscoderException;
 import org.apache.batik.transcoder.TranscoderOutput;
 import org.apache.batik.transcoder.image.ImageTranscoder;
-import org.apache.xmlgraphics.java2d.ps.AbstractPSDocumentGraphics2D;
-import org.apache.xmlgraphics.java2d.TextHandler;
-
 import org.apache.fop.fonts.FontInfo;
 import org.apache.fop.fonts.FontSetup;
 import org.apache.fop.svg.AbstractFOPTranscoder;
+import org.apache.xmlgraphics.java2d.TextHandler;
+import org.apache.xmlgraphics.java2d.ps.AbstractPSDocumentGraphics2D;
+import org.apache.xmlgraphics.ps.PSGenerator;
+import org.w3c.dom.Document;
+import org.w3c.dom.svg.SVGLength;
 
 /**
  * This class enables to transcode an input to a PostScript document.
@@ -70,7 +69,7 @@ import org.apache.fop.svg.AbstractFOPTranscoder;
  */
 public abstract class AbstractPSTranscoder extends AbstractFOPTranscoder {
 
-    private   Configuration                cfg      = null;
+    private final   Configuration                cfg      = null;
     protected AbstractPSDocumentGraphics2D graphics = null;
 
     /**
@@ -99,7 +98,8 @@ public abstract class AbstractPSTranscoder extends AbstractFOPTranscoder {
             FontInfo fontInfo = new FontInfo();
             //TODO Do custom font configuration here somewhere/somehow
             FontSetup.setup(fontInfo);
-            graphics.setCustomTextHandler(new NativeTextHandler(graphics, fontInfo));
+            PSGenerator generator = graphics.getPSGenerator();
+            graphics.setCustomTextHandler(new NativeTextHandler(generator, fontInfo));
         }
 
         super.transcode(document, uri, output);
index 9f62097e912130725fd4371ff90cd68ab1198a6e..98addd19e6f72d4cd2d7963f877c6b8a771c00c1 100644 (file)
@@ -19,6 +19,7 @@
 
 package org.apache.fop.render.ps;
 
+import java.awt.Graphics2D;
 import java.awt.Shape;
 import java.awt.geom.AffineTransform;
 import java.io.IOException;
@@ -37,7 +38,7 @@ import org.apache.xmlgraphics.ps.PSGenerator;
  */
 public class NativeTextHandler implements PSTextHandler {
 
-    private PSGraphics2D g2d;
+    private final PSGenerator gen;
 
     /** FontInfo containing all available fonts */
     protected FontInfo fontInfo;
@@ -59,8 +60,8 @@ public class NativeTextHandler implements PSTextHandler {
      * @param g2d the PSGraphics2D instance this instances is used by
      * @param fontInfo the FontInfo object with all available fonts
      */
-    public NativeTextHandler(PSGraphics2D g2d, FontInfo fontInfo) {
-        this.g2d = g2d;
+    public NativeTextHandler(PSGenerator gen, FontInfo fontInfo) {
+        this.gen = gen;
         if (fontInfo != null) {
             this.fontInfo = fontInfo;
         } else {
@@ -83,7 +84,7 @@ public class NativeTextHandler implements PSTextHandler {
     }
 
     private PSGenerator getPSGenerator() {
-        return this.g2d.getPSGenerator();
+        return this.gen;
     }
 
     /** {@inheritDoc} */
@@ -98,12 +99,19 @@ public class NativeTextHandler implements PSTextHandler {
         //nop
     }
 
+    /** {@inheritDoc} */
+    public void drawString(String text, float x, float y) throws IOException {
+        // TODO Remove me after removing the deprecated method in TextHandler.
+        throw new UnsupportedOperationException("Deprecated method!");
+    }
+
     /**
      * Draw a string to the PostScript document. The text is painted using
      * text operations.
      * {@inheritDoc}
      */
-    public void drawString(String s, float x, float y) throws IOException {
+    public void drawString(Graphics2D g, String s, float x, float y) throws IOException {
+        PSGraphics2D g2d = (PSGraphics2D)g;
         g2d.preparePainting();
         if (this.overrideFont == null) {
             java.awt.Font awtFont = g2d.getFont();
index d4a478fa455d64beea730c8d3b29f7501dcba689..2bc0f069bc29a8454cd050cb99a635bd288def45 100644 (file)
@@ -24,18 +24,12 @@ import java.awt.geom.AffineTransform;
 import java.io.IOException;
 import java.util.Map;
 
-import org.w3c.dom.Document;
-
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.batik.bridge.BridgeContext;
 import org.apache.batik.bridge.GVTBuilder;
 import org.apache.batik.gvt.GraphicsNode;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
-import org.apache.xmlgraphics.java2d.ps.PSGraphics2D;
-import org.apache.xmlgraphics.ps.PSGenerator;
-
 import org.apache.fop.fonts.FontInfo;
 import org.apache.fop.render.AbstractGenericSVGHandler;
 import org.apache.fop.render.Renderer;
@@ -43,6 +37,9 @@ import org.apache.fop.render.RendererContext;
 import org.apache.fop.render.RendererContextConstants;
 import org.apache.fop.svg.SVGEventProducer;
 import org.apache.fop.svg.SVGUserAgent;
+import org.apache.xmlgraphics.java2d.ps.PSGraphics2D;
+import org.apache.xmlgraphics.ps.PSGenerator;
+import org.w3c.dom.Document;
 
 /**
  * PostScript XML handler for SVG. Uses Apache Batik for SVG processing.
@@ -262,7 +259,9 @@ public class PSSVGHandler extends AbstractGenericSVGHandler
         NativeTextHandler nativeTextHandler = null;
         BridgeContext ctx = new BridgeContext(ua);
         if (!strokeText) {
-            nativeTextHandler = new NativeTextHandler(graphics, psInfo.getFontInfo());
+            PSGenerator generator = graphics.getPSGenerator();
+            FontInfo fontInfo = psInfo.getFontInfo();
+            nativeTextHandler = new NativeTextHandler(generator, fontInfo);
             graphics.setCustomTextHandler(nativeTextHandler);
             PSTextPainter textPainter = new PSTextPainter(nativeTextHandler);
             ctx.setTextPainter(textPainter);
@@ -283,8 +282,8 @@ public class PSSVGHandler extends AbstractGenericSVGHandler
         float w = (float)ctx.getDocumentSize().getWidth() * 1000f;
         float h = (float)ctx.getDocumentSize().getHeight() * 1000f;
 
-        float sx = psInfo.getWidth() / (float)w;
-        float sy = psInfo.getHeight() / (float)h;
+        float sx = psInfo.getWidth() / w;
+        float sy = psInfo.getHeight() / h;
 
         ctx = null;
         builder = null;