]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Jeremias Maerki's patch to fix page citations for PostScript rendering.
authorSteve Coffman <gears@apache.org>
Wed, 5 Sep 2001 18:13:19 +0000 (18:13 +0000)
committerSteve Coffman <gears@apache.org>
Wed, 5 Sep 2001 18:13:19 +0000 (18:13 +0000)
Is this broken in other renderers as well?

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

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

index a7836df34cd3095aaa26a7b402818784e965c881..3f803954591537d49444e2839f25390f7ddc4ce2 100644 (file)
@@ -108,6 +108,8 @@ public class PSRenderer extends AbstractRenderer {
 
     private FontInfo fontInfo;
 
+    protected IDReferences idReferences;
+
     protected Hashtable options;
 
 
@@ -611,8 +613,18 @@ public class PSRenderer extends AbstractRenderer {
         FontState fs = area.getFontState();
         String fontWeight = fs.getFontWeight();
         StringBuffer sb = new StringBuffer();
-        String s = area.getText();
+        String s;
+        if (area.getPageNumberID()
+                != null) {    // this text is a page number, so resolve it
+            s = idReferences.getPageNumber(area.getPageNumberID());
+            if (s == null) {
+                s = "";
+            }
+        } else {
+            s = area.getText();
+        }
         int l = s.length();
+        
         for (int i = 0; i < l; i++) {
             char ch = s.charAt(i);
             char mch = fs.mapChar(ch);
@@ -709,6 +721,8 @@ public class PSRenderer extends AbstractRenderer {
      * @param page the page to render
      */
     public void renderPage(Page page) {
+        this.idReferences = page.getIDReferences();
+
         BodyAreaContainer body;
         AreaContainer before, after;
         write("%%Page: " + page.getNumber() + " " + page.getNumber());