[FOray-commit] SF.net SVN: foray: [7719] 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:15:33
|
Revision: 7719 Author: victormote Date: 2006-06-19 16:15:25 -0700 (Mon, 19 Jun 2006) ViewCVS: http://svn.sourceforge.net/foray/?rev=7719&view=rev Log Message: ----------- Remove need to pass letter-spacing from the FO to the SVG. Any letter-spacing should be in 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 22:43:29 UTC (rev 7718) +++ trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFContentStream.java 2006-06-19 23:15:25 UTC (rev 7719) @@ -268,11 +268,10 @@ */ public void drawSVGDocument(SVGDocument doc, Rectangle2D.Float contentRectangle, Rectangle2D.Float clipRectangle, - FontUse font, float fontSize, float letterSpacing, - boolean strokeSVGText) { + FontUse font, float fontSize, boolean strokeSVGText) { closeTextObject(); PDFGraphics2D graphics = getPDFContent4SVG(contentRectangle, font, - fontSize, letterSpacing, doc, strokeSVGText); + fontSize, doc, strokeSVGText); if (graphics == null) { // Error messages have already been logged. return; @@ -328,7 +327,7 @@ } public PDFGraphics2D getPDFContent4SVG(Rectangle2D.Float contentRectangle, - FontUse font, float fontSize, float letterSpacing, + FontUse font, float fontSize, SVGDocument svgDocument, boolean strokeSVGText) { /* If not running in a graphical environment, log an error message * and skip the SVG. */ @@ -345,7 +344,7 @@ if (strokeSVGText) { textPainter = new StrokingTextPainter(); } else { - textPainter = new PDFTextPainter(getLogger(), font, letterSpacing); + textPainter = new PDFTextPainter(getLogger(), font); } 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 22:43:29 UTC (rev 7718) +++ trunk/foray/foray-pdf/src/java/org/foray/pdf/svg/batik/PDFTextPainter.java 2006-06-19 23:15:25 UTC (rev 7719) @@ -59,7 +59,6 @@ public class PDFTextPainter implements TextPainter { Log logger; org.axsl.fontR.FontUse nominalFont = null; - float letterSpacing = 0; org.axsl.fontR.FontUse fontToUse = null; String fontFamily = null; @@ -71,11 +70,9 @@ StrokingTextPainter.getInstance(); - public PDFTextPainter(Log logger, org.axsl.fontR.FontUse font, - float letterSpacing) { + public PDFTextPainter(Log logger, org.axsl.fontR.FontUse font) { this.logger = logger; this.nominalFont = font; - this.letterSpacing = letterSpacing; } /** @@ -239,9 +236,10 @@ //Get text and paint String txt = getText(aci); fontToUse.registerCharsUsed(txt); + /* TODO: If letter-spacing is used, it needs to come from the SVG. */ + int letterSpacing = 0; float advance = fontToUse.getFont().width(txt, awtFontSize * 1000, - (int) this.letterSpacing * 1000, 0) - / 1000f; + letterSpacing, 0) / 1000f; float tx = 0; if (anchor != null) { switch (anchor.getType()) { 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 22:43:29 UTC (rev 7718) +++ trunk/foray/foray-pdf/src/java/org/foray/pdf/svg/batik/PDFTranscoder.java 2006-06-19 23:15:25 UTC (rev 7719) @@ -252,8 +252,7 @@ graphics.setSVGDimension(docWidth, docHeight); currentTransform.setTransform(1, 0, 0, -1, 0, height); if (!stroke) { - textPainter = new PDFTextPainter(graphics.getLogger(), this.font, - this.fontSize); + textPainter = new PDFTextPainter(graphics.getLogger(), this.font); ctx.setTextPainter(textPainter); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |