]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Add support for character area.
authorJeremias Maerki <jeremias@apache.org>
Fri, 26 Aug 2005 15:18:07 +0000 (15:18 +0000)
committerJeremias Maerki <jeremias@apache.org>
Fri, 26 Aug 2005 15:18:07 +0000 (15:18 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@240261 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/render/ps/PSRenderer.java

index 9f50f9769e720f7ee18423666651e36a82b16c43..caf2e00c875d98a093cc183dcd238d175f9df730 100644 (file)
@@ -37,6 +37,8 @@ import org.apache.fop.area.CTM;
 import org.apache.fop.area.PageViewport;
 import org.apache.fop.area.RegionViewport;
 import org.apache.fop.area.Trait;
+import org.apache.fop.area.inline.AbstractTextArea;
+import org.apache.fop.area.inline.Character;
 import org.apache.fop.area.inline.ForeignObject;
 import org.apache.fop.area.inline.Image;
 import org.apache.fop.area.inline.InlineParent;
@@ -691,10 +693,25 @@ public class PSRenderer extends AbstractPathOrientedRenderer {
         }
     }
 
+    /**
+     * @see org.apache.fop.render.AbstractRenderer#renderCharacter(Character)
+     */
+    public void renderCharacter(Character ch) {
+        String text = ch.getChar();
+        renderText(ch, text);
+        super.renderCharacter(ch); //Updates IPD
+    }
+
     /**
      * @see org.apache.fop.render.AbstractRenderer#renderText(TextArea)
      */
     public void renderText(TextArea area) {
+        String text = area.getTextArea();
+        renderText(area, text);
+        super.renderText(area); //Updates IPD
+    }
+    
+    private void renderText(AbstractTextArea area, String text) {
         String fontname = (String)area.getTrait(Trait.FONT_NAME);
         int fontsize = area.getTraitAsInteger(Trait.FONT_SIZE);
 
@@ -724,7 +741,6 @@ public class PSRenderer extends AbstractPathOrientedRenderer {
                     + " the PS renderer and not currently supported by the layout engine.");
         }
         
-        String text = area.getTextArea();
         beginTextObject();
         writeln("1 0 0 -1 " + gen.formatDouble(rx / 1000f) 
                 + " " + gen.formatDouble(bl / 1000f) + " Tm");
@@ -773,7 +789,6 @@ public class PSRenderer extends AbstractPathOrientedRenderer {
         writeln(sb.toString());
 
         renderTextDecoration(tf, fontsize, area, bl, rx);
-        super.renderText(area); //Updates IPD
     }
 
     /** @see org.apache.fop.render.AbstractPathOrientedRenderer#breakOutOfStateStack() */