[FOray-commit] SF.net SVN: foray: [7721] trunk/foray/foray-pdf/src/java/org/foray/pdf/object
Modular XSL-FO Implementation for Java.
Status: Alpha
Brought to you by:
victormote
|
From: <vic...@us...> - 2006-06-19 23:26:42
|
Revision: 7721 Author: victormote Date: 2006-06-19 16:26:34 -0700 (Mon, 19 Jun 2006) ViewCVS: http://svn.sourceforge.net/foray/?rev=7721&view=rev Log Message: ----------- Don't pass a font in to PDFTextPainter. The font used should be resolved from the SVG itself. Modified Paths: -------------- trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFContentStream.java trunk/foray/foray-pdf/src/java/org/foray/pdf/svg/batik/PDFTextPainter.java trunk/foray/foray-pdf/src/java/org/foray/pdf/svg/batik/PDFTranscoder.java Modified: trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFContentStream.java =================================================================== --- trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFContentStream.java 2006-06-19 23:15:34 UTC (rev 7720) +++ trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFContentStream.java 2006-06-19 23:26:34 UTC (rev 7721) @@ -344,7 +344,8 @@ if (strokeSVGText) { textPainter = new StrokingTextPainter(); } else { - textPainter = new PDFTextPainter(getLogger(), font); + textPainter = new PDFTextPainter(getLogger(), + font.getFontConsumer()); } ctx.setTextPainter(textPainter); Modified: trunk/foray/foray-pdf/src/java/org/foray/pdf/svg/batik/PDFTextPainter.java =================================================================== --- trunk/foray/foray-pdf/src/java/org/foray/pdf/svg/batik/PDFTextPainter.java 2006-06-19 23:15:34 UTC (rev 7720) +++ trunk/foray/foray-pdf/src/java/org/foray/pdf/svg/batik/PDFTextPainter.java 2006-06-19 23:26:34 UTC (rev 7721) @@ -25,6 +25,7 @@ package org.foray.pdf.svg.batik; import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; import org.axsl.fontR.FontException; import org.axsl.fontR.FontUtility; @@ -57,9 +58,17 @@ * @version $Id$ */ public class PDFTextPainter implements TextPainter { + + /** A logger for user messages. */ Log logger; - org.axsl.fontR.FontUse nominalFont = null; + + /** The FontConsumer that should be used for font resolution. */ + FontConsumer fontConsumer; + + /** The resolved font for this text. */ org.axsl.fontR.FontUse fontToUse = null; + + /** The font family name use by this text. */ String fontFamily = null; /** @@ -70,9 +79,13 @@ StrokingTextPainter.getInstance(); - public PDFTextPainter(Log logger, org.axsl.fontR.FontUse font) { + /** + * Constructor. + * @param logger A Log instance for logging user messages. + * @param consumer The FontConsumer that should be used for font resolution. + */ + public PDFTextPainter(Log logger, FontConsumer consumer) { this.logger = logger; - this.nominalFont = font; } /** @@ -281,7 +294,7 @@ for (Iterator i = gvtFonts.iterator(); i.hasNext(); ) { GVTFontFamily fam = (GVTFontFamily)i.next(); this.fontFamily = fam.getFamilyName(); - font = this.nominalFont.getFontConsumer().selectFontCSS( + font = this.fontConsumer.selectFontCSS( FontUtility.foFontFamily(this.fontFamily), style, weight, 0, org.axsl.fontR.Font.FONT_STRETCH_NORMAL, fsize * 1000, @@ -297,13 +310,13 @@ } if (font == null) { this.fontFamily = "any"; - return this.nominalFont.getFontConsumer().selectFontXSL( + return this.fontConsumer.selectFontXSL( org.axsl.fontR.Font.FONT_SELECTION_AUTO, new String[] {"any"}, style, weight, 0, org.axsl.fontR.Font.FONT_STRETCH_NORMAL, fsize * 1000, ' '); } - return this.nominalFont; + return font; } public Mark getMark(TextNode node, int pos, boolean all) { Modified: trunk/foray/foray-pdf/src/java/org/foray/pdf/svg/batik/PDFTranscoder.java =================================================================== --- trunk/foray/foray-pdf/src/java/org/foray/pdf/svg/batik/PDFTranscoder.java 2006-06-19 23:15:34 UTC (rev 7720) +++ trunk/foray/foray-pdf/src/java/org/foray/pdf/svg/batik/PDFTranscoder.java 2006-06-19 23:26:34 UTC (rev 7721) @@ -252,7 +252,8 @@ graphics.setSVGDimension(docWidth, docHeight); currentTransform.setTransform(1, 0, 0, -1, 0, height); if (!stroke) { - textPainter = new PDFTextPainter(graphics.getLogger(), this.font); + textPainter = new PDFTextPainter(graphics.getLogger(), + this.font.getFontConsumer()); ctx.setTextPainter(textPainter); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |