From e189115a925441c612694e3820bdc24bede5aa0d Mon Sep 17 00:00:00 2001
From: Jeremias Maerki
Date: Wed, 31 May 2006 21:17:18 +0000
Subject: [PATCH] Improved accuracy of font size selection. The font size is
not rounded down to the next integer point value anymore. (Java2D renderers
profit from that one, too)
PCL Renderer:
Found a use case for that Java2D ascent value (which I call MaxAscent). It is used for painting text as bitmaps and to make sure the image the text is painted on is big enough if the font ascends beyond the em box. For non-Java2D fonts, MaxAscent is the same as ascent.
Added a check that lets text painting fall back to bitmaps if there are characters that are not in the ISO-8859-1 encoding. This also enables Symbol and ZapfDingbats fonts.
A "text-rendering" setting allows to disable PCL text painting in case the mix of PCL and bitmap text painting should result in unwelcome output. Note: the bitmap rendering is relatively slow (many small bitmaps). In the end we might end up rendering using a BitmapRenderer and only wrapping the whole thing in PCL (much like the Windows PCL drivers do). This would be faster than creating many small bitmaps.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@410672 13f79535-47bb-0310-9956-ffa450edef68
---
.../content/xdocs/trunk/configuration.xml | 9 ++-
.../content/xdocs/trunk/output.xml | 9 ++-
.../org/apache/fop/fonts/FontMetrics.java | 10 +++-
src/java/org/apache/fop/fonts/LazyFont.java | 8 +++
src/java/org/apache/fop/fonts/Typeface.java | 5 ++
.../fop/render/java2d/FontMetricsMapper.java | 7 +++
.../fop/render/java2d/Java2DFontMetrics.java | 44 ++++++++++++---
.../apache/fop/render/pcl/PCLRenderer.java | 56 ++++++++++++++-----
8 files changed, 125 insertions(+), 23 deletions(-)
diff --git a/src/documentation/content/xdocs/trunk/configuration.xml b/src/documentation/content/xdocs/trunk/configuration.xml
index a5ad45312..07691e13a 100644
--- a/src/documentation/content/xdocs/trunk/configuration.xml
+++ b/src/documentation/content/xdocs/trunk/configuration.xml
@@ -253,10 +253,11 @@
offered by Java.
- Additionally, there's one setting that controls how borders are painted.
+ Additionally, there are certain settings that control who the renderer handles various elements.
The default value for the "rendering" setting is "speed" which causes borders
@@ -265,6 +266,12 @@
value to "quality" as indicated above. This will cause the borders to be painted
as bitmaps.
+
+ The default value for the "text-rendering" setting is "auto" which paints the
+ base fonts using PCL fonts. Non-base fonts are painted as bitmaps through Java2D.
+ If the mix of painting methods results in unwelcome output, you can set this
+ to "bitmap" which causes all text to be rendered as bitmaps.
+