From 08f39c78ca6447b59b38c1e0c5c18962e4577c1e Mon Sep 17 00:00:00 2001 From: Steve Coffman Date: Wed, 5 Sep 2001 18:13:19 +0000 Subject: [PATCH] Jeremias Maerki's patch to fix page citations for PostScript rendering. 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 | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/org/apache/fop/render/ps/PSRenderer.java b/src/org/apache/fop/render/ps/PSRenderer.java index a7836df34..3f8039545 100644 --- a/src/org/apache/fop/render/ps/PSRenderer.java +++ b/src/org/apache/fop/render/ps/PSRenderer.java @@ -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()); -- 2.39.5