You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by vh...@apache.org on 2013/07/29 23:45:23 UTC

svn commit: r1508208 [1/10] - in /xmlgraphics/fop/branches/Temp_FopFontsForSVG: ./ lib/ src/codegen/fonts/ src/java/org/apache/fop/afp/ src/java/org/apache/fop/afp/fonts/ src/java/org/apache/fop/afp/goca/ src/java/org/apache/fop/afp/svg/ src/java/org/a...

Author: vhennebert
Date: Mon Jul 29 21:45:20 2013
New Revision: 1508208

URL: http://svn.apache.org/r1508208
Log:
Directly use FOP fonts to lay out SVG images for PDF, PS and AFP outputs.
The metrics are now taken from FOP configured fonts and no longer from AWT equivalents. That avoids discrepancies in case AWT and FOP use slightly different fonts, or if the font is not installed on the system. That actually also avoids having to install the font on the system.
FOP is also used for the primary layout of text (prior to SVG-specific transforms like translation or rotation) for consistency between SVG and XSL-FO.
This is a joint work from Peter Hancock and myself.

Added:
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/lib/batik-all-trunk-patch1041.jar
      - copied, changed from r1508203, xmlgraphics/fop/branches/Temp_FopFontsForSVG/lib/batik-all-1.7.jar
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/fonts/IntegerKeyStore.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/svg/AFPFontFamilyResolver.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/GlyphMapping.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/TextFragment.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/font/
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/font/AggregatingFontFamilyResolver.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/font/FOPFontFamilyResolver.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/font/FOPFontFamilyResolverImpl.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/font/FOPGVTFont.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/font/FOPGVTFontFamily.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/font/FOPGVTGlyphVector.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/font/FilteringFontFamilyResolver.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/afp/fonts/IntegerKeyStoreTestCase.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/fonts/type1/underline.afm
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/NativeTextPainterTest.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/OperatorValidator.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/PDFTextPainterTestCase.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/PSTextPainterTestCase.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/baseline-shift.svg
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/dx-dy.svg
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/font/
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/font/BasicGlyphVectorTestCase.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/font/FOPFontFamilyResolverTestCase.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/font/FOPGVTFontTestCase.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/font/FOPGVTGlyphVectorTest.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/font/FontInfoBuilder.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/font/GlyphLayoutTestCase.java   (with props)
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/glyph-orientation.svg
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/rotated-glyph.svg
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/svg/spacing.svg
Removed:
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/lib/batik-all-1.7.jar
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/fonts/svg-fonts.fo
Modified:
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/build.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/findbugs-exclude.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/Courier.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/CourierBold.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/CourierBoldOblique.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/CourierOblique.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/Helvetica.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/HelveticaBold.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/HelveticaBoldOblique.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/HelveticaOblique.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/Symbol.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/TimesBold.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/TimesBoldItalic.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/TimesItalic.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/TimesRoman.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/ZapfDingbats.xml
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/font-file.xsl
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/AFPEventProducer.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/fonts/AFPFont.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/fonts/AbstractOutlineFont.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/fonts/CharacterSet.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/fonts/CharacterSetBuilder.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/fonts/CharacterSetOrientation.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/fonts/DoubleByteFont.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/fonts/FopCharacterSet.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/fonts/OutlineFont.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/fonts/RasterFont.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/goca/GraphicsCharacterString.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/svg/AFPBridgeContext.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/svg/AFPTextHandler.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/afp/svg/AFPTextPainter.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fo/FOText.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/Base14Font.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/CIDFont.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/CustomFont.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/FontInfo.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/FontMetrics.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/LazyFont.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/MultiByteFont.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/SingleByteFont.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/truetype/TTFFile.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/truetype/TTFFontLoader.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/type1/AFMCharMetrics.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/fonts/type1/Type1FontLoader.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/image/loader/batik/ImageConverterSVG2G2D.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/image/loader/batik/PreloaderSVG.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/render/AbstractGenericSVGHandler.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/render/afp/AFPSVGHandler.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/render/java2d/CustomFontMetricsMapper.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/render/java2d/Java2DFontMetrics.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/render/java2d/Java2DSVGHandler.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/render/java2d/SystemFontMetricsMapper.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/render/pdf/PDFImageHandlerSVG.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/render/ps/PSImageHandlerSVG.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/render/ps/PSSVGHandler.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/render/ps/PSTextPainter.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/ACIUtils.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/AbstractFOPTextPainter.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/AbstractFOPTranscoder.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/NativeTextPainter.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/PDFTextPainter.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/PDFTextUtil.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/PDFTranscoder.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/SVGUserAgent.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/java/org/apache/fop/svg/SimpleSVGUserAgent.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/fonts/DejaVuLGCSerifTestCase.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/fonts/FontEventProcessingTestCase.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/fonts/truetype/TTFFileTestCase.java
    xmlgraphics/fop/branches/Temp_FopFontsForSVG/test/java/org/apache/fop/fonts/type1/AFMParserTestCase.java

Modified: xmlgraphics/fop/branches/Temp_FopFontsForSVG/build.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_FopFontsForSVG/build.xml?rev=1508208&r1=1508207&r2=1508208&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_FopFontsForSVG/build.xml (original)
+++ xmlgraphics/fop/branches/Temp_FopFontsForSVG/build.xml Mon Jul 29 21:45:20 2013
@@ -565,11 +565,13 @@ list of possible build targets.
       <include name="org/apache/fop/apps/io/**"/>
       <include name="org/apache/fop/complexscripts/fonts/*.class"/>
       <include name="org/apache/fop/complexscripts/util/GlyphTester.class"/>
+      <include name="org/apache/fop/events/EventProducer.class"/>
       <include name="org/apache/fop/fo/Constants.class"/>
       <include name="org/apache/fop/fo/FOTreeBuilder.class"/>
       <include name="org/apache/fop/area/AreaTreeControl*"/>
       <include name="org/apache/fop/svg/**"/>
       <include name="org/apache/fop/fonts/**"/>
+      <include name="org/apache/fop/traits/MinOptMax.class"/>
       <include name="org/apache/fop/image/loader/batik/BatikImageFlavors*.class"/>
       <include name="org/apache/fop/util/CMYKColorSpace*.class"/>
       <include name="org/apache/fop/util/Color*.class"/>
@@ -579,6 +581,7 @@ list of possible build targets.
       <include name="org/apache/fop/util/Finalizable.class"/>
       <include name="org/apache/fop/util/CharUtilities.class"/>
       <include name="org/apache/fop/util/DecimalFormatCache*.class"/>
+      <include name="org/apache/fop/util/ImageObject.class"/>
     </patternset>
 <!-- PDF transcoder -->
     <patternset>
@@ -647,7 +650,8 @@ list of possible build targets.
         <include name="org/apache/xmlgraphics/java2d/**"/>
         <include name="org/apache/xmlgraphics/ps/**"/>
         <include name="org/apache/xmlgraphics/fonts/**"/>
-        <include name="org/apache/xmlgraphics/util/io/**"/>
+        <include name="org/apache/xmlgraphics/util/**"/>
+        <include name="org/apache/xmlgraphics/image/loader/**"/>
       </patternset>
       <fileset refid="transcoder-lib-files"/>
     </unjar>
@@ -709,6 +713,7 @@ list of possible build targets.
         <include name="**/*.txt"/>
         <include name="**/*.afm"/>
         <include name="**/*.fo"/>
+        <include name="**/*.svg"/>
       </fileset>
     </copy>
   </target>

Modified: xmlgraphics/fop/branches/Temp_FopFontsForSVG/findbugs-exclude.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_FopFontsForSVG/findbugs-exclude.xml?rev=1508208&r1=1508207&r2=1508208&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_FopFontsForSVG/findbugs-exclude.xml (original)
+++ xmlgraphics/fop/branches/Temp_FopFontsForSVG/findbugs-exclude.xml Mon Jul 29 21:45:20 2013
@@ -1,6 +1,36 @@
 <?xml version="1.0" encoding="utf-8"?>
 <FindBugsFilter>
   <Match>
+    <Class name="org.apache.fop.layoutmgr.inline.TextLayoutManager$TextAreaBuilder"/>
+    <Method name="getMappingBidiLevels"/>
+    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.svg.PDFTextPainter"/>
+    <Field name="pdf"/>
+    <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.render.ps.PSTextPainter"/>
+    <Or>
+      <Field name="gen"/>
+      <Field name="ps"/>
+      <Field name="psRun"/>
+      <Field name="textUtil"/>
+    </Or>
+    <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphMapping"/>
+    <Method name="&lt;init&gt;"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.MultiByteFont"/>
+    <Method name="setBBoxArray"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
     <Class name="org.apache.fop.fonts.truetype.TTFFile$1"/>
     <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
   </Match>

Copied: xmlgraphics/fop/branches/Temp_FopFontsForSVG/lib/batik-all-trunk-patch1041.jar (from r1508203, xmlgraphics/fop/branches/Temp_FopFontsForSVG/lib/batik-all-1.7.jar)
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_FopFontsForSVG/lib/batik-all-trunk-patch1041.jar?p2=xmlgraphics/fop/branches/Temp_FopFontsForSVG/lib/batik-all-trunk-patch1041.jar&p1=xmlgraphics/fop/branches/Temp_FopFontsForSVG/lib/batik-all-1.7.jar&r1=1508203&r2=1508208&rev=1508208&view=diff
==============================================================================
Binary files - no diff available.

Modified: xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/Courier.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/Courier.xml?rev=1508208&r1=1508207&r2=1508208&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/Courier.xml (original)
+++ xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/Courier.xml Mon Jul 29 21:45:20 2013
@@ -22,275 +22,246 @@
    <family-name>Courier</family-name>
    <class-name>Courier</class-name>
    <encoding>StandardEncoding</encoding>
+   <underline-position>-100</underline-position>
+   <underline-thickness>50</underline-thickness>
    <cap-height>562</cap-height>
    <x-height>426</x-height>
    <ascender>629</ascender>
    <descender>-157</descender>
    <first-char>32</first-char>
    <last-char>255</last-char>
-   <widths>
-      <char name="A" width="600"/>
-      <char name="AE" width="600"/>
-      <char name="Aacute" width="600"/>
-      <char name="Acircumflex" width="600"/>
-      <char name="Adieresis" width="600"/>
-      <char name="Agrave" width="600"/>
-      <char name="Aring" width="600"/>
-      <char name="Atilde" width="600"/>
-      <char name="B" width="600"/>
-      <char name="C" width="600"/>
-      <char name="Ccedilla" width="600"/>
-      <char name="D" width="600"/>
-      <char name="E" width="600"/>
-      <char name="Eacute" width="600"/>
-      <char name="Ecircumflex" width="600"/>
-      <char name="Edieresis" width="600"/>
-      <char name="Egrave" width="600"/>
-      <char name="Eth" width="600"/>
-      <char name="Euro" width="600"/>
-      <char name="F" width="600"/>
-      <char name="G" width="600"/>
-      <char name="Gcaron" width="600"/>
-      <char name="H" width="600"/>
-      <char name="I" width="600"/>
-      <char name="IJ" width="600"/>
-      <char name="Iacute" width="600"/>
-      <char name="Icircumflex" width="600"/>
-      <char name="Idieresis" width="600"/>
-      <char name="Idot" width="600"/>
-      <char name="Igrave" width="600"/>
-      <char name="J" width="600"/>
-      <char name="K" width="600"/>
-      <char name="L" width="600"/>
-      <char name="LL" width="600"/>
-      <char name="Lslash" width="600"/>
-      <char name="M" width="600"/>
-      <char name="N" width="600"/>
-      <char name="Ntilde" width="600"/>
-      <char name="O" width="600"/>
-      <char name="OE" width="600"/>
-      <char name="Oacute" width="600"/>
-      <char name="Ocircumflex" width="600"/>
-      <char name="Odieresis" width="600"/>
-      <char name="Ograve" width="600"/>
-      <char name="Oslash" width="600"/>
-      <char name="Otilde" width="600"/>
-      <char name="P" width="600"/>
-      <char name="Q" width="600"/>
-      <char name="R" width="600"/>
-      <char name="S" width="600"/>
-      <char name="Scaron" width="600"/>
-      <char name="Scedilla" width="600"/>
-      <char name="T" width="600"/>
-      <char name="Thorn" width="600"/>
-      <char name="U" width="600"/>
-      <char name="Uacute" width="600"/>
-      <char name="Ucircumflex" width="600"/>
-      <char name="Udieresis" width="600"/>
-      <char name="Ugrave" width="600"/>
-      <char name="V" width="600"/>
-      <char name="W" width="600"/>
-      <char name="X" width="600"/>
-      <char name="Y" width="600"/>
-      <char name="Yacute" width="600"/>
-      <char name="Ydieresis" width="600"/>
-      <char name="Z" width="600"/>
-      <char name="Zcaron" width="600"/>
-      <char name="a" width="600"/>
-      <char name="aacute" width="600"/>
-      <char name="acircumflex" width="600"/>
-      <char name="acute" width="600"/>
-      <char name="adieresis" width="600"/>
-      <char name="ae" width="600"/>
-      <char name="agrave" width="600"/>
-      <char name="ampersand" width="600"/>
-      <char name="aring" width="600"/>
-      <char name="arrowboth" width="600"/>
-      <char name="arrowdown" width="600"/>
-      <char name="arrowleft" width="600"/>
-      <char name="arrowright" width="600"/>
-      <char name="arrowup" width="600"/>
-      <char name="asciicircum" width="600"/>
-      <char name="asciitilde" width="600"/>
-      <char name="asterisk" width="600"/>
-      <char name="at" width="600"/>
-      <char name="atilde" width="600"/>
-      <char name="b" width="600"/>
-      <char name="backslash" width="600"/>
-      <char name="bar" width="600"/>
-      <char name="braceleft" width="600"/>
-      <char name="braceright" width="600"/>
-      <char name="bracketleft" width="600"/>
-      <char name="bracketright" width="600"/>
-      <char name="breve" width="600"/>
-      <char name="brokenbar" width="600"/>
-      <char name="bullet" width="600"/>
-      <char name="c" width="600"/>
-      <char name="caron" width="600"/>
-      <char name="ccedilla" width="600"/>
-      <char name="cedilla" width="600"/>
-      <char name="cent" width="600"/>
-      <char name="center" width="600"/>
-      <char name="circumflex" width="600"/>
-      <char name="colon" width="600"/>
-      <char name="comma" width="600"/>
-      <char name="copyright" width="600"/>
-      <char name="currency" width="600"/>
-      <char name="d" width="600"/>
-      <char name="dagger" width="600"/>
-      <char name="daggerdbl" width="600"/>
-      <char name="dectab" width="600"/>
-      <char name="degree" width="600"/>
-      <char name="dieresis" width="600"/>
-      <char name="divide" width="600"/>
-      <char name="dollar" width="600"/>
-      <char name="dotaccent" width="600"/>
-      <char name="dotlessi" width="600"/>
-      <char name="down" width="600"/>
-      <char name="e" width="600"/>
-      <char name="eacute" width="600"/>
-      <char name="ecircumflex" width="600"/>
-      <char name="edieresis" width="600"/>
-      <char name="egrave" width="600"/>
-      <char name="eight" width="600"/>
-      <char name="ellipsis" width="600"/>
-      <char name="emdash" width="600"/>
-      <char name="endash" width="600"/>
-      <char name="equal" width="600"/>
-      <char name="eth" width="600"/>
-      <char name="exclam" width="600"/>
-      <char name="exclamdown" width="600"/>
-      <char name="f" width="600"/>
-      <char name="fi" width="600"/>
-      <char name="five" width="600"/>
-      <char name="fl" width="600"/>
-      <char name="florin" width="600"/>
-      <char name="format" width="600"/>
-      <char name="four" width="600"/>
-      <char name="fraction" width="600"/>
-      <char name="g" width="600"/>
-      <char name="gcaron" width="600"/>
-      <char name="germandbls" width="600"/>
-      <char name="grave" width="600"/>
-      <char name="graybox" width="600"/>
-      <char name="greater" width="600"/>
-      <char name="guillemotleft" width="600"/>
-      <char name="guillemotright" width="600"/>
-      <char name="guilsinglleft" width="600"/>
-      <char name="guilsinglright" width="600"/>
-      <char name="h" width="600"/>
-      <char name="hungarumlaut" width="600"/>
-      <char name="hyphen" width="600"/>
-      <char name="i" width="600"/>
-      <char name="iacute" width="600"/>
-      <char name="icircumflex" width="600"/>
-      <char name="idieresis" width="600"/>
-      <char name="igrave" width="600"/>
-      <char name="ij" width="600"/>
-      <char name="indent" width="600"/>
-      <char name="j" width="600"/>
-      <char name="k" width="600"/>
-      <char name="l" width="600"/>
-      <char name="largebullet" width="600"/>
-      <char name="left" width="600"/>
-      <char name="less" width="600"/>
-      <char name="lira" width="600"/>
-      <char name="ll" width="600"/>
-      <char name="logicalnot" width="600"/>
-      <char name="lslash" width="600"/>
-      <char name="m" width="600"/>
-      <char name="macron" width="600"/>
-      <char name="merge" width="600"/>
-      <char name="minus" width="600"/>
-      <char name="mu" width="600"/>
-      <char name="multiply" width="600"/>
-      <char name="n" width="600"/>
-      <char name="nine" width="600"/>
-      <char name="notegraphic" width="600"/>
-      <char name="ntilde" width="600"/>
-      <char name="numbersign" width="600"/>
-      <char name="o" width="600"/>
-      <char name="oacute" width="600"/>
-      <char name="ocircumflex" width="600"/>
-      <char name="odieresis" width="600"/>
-      <char name="oe" width="600"/>
-      <char name="ogonek" width="600"/>
-      <char name="ograve" width="600"/>
-      <char name="one" width="600"/>
-      <char name="onehalf" width="600"/>
-      <char name="onequarter" width="600"/>
-      <char name="onesuperior" width="600"/>
-      <char name="ordfeminine" width="600"/>
-      <char name="ordmasculine" width="600"/>
-      <char name="oslash" width="600"/>
-      <char name="otilde" width="600"/>
-      <char name="overscore" width="600"/>
-      <char name="p" width="600"/>
-      <char name="paragraph" width="600"/>
-      <char name="parenleft" width="600"/>
-      <char name="parenright" width="600"/>
-      <char name="percent" width="600"/>
-      <char name="period" width="600"/>
-      <char name="periodcentered" width="600"/>
-      <char name="perthousand" width="600"/>
-      <char name="plus" width="600"/>
-      <char name="plusminus" width="600"/>
-      <char name="prescription" width="600"/>
-      <char name="q" width="600"/>
-      <char name="question" width="600"/>
-      <char name="questiondown" width="600"/>
-      <char name="quotedbl" width="600"/>
-      <char name="quotedblbase" width="600"/>
-      <char name="quotedblleft" width="600"/>
-      <char name="quotedblright" width="600"/>
-      <char name="quoteleft" width="600"/>
-      <char name="quoteright" width="600"/>
-      <char name="quotesinglbase" width="600"/>
-      <char name="quotesingle" width="600"/>
-      <char name="r" width="600"/>
-      <char name="registered" width="600"/>
-      <char name="return" width="600"/>
-      <char name="ring" width="600"/>
-      <char name="s" width="600"/>
-      <char name="scaron" width="600"/>
-      <char name="scedilla" width="600"/>
-      <char name="section" width="600"/>
-      <char name="semicolon" width="600"/>
-      <char name="seven" width="600"/>
-      <char name="six" width="600"/>
-      <char name="slash" width="600"/>
-      <char name="space" width="600"/>
+    <char-metrics>
+      <char name="A" width="600" llx="3" lly="0" urx="597" ury="562"/>
+      <char name="AE" width="600" llx="3" lly="0" urx="550" ury="562"/>
+      <char name="Aacute" width="600" llx="3" lly="0" urx="597" ury="805"/>
+      <char name="Acircumflex" width="600" llx="3" lly="0" urx="597" ury="787"/>
+      <char name="Adieresis" width="600" llx="3" lly="0" urx="597" ury="753"/>
+      <char name="Agrave" width="600" llx="3" lly="0" urx="597" ury="805"/>
+      <char name="Aring" width="600" llx="3" lly="0" urx="597" ury="750"/>
+      <char name="Atilde" width="600" llx="3" lly="0" urx="597" ury="729"/>
+      <char name="B" width="600" llx="43" lly="0" urx="559" ury="562"/>
+      <char name="C" width="600" llx="41" lly="-18" urx="540" ury="580"/>
+      <char name="Ccedilla" width="600" llx="41" lly="-151" urx="540" ury="580"/>
+      <char name="D" width="600" llx="43" lly="0" urx="574" ury="562"/>
+      <char name="E" width="600" llx="53" lly="0" urx="550" ury="562"/>
+      <char name="Eacute" width="600" llx="53" lly="0" urx="550" ury="805"/>
+      <char name="Ecircumflex" width="600" llx="53" lly="0" urx="550" ury="787"/>
+      <char name="Edieresis" width="600" llx="53" lly="0" urx="550" ury="753"/>
+      <char name="Egrave" width="600" llx="53" lly="0" urx="550" ury="805"/>
+      <char name="Eth" width="600" llx="30" lly="0" urx="574" ury="562"/>
+      <char name="Euro" width="600" llx="0" lly="0" urx="0" ury="0"/>
+      <char name="F" width="600" llx="53" lly="0" urx="545" ury="562"/>
+      <char name="G" width="600" llx="31" lly="-18" urx="575" ury="580"/>
+      <char name="H" width="600" llx="32" lly="0" urx="568" ury="562"/>
+      <char name="I" width="600" llx="96" lly="0" urx="504" ury="562"/>
+      <char name="Iacute" width="600" llx="96" lly="0" urx="504" ury="805"/>
+      <char name="Icircumflex" width="600" llx="96" lly="0" urx="504" ury="787"/>
+      <char name="Idieresis" width="600" llx="96" lly="0" urx="504" ury="753"/>
+      <char name="Igrave" width="600" llx="96" lly="0" urx="504" ury="805"/>
+      <char name="J" width="600" llx="34" lly="-18" urx="566" ury="562"/>
+      <char name="K" width="600" llx="38" lly="0" urx="582" ury="562"/>
+      <char name="L" width="600" llx="47" lly="0" urx="554" ury="562"/>
+      <char name="Lslash" width="600" llx="47" lly="0" urx="554" ury="562"/>
+      <char name="M" width="600" llx="4" lly="0" urx="596" ury="562"/>
+      <char name="N" width="600" llx="7" lly="-13" urx="593" ury="562"/>
+      <char name="Ntilde" width="600" llx="7" lly="-13" urx="593" ury="729"/>
+      <char name="O" width="600" llx="43" lly="-18" urx="557" ury="580"/>
+      <char name="OE" width="600" llx="7" lly="0" urx="567" ury="562"/>
+      <char name="Oacute" width="600" llx="43" lly="-18" urx="557" ury="805"/>
+      <char name="Ocircumflex" width="600" llx="43" lly="-18" urx="557" ury="787"/>
+      <char name="Odieresis" width="600" llx="43" lly="-18" urx="557" ury="753"/>
+      <char name="Ograve" width="600" llx="43" lly="-18" urx="557" ury="805"/>
+      <char name="Oslash" width="600" llx="43" lly="-80" urx="557" ury="629"/>
+      <char name="Otilde" width="600" llx="43" lly="-18" urx="557" ury="729"/>
+      <char name="P" width="600" llx="79" lly="0" urx="558" ury="562"/>
+      <char name="Q" width="600" llx="43" lly="-138" urx="557" ury="580"/>
+      <char name="R" width="600" llx="38" lly="0" urx="588" ury="562"/>
+      <char name="S" width="600" llx="72" lly="-20" urx="529" ury="580"/>
+      <char name="Scaron" width="600" llx="72" lly="-20" urx="529" ury="802"/>
+      <char name="Scedilla" width="600" llx="72" lly="-151" urx="529" ury="580"/>
+      <char name="T" width="600" llx="38" lly="0" urx="563" ury="562"/>
+      <char name="Thorn" width="600" llx="79" lly="0" urx="538" ury="562"/>
+      <char name="U" width="600" llx="17" lly="-18" urx="583" ury="562"/>
+      <char name="Uacute" width="600" llx="17" lly="-18" urx="583" ury="805"/>
+      <char name="Ucircumflex" width="600" llx="17" lly="-18" urx="583" ury="787"/>
+      <char name="Udieresis" width="600" llx="17" lly="-18" urx="583" ury="753"/>
+      <char name="Ugrave" width="600" llx="17" lly="-18" urx="583" ury="805"/>
+      <char name="V" width="600" llx="-4" lly="-13" urx="604" ury="562"/>
+      <char name="W" width="600" llx="-3" lly="-13" urx="603" ury="562"/>
+      <char name="X" width="600" llx="23" lly="0" urx="577" ury="562"/>
+      <char name="Y" width="600" llx="24" lly="0" urx="576" ury="562"/>
+      <char name="Yacute" width="600" llx="24" lly="0" urx="576" ury="805"/>
+      <char name="Ydieresis" width="600" llx="24" lly="0" urx="576" ury="753"/>
+      <char name="Z" width="600" llx="86" lly="0" urx="514" ury="562"/>
+      <char name="Zcaron" width="600" llx="86" lly="0" urx="514" ury="802"/>
+      <char name="a" width="600" llx="53" lly="-15" urx="559" ury="441"/>
+      <char name="aacute" width="600" llx="53" lly="-15" urx="559" ury="672"/>
+      <char name="acircumflex" width="600" llx="53" lly="-15" urx="559" ury="654"/>
+      <char name="acute" width="600" llx="242" lly="497" urx="469" ury="672"/>
+      <char name="adieresis" width="600" llx="53" lly="-15" urx="559" ury="620"/>
+      <char name="ae" width="600" llx="19" lly="-15" urx="570" ury="441"/>
+      <char name="agrave" width="600" llx="53" lly="-15" urx="559" ury="672"/>
+      <char name="ampersand" width="600" llx="63" lly="-15" urx="538" ury="543"/>
+      <char name="aring" width="600" llx="53" lly="-15" urx="559" ury="627"/>
+      <char name="asciicircum" width="600" llx="94" lly="354" urx="506" ury="622"/>
+      <char name="asciitilde" width="600" llx="63" lly="197" urx="540" ury="320"/>
+      <char name="asterisk" width="600" llx="116" lly="257" urx="484" ury="607"/>
+      <char name="at" width="600" llx="77" lly="-15" urx="533" ury="622"/>
+      <char name="atilde" width="600" llx="53" lly="-15" urx="559" ury="606"/>
+      <char name="b" width="600" llx="14" lly="-15" urx="575" ury="629"/>
+      <char name="backslash" width="600" llx="118" lly="-80" urx="482" ury="629"/>
+      <char name="bar" width="600" llx="275" lly="-250" urx="326" ury="750"/>
+      <char name="braceleft" width="600" llx="182" lly="-108" urx="437" ury="622"/>
+      <char name="braceright" width="600" llx="163" lly="-108" urx="418" ury="622"/>
+      <char name="bracketleft" width="600" llx="269" lly="-108" urx="442" ury="622"/>
+      <char name="bracketright" width="600" llx="158" lly="-108" urx="331" ury="622"/>
+      <char name="breve" width="600" llx="153" lly="501" urx="447" ury="609"/>
+      <char name="brokenbar" width="600" llx="275" lly="-175" urx="326" ury="675"/>
+      <char name="bullet" width="600" llx="172" lly="130" urx="428" ury="383"/>
+      <char name="c" width="600" llx="66" lly="-15" urx="529" ury="441"/>
+      <char name="caron" width="600" llx="124" lly="492" urx="476" ury="669"/>
+      <char name="ccedilla" width="600" llx="66" lly="-151" urx="529" ury="441"/>
+      <char name="cedilla" width="600" llx="224" lly="-151" urx="362" ury="10"/>
+      <char name="cent" width="600" llx="96" lly="-49" urx="500" ury="614"/>
+      <char name="circumflex" width="600" llx="124" lly="477" urx="476" ury="654"/>
+      <char name="colon" width="600" llx="229" lly="-15" urx="371" ury="385"/>
+      <char name="comma" width="600" llx="181" lly="-112" urx="344" ury="122"/>
+      <char name="copyright" width="600" llx="0" lly="-18" urx="600" ury="580"/>
+      <char name="currency" width="600" llx="73" lly="58" urx="527" ury="506"/>
+      <char name="d" width="600" llx="45" lly="-15" urx="591" ury="629"/>
+      <char name="dagger" width="600" llx="141" lly="-78" urx="459" ury="580"/>
+      <char name="daggerdbl" width="600" llx="141" lly="-78" urx="459" ury="580"/>
+      <char name="degree" width="600" llx="123" lly="269" urx="477" ury="622"/>
+      <char name="dieresis" width="600" llx="148" lly="537" urx="453" ury="640"/>
+      <char name="divide" width="600" llx="87" lly="48" urx="513" ury="467"/>
+      <char name="dollar" width="600" llx="105" lly="-126" urx="496" ury="662"/>
+      <char name="dotaccent" width="600" llx="249" lly="537" urx="352" ury="640"/>
+      <char name="dotlessi" width="600" llx="95" lly="0" urx="505" ury="426"/>
+      <char name="e" width="600" llx="66" lly="-15" urx="548" ury="441"/>
+      <char name="eacute" width="600" llx="66" lly="-15" urx="548" ury="672"/>
+      <char name="ecircumflex" width="600" llx="66" lly="-15" urx="548" ury="654"/>
+      <char name="edieresis" width="600" llx="66" lly="-15" urx="548" ury="620"/>
+      <char name="egrave" width="600" llx="66" lly="-15" urx="548" ury="672"/>
+      <char name="eight" width="600" llx="102" lly="-15" urx="498" ury="622"/>
+      <char name="ellipsis" width="600" llx="37" lly="-15" urx="563" ury="111"/>
+      <char name="emdash" width="600" llx="0" lly="231" urx="600" ury="285"/>
+      <char name="endash" width="600" llx="75" lly="231" urx="525" ury="285"/>
+      <char name="equal" width="600" llx="80" lly="138" urx="520" ury="376"/>
+      <char name="eth" width="600" llx="62" lly="-15" urx="538" ury="629"/>
+      <char name="exclam" width="600" llx="236" lly="-15" urx="364" ury="572"/>
+      <char name="exclamdown" width="600" llx="236" lly="-157" urx="364" ury="430"/>
+      <char name="f" width="600" llx="114" lly="0" urx="531" ury="629"/>
+      <char name="fi" width="600" llx="3" lly="0" urx="597" ury="629"/>
+      <char name="five" width="600" llx="92" lly="-15" urx="497" ury="607"/>
+      <char name="fl" width="600" llx="3" lly="0" urx="597" ury="629"/>
+      <char name="florin" width="600" llx="4" lly="-143" urx="539" ury="622"/>
+      <char name="four" width="600" llx="78" lly="0" urx="500" ury="622"/>
+      <char name="fraction" width="600" llx="92" lly="-57" urx="509" ury="665"/>
+      <char name="g" width="600" llx="45" lly="-157" urx="566" ury="441"/>
+      <char name="germandbls" width="600" llx="48" lly="-15" urx="588" ury="629"/>
+      <char name="grave" width="600" llx="151" lly="497" urx="378" ury="672"/>
+      <char name="greater" width="600" llx="66" lly="42" urx="544" ury="472"/>
+      <char name="guillemotleft" width="600" llx="37" lly="70" urx="563" ury="446"/>
+      <char name="guillemotright" width="600" llx="37" lly="70" urx="563" ury="446"/>
+      <char name="guilsinglleft" width="600" llx="149" lly="70" urx="451" ury="446"/>
+      <char name="guilsinglright" width="600" llx="149" lly="70" urx="451" ury="446"/>
+      <char name="h" width="600" llx="18" lly="0" urx="582" ury="629"/>
+      <char name="hungarumlaut" width="600" llx="133" lly="497" urx="540" ury="672"/>
+      <char name="hyphen" width="600" llx="103" lly="231" urx="497" ury="285"/>
+      <char name="i" width="600" llx="95" lly="0" urx="505" ury="657"/>
+      <char name="iacute" width="600" llx="95" lly="0" urx="505" ury="672"/>
+      <char name="icircumflex" width="600" llx="94" lly="0" urx="505" ury="654"/>
+      <char name="idieresis" width="600" llx="95" lly="0" urx="505" ury="620"/>
+      <char name="igrave" width="600" llx="95" lly="0" urx="505" ury="672"/>
+      <char name="j" width="600" llx="82" lly="-157" urx="410" ury="657"/>
+      <char name="k" width="600" llx="43" lly="0" urx="580" ury="629"/>
+      <char name="l" width="600" llx="95" lly="0" urx="505" ury="629"/>
+      <char name="less" width="600" llx="41" lly="42" urx="519" ury="472"/>
+      <char name="logicalnot" width="600" llx="87" lly="108" urx="513" ury="369"/>
+      <char name="lslash" width="600" llx="95" lly="0" urx="505" ury="629"/>
+      <char name="m" width="600" llx="-5" lly="0" urx="605" ury="441"/>
+      <char name="macron" width="600" llx="120" lly="525" urx="480" ury="565"/>
+      <char name="minus" width="600" llx="80" lly="232" urx="520" ury="283"/>
+      <char name="mu" width="600" llx="21" lly="-157" urx="562" ury="426"/>
+      <char name="multiply" width="600" llx="87" lly="43" urx="515" ury="470"/>
+      <char name="n" width="600" llx="26" lly="0" urx="575" ury="441"/>
+      <char name="nine" width="600" llx="96" lly="-15" urx="489" ury="622"/>
+      <char name="ntilde" width="600" llx="26" lly="0" urx="575" ury="606"/>
+      <char name="numbersign" width="600" llx="93" lly="-32" urx="507" ury="639"/>
+      <char name="o" width="600" llx="62" lly="-15" urx="538" ury="441"/>
+      <char name="oacute" width="600" llx="62" lly="-15" urx="538" ury="672"/>
+      <char name="ocircumflex" width="600" llx="62" lly="-15" urx="538" ury="654"/>
+      <char name="odieresis" width="600" llx="62" lly="-15" urx="538" ury="620"/>
+      <char name="oe" width="600" llx="19" lly="-15" urx="559" ury="441"/>
+      <char name="ogonek" width="600" llx="211" lly="-172" urx="407" ury="4"/>
+      <char name="ograve" width="600" llx="62" lly="-15" urx="538" ury="672"/>
+      <char name="one" width="600" llx="96" lly="0" urx="505" ury="622"/>
+      <char name="onehalf" width="600" llx="0" lly="-57" urx="611" ury="665"/>
+      <char name="onequarter" width="600" llx="0" lly="-57" urx="600" ury="665"/>
+      <char name="onesuperior" width="600" llx="172" lly="249" urx="428" ury="622"/>
+      <char name="ordfeminine" width="600" llx="156" lly="249" urx="442" ury="580"/>
+      <char name="ordmasculine" width="600" llx="157" lly="249" urx="443" ury="580"/>
+      <char name="oslash" width="600" llx="62" lly="-80" urx="538" ury="506"/>
+      <char name="otilde" width="600" llx="62" lly="-15" urx="538" ury="606"/>
+      <char name="p" width="600" llx="9" lly="-157" urx="555" ury="441"/>
+      <char name="paragraph" width="600" llx="50" lly="-78" urx="511" ury="562"/>
+      <char name="parenleft" width="600" llx="269" lly="-108" urx="440" ury="622"/>
+      <char name="parenright" width="600" llx="160" lly="-108" urx="331" ury="622"/>
+      <char name="percent" width="600" llx="81" lly="-15" urx="518" ury="622"/>
+      <char name="period" width="600" llx="229" lly="-15" urx="371" ury="109"/>
+      <char name="periodcentered" width="600" llx="222" lly="189" urx="378" ury="327"/>
+      <char name="perthousand" width="600" llx="3" lly="-15" urx="600" ury="622"/>
+      <char name="plus" width="600" llx="80" lly="44" urx="520" ury="470"/>
+      <char name="plusminus" width="600" llx="87" lly="44" urx="513" ury="558"/>
+      <char name="q" width="600" llx="45" lly="-157" urx="591" ury="441"/>
+      <char name="question" width="600" llx="129" lly="-15" urx="492" ury="572"/>
+      <char name="questiondown" width="600" llx="108" lly="-157" urx="471" ury="430"/>
+      <char name="quotedbl" width="600" llx="187" lly="328" urx="413" ury="562"/>
+      <char name="quotedblbase" width="600" llx="143" lly="-134" urx="457" ury="100"/>
+      <char name="quotedblleft" width="600" llx="143" lly="328" urx="471" ury="562"/>
+      <char name="quotedblright" width="600" llx="143" lly="328" urx="457" ury="562"/>
+      <char name="quoteleft" width="600" llx="224" lly="328" urx="387" ury="562"/>
+      <char name="quoteright" width="600" llx="213" lly="328" urx="376" ury="562"/>
+      <char name="quotesinglbase" width="600" llx="213" lly="-134" urx="376" ury="100"/>
+      <char name="quotesingle" width="600" llx="259" lly="328" urx="341" ury="562"/>
+      <char name="r" width="600" llx="60" lly="0" urx="559" ury="441"/>
+      <char name="registered" width="600" llx="0" lly="-18" urx="600" ury="580"/>
+      <char name="ring" width="600" llx="218" lly="463" urx="382" ury="627"/>
+      <char name="s" width="600" llx="80" lly="-15" urx="513" ury="441"/>
+      <char name="scaron" width="600" llx="80" lly="-15" urx="513" ury="669"/>
+      <char name="scedilla" width="600" llx="80" lly="-151" urx="513" ury="441"/>
+      <char name="section" width="600" llx="113" lly="-78" urx="488" ury="580"/>
+      <char name="semicolon" width="600" llx="181" lly="-112" urx="371" ury="385"/>
+      <char name="seven" width="600" llx="82" lly="0" urx="483" ury="607"/>
+      <char name="six" width="600" llx="111" lly="-15" urx="497" ury="622"/>
+      <char name="slash" width="600" llx="125" lly="-80" urx="475" ury="629"/>
+      <char name="space" width="600" llx="0" lly="0" urx="0" ury="0"/>
       <!-- JKT: the following has been manually added -->
-      <char name="nbsp" width="600"/>
-      <char name="square" width="600"/>
-      <char name="sterling" width="600"/>
-      <char name="stop" width="600"/>
-      <char name="t" width="600"/>
-      <char name="tab" width="600"/>
-      <char name="thorn" width="600"/>
-      <char name="three" width="600"/>
-      <char name="threequarters" width="600"/>
-      <char name="threesuperior" width="600"/>
-      <char name="tilde" width="600"/>
-      <char name="trademark" width="600"/>
-      <char name="two" width="600"/>
-      <char name="twosuperior" width="600"/>
-      <char name="u" width="600"/>
-      <char name="uacute" width="600"/>
-      <char name="ucircumflex" width="600"/>
-      <char name="udieresis" width="600"/>
-      <char name="ugrave" width="600"/>
-      <char name="underscore" width="600"/>
-      <char name="up" width="600"/>
-      <char name="v" width="600"/>
-      <char name="w" width="600"/>
-      <char name="x" width="600"/>
-      <char name="y" width="600"/>
-      <char name="yacute" width="600"/>
-      <char name="ydieresis" width="600"/>
-      <char name="yen" width="600"/>
-      <char name="z" width="600"/>
-      <char name="zcaron" width="600"/>
-      <char name="zero" width="600"/>
-   </widths>
-</font-metrics>
\ No newline at end of file
+      <char name="sterling" width="600" llx="84" lly="-21" urx="521" ury="611"/>
+      <char name="t" width="600" llx="87" lly="-15" urx="530" ury="561"/>
+      <char name="thorn" width="600" llx="-6" lly="-157" urx="555" ury="629"/>
+      <char name="three" width="600" llx="75" lly="-15" urx="466" ury="622"/>
+      <char name="threequarters" width="600" llx="8" lly="-56" urx="593" ury="666"/>
+      <char name="threesuperior" width="600" llx="155" lly="240" urx="406" ury="622"/>
+      <char name="tilde" width="600" llx="105" lly="489" urx="503" ury="606"/>
+      <char name="trademark" width="600" llx="-23" lly="263" urx="623" ury="562"/>
+      <char name="two" width="600" llx="70" lly="0" urx="471" ury="622"/>
+      <char name="twosuperior" width="600" llx="177" lly="249" urx="424" ury="622"/>
+      <char name="u" width="600" llx="21" lly="-15" urx="562" ury="426"/>
+      <char name="uacute" width="600" llx="21" lly="-15" urx="562" ury="672"/>
+      <char name="ucircumflex" width="600" llx="21" lly="-15" urx="562" ury="654"/>
+      <char name="udieresis" width="600" llx="21" lly="-15" urx="562" ury="620"/>
+      <char name="ugrave" width="600" llx="21" lly="-15" urx="562" ury="672"/>
+      <char name="underscore" width="600" llx="0" lly="-125" urx="600" ury="-75"/>
+      <char name="v" width="600" llx="10" lly="-10" urx="590" ury="426"/>
+      <char name="w" width="600" llx="-4" lly="-10" urx="604" ury="426"/>
+      <char name="x" width="600" llx="20" lly="0" urx="580" ury="426"/>
+      <char name="y" width="600" llx="7" lly="-157" urx="592" ury="426"/>
+      <char name="yacute" width="600" llx="7" lly="-157" urx="592" ury="672"/>
+      <char name="ydieresis" width="600" llx="7" lly="-157" urx="592" ury="620"/>
+      <char name="yen" width="600" llx="26" lly="0" urx="574" ury="562"/>
+      <char name="z" width="600" llx="99" lly="0" urx="502" ury="426"/>
+      <char name="zcaron" width="600" llx="99" lly="0" urx="502" ury="669"/>
+      <char name="zero" width="600" llx="106" lly="-15" urx="494" ury="622"/>
+    </char-metrics>
+</font-metrics>

Modified: xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/CourierBold.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/CourierBold.xml?rev=1508208&r1=1508207&r2=1508208&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/CourierBold.xml (original)
+++ xmlgraphics/fop/branches/Temp_FopFontsForSVG/src/codegen/fonts/CourierBold.xml Mon Jul 29 21:45:20 2013
@@ -22,275 +22,246 @@
    <family-name>Courier</family-name>
    <class-name>CourierBold</class-name>
    <encoding>StandardEncoding</encoding>
+   <underline-position>-100</underline-position>
+   <underline-thickness>50</underline-thickness>
    <cap-height>562</cap-height>
    <x-height>439</x-height>
    <ascender>626</ascender>
    <descender>-142</descender>
    <first-char>32</first-char>
    <last-char>255</last-char>
-   <widths>
-      <char name="A" width="600"/>
-      <char name="AE" width="600"/>
-      <char name="Aacute" width="600"/>
-      <char name="Acircumflex" width="600"/>
-      <char name="Adieresis" width="600"/>
-      <char name="Agrave" width="600"/>
-      <char name="Aring" width="600"/>
-      <char name="Atilde" width="600"/>
-      <char name="B" width="600"/>
-      <char name="C" width="600"/>
-      <char name="Ccedilla" width="600"/>
-      <char name="D" width="600"/>
-      <char name="E" width="600"/>
-      <char name="Eacute" width="600"/>
-      <char name="Ecircumflex" width="600"/>
-      <char name="Edieresis" width="600"/>
-      <char name="Egrave" width="600"/>
-      <char name="Eth" width="600"/>
-      <char name="Euro" width="600"/>
-      <char name="F" width="600"/>
-      <char name="G" width="600"/>
-      <char name="Gcaron" width="600"/>
-      <char name="H" width="600"/>
-      <char name="I" width="600"/>
-      <char name="IJ" width="600"/>
-      <char name="Iacute" width="600"/>
-      <char name="Icircumflex" width="600"/>
-      <char name="Idieresis" width="600"/>
-      <char name="Idot" width="600"/>
-      <char name="Igrave" width="600"/>
-      <char name="J" width="600"/>
-      <char name="K" width="600"/>
-      <char name="L" width="600"/>
-      <char name="LL" width="600"/>
-      <char name="Lslash" width="600"/>
-      <char name="M" width="600"/>
-      <char name="N" width="600"/>
-      <char name="Ntilde" width="600"/>
-      <char name="O" width="600"/>
-      <char name="OE" width="600"/>
-      <char name="Oacute" width="600"/>
-      <char name="Ocircumflex" width="600"/>
-      <char name="Odieresis" width="600"/>
-      <char name="Ograve" width="600"/>
-      <char name="Oslash" width="600"/>
-      <char name="Otilde" width="600"/>
-      <char name="P" width="600"/>
-      <char name="Q" width="600"/>
-      <char name="R" width="600"/>
-      <char name="S" width="600"/>
-      <char name="Scaron" width="600"/>
-      <char name="Scedilla" width="600"/>
-      <char name="T" width="600"/>
-      <char name="Thorn" width="600"/>
-      <char name="U" width="600"/>
-      <char name="Uacute" width="600"/>
-      <char name="Ucircumflex" width="600"/>
-      <char name="Udieresis" width="600"/>
-      <char name="Ugrave" width="600"/>
-      <char name="V" width="600"/>
-      <char name="W" width="600"/>
-      <char name="X" width="600"/>
-      <char name="Y" width="600"/>
-      <char name="Yacute" width="600"/>
-      <char name="Ydieresis" width="600"/>
-      <char name="Z" width="600"/>
-      <char name="Zcaron" width="600"/>
-      <char name="a" width="600"/>
-      <char name="aacute" width="600"/>
-      <char name="acircumflex" width="600"/>
-      <char name="acute" width="600"/>
-      <char name="adieresis" width="600"/>
-      <char name="ae" width="600"/>
-      <char name="agrave" width="600"/>
-      <char name="ampersand" width="600"/>
-      <char name="aring" width="600"/>
-      <char name="arrowboth" width="600"/>
-      <char name="arrowdown" width="600"/>
-      <char name="arrowleft" width="600"/>
-      <char name="arrowright" width="600"/>
-      <char name="arrowup" width="600"/>
-      <char name="asciicircum" width="600"/>
-      <char name="asciitilde" width="600"/>
-      <char name="asterisk" width="600"/>
-      <char name="at" width="600"/>
-      <char name="atilde" width="600"/>
-      <char name="b" width="600"/>
-      <char name="backslash" width="600"/>
-      <char name="bar" width="600"/>
-      <char name="braceleft" width="600"/>
-      <char name="braceright" width="600"/>
-      <char name="bracketleft" width="600"/>
-      <char name="bracketright" width="600"/>
-      <char name="breve" width="600"/>
-      <char name="brokenbar" width="600"/>
-      <char name="bullet" width="600"/>
-      <char name="c" width="600"/>
-      <char name="caron" width="600"/>
-      <char name="ccedilla" width="600"/>
-      <char name="cedilla" width="600"/>
-      <char name="cent" width="600"/>
-      <char name="center" width="600"/>
-      <char name="circumflex" width="600"/>
-      <char name="colon" width="600"/>
-      <char name="comma" width="600"/>
-      <char name="copyright" width="600"/>
-      <char name="currency" width="600"/>
-      <char name="d" width="600"/>
-      <char name="dagger" width="600"/>
-      <char name="daggerdbl" width="600"/>
-      <char name="dectab" width="600"/>
-      <char name="degree" width="600"/>
-      <char name="dieresis" width="600"/>
-      <char name="divide" width="600"/>
-      <char name="dollar" width="600"/>
-      <char name="dotaccent" width="600"/>
-      <char name="dotlessi" width="600"/>
-      <char name="down" width="600"/>
-      <char name="e" width="600"/>
-      <char name="eacute" width="600"/>
-      <char name="ecircumflex" width="600"/>
-      <char name="edieresis" width="600"/>
-      <char name="egrave" width="600"/>
-      <char name="eight" width="600"/>
-      <char name="ellipsis" width="600"/>
-      <char name="emdash" width="600"/>
-      <char name="endash" width="600"/>
-      <char name="equal" width="600"/>
-      <char name="eth" width="600"/>
-      <char name="exclam" width="600"/>
-      <char name="exclamdown" width="600"/>
-      <char name="f" width="600"/>
-      <char name="fi" width="600"/>
-      <char name="five" width="600"/>
-      <char name="fl" width="600"/>
-      <char name="florin" width="600"/>
-      <char name="format" width="600"/>
-      <char name="four" width="600"/>
-      <char name="fraction" width="600"/>
-      <char name="g" width="600"/>
-      <char name="gcaron" width="600"/>
-      <char name="germandbls" width="600"/>
-      <char name="grave" width="600"/>
-      <char name="graybox" width="600"/>
-      <char name="greater" width="600"/>
-      <char name="guillemotleft" width="600"/>
-      <char name="guillemotright" width="600"/>
-      <char name="guilsinglleft" width="600"/>
-      <char name="guilsinglright" width="600"/>
-      <char name="h" width="600"/>
-      <char name="hungarumlaut" width="600"/>
-      <char name="hyphen" width="600"/>
-      <char name="i" width="600"/>
-      <char name="iacute" width="600"/>
-      <char name="icircumflex" width="600"/>
-      <char name="idieresis" width="600"/>
-      <char name="igrave" width="600"/>
-      <char name="ij" width="600"/>
-      <char name="indent" width="600"/>
-      <char name="j" width="600"/>
-      <char name="k" width="600"/>
-      <char name="l" width="600"/>
-      <char name="largebullet" width="600"/>
-      <char name="left" width="600"/>
-      <char name="less" width="600"/>
-      <char name="lira" width="600"/>
-      <char name="ll" width="600"/>
-      <char name="logicalnot" width="600"/>
-      <char name="lslash" width="600"/>
-      <char name="m" width="600"/>
-      <char name="macron" width="600"/>
-      <char name="merge" width="600"/>
-      <char name="minus" width="600"/>
-      <char name="mu" width="600"/>
-      <char name="multiply" width="600"/>
-      <char name="n" width="600"/>
-      <char name="nine" width="600"/>
-      <char name="notegraphic" width="600"/>
-      <char name="ntilde" width="600"/>
-      <char name="numbersign" width="600"/>
-      <char name="o" width="600"/>
-      <char name="oacute" width="600"/>
-      <char name="ocircumflex" width="600"/>
-      <char name="odieresis" width="600"/>
-      <char name="oe" width="600"/>
-      <char name="ogonek" width="600"/>
-      <char name="ograve" width="600"/>
-      <char name="one" width="600"/>
-      <char name="onehalf" width="600"/>
-      <char name="onequarter" width="600"/>
-      <char name="onesuperior" width="600"/>
-      <char name="ordfeminine" width="600"/>
-      <char name="ordmasculine" width="600"/>
-      <char name="oslash" width="600"/>
-      <char name="otilde" width="600"/>
-      <char name="overscore" width="600"/>
-      <char name="p" width="600"/>
-      <char name="paragraph" width="600"/>
-      <char name="parenleft" width="600"/>
-      <char name="parenright" width="600"/>
-      <char name="percent" width="600"/>
-      <char name="period" width="600"/>
-      <char name="periodcentered" width="600"/>
-      <char name="perthousand" width="600"/>
-      <char name="plus" width="600"/>
-      <char name="plusminus" width="600"/>
-      <char name="prescription" width="600"/>
-      <char name="q" width="600"/>
-      <char name="question" width="600"/>
-      <char name="questiondown" width="600"/>
-      <char name="quotedbl" width="600"/>
-      <char name="quotedblbase" width="600"/>
-      <char name="quotedblleft" width="600"/>
-      <char name="quotedblright" width="600"/>
-      <char name="quoteleft" width="600"/>
-      <char name="quoteright" width="600"/>
-      <char name="quotesinglbase" width="600"/>
-      <char name="quotesingle" width="600"/>
-      <char name="r" width="600"/>
-      <char name="registered" width="600"/>
-      <char name="return" width="600"/>
-      <char name="ring" width="600"/>
-      <char name="s" width="600"/>
-      <char name="scaron" width="600"/>
-      <char name="scedilla" width="600"/>
-      <char name="section" width="600"/>
-      <char name="semicolon" width="600"/>
-      <char name="seven" width="600"/>
-      <char name="six" width="600"/>
-      <char name="slash" width="600"/>
-      <char name="space" width="600"/>
+    <char-metrics>
+      <char name="A" width="600" llx="-9" lly="0" urx="609" ury="562"/>
+      <char name="AE" width="600" llx="-29" lly="0" urx="602" ury="562"/>
+      <char name="Aacute" width="600" llx="-9" lly="0" urx="609" ury="784"/>
+      <char name="Acircumflex" width="600" llx="-9" lly="0" urx="609" ury="780"/>
+      <char name="Adieresis" width="600" llx="-9" lly="0" urx="609" ury="761"/>
+      <char name="Agrave" width="600" llx="-9" lly="0" urx="609" ury="784"/>
+      <char name="Aring" width="600" llx="-9" lly="0" urx="609" ury="801"/>
+      <char name="Atilde" width="600" llx="-9" lly="0" urx="609" ury="759"/>
+      <char name="B" width="600" llx="30" lly="0" urx="573" ury="562"/>
+      <char name="C" width="600" llx="22" lly="-18" urx="560" ury="580"/>
+      <char name="Ccedilla" width="600" llx="22" lly="-206" urx="560" ury="580"/>
+      <char name="D" width="600" llx="30" lly="0" urx="594" ury="562"/>
+      <char name="E" width="600" llx="25" lly="0" urx="560" ury="562"/>
+      <char name="Eacute" width="600" llx="25" lly="0" urx="560" ury="784"/>
+      <char name="Ecircumflex" width="600" llx="25" lly="0" urx="560" ury="780"/>
+      <char name="Edieresis" width="600" llx="25" lly="0" urx="560" ury="761"/>
+      <char name="Egrave" width="600" llx="25" lly="0" urx="560" ury="784"/>
+      <char name="Eth" width="600" llx="30" lly="0" urx="594" ury="562"/>
+      <char name="Euro" width="600" llx="0" lly="0" urx="0" ury="0"/>
+      <char name="F" width="600" llx="39" lly="0" urx="570" ury="562"/>
+      <char name="G" width="600" llx="22" lly="-18" urx="594" ury="580"/>
+      <char name="H" width="600" llx="20" lly="0" urx="580" ury="562"/>
+      <char name="I" width="600" llx="77" lly="0" urx="523" ury="562"/>
+      <char name="Iacute" width="600" llx="77" lly="0" urx="523" ury="784"/>
+      <char name="Icircumflex" width="600" llx="77" lly="0" urx="523" ury="780"/>
+      <char name="Idieresis" width="600" llx="77" lly="0" urx="523" ury="761"/>
+      <char name="Igrave" width="600" llx="77" lly="0" urx="523" ury="784"/>
+      <char name="J" width="600" llx="37" lly="-18" urx="601" ury="562"/>
+      <char name="K" width="600" llx="21" lly="0" urx="599" ury="562"/>
+      <char name="L" width="600" llx="39" lly="0" urx="578" ury="562"/>
+      <char name="Lslash" width="600" llx="39" lly="0" urx="578" ury="562"/>
+      <char name="M" width="600" llx="-2" lly="0" urx="602" ury="562"/>
+      <char name="N" width="600" llx="8" lly="-12" urx="610" ury="562"/>
+      <char name="Ntilde" width="600" llx="8" lly="-12" urx="610" ury="759"/>
+      <char name="O" width="600" llx="22" lly="-18" urx="578" ury="580"/>
+      <char name="OE" width="600" llx="-25" lly="0" urx="595" ury="562"/>
+      <char name="Oacute" width="600" llx="22" lly="-18" urx="578" ury="784"/>
+      <char name="Ocircumflex" width="600" llx="22" lly="-18" urx="578" ury="780"/>
+      <char name="Odieresis" width="600" llx="22" lly="-18" urx="578" ury="761"/>
+      <char name="Ograve" width="600" llx="22" lly="-18" urx="578" ury="784"/>
+      <char name="Oslash" width="600" llx="22" lly="-22" urx="578" ury="584"/>
+      <char name="Otilde" width="600" llx="22" lly="-18" urx="578" ury="759"/>
+      <char name="P" width="600" llx="48" lly="0" urx="559" ury="562"/>
+      <char name="Q" width="600" llx="32" lly="-138" urx="578" ury="580"/>
+      <char name="R" width="600" llx="24" lly="0" urx="599" ury="562"/>
+      <char name="S" width="600" llx="47" lly="-22" urx="553" ury="582"/>
+      <char name="Scaron" width="600" llx="47" lly="-22" urx="553" ury="790"/>
+      <char name="Scedilla" width="600" llx="47" lly="-206" urx="553" ury="582"/>
+      <char name="T" width="600" llx="21" lly="0" urx="579" ury="562"/>
+      <char name="Thorn" width="600" llx="48" lly="0" urx="557" ury="562"/>
+      <char name="U" width="600" llx="4" lly="-18" urx="596" ury="562"/>
+      <char name="Uacute" width="600" llx="4" lly="-18" urx="596" ury="784"/>
+      <char name="Ucircumflex" width="600" llx="4" lly="-18" urx="596" ury="780"/>
+      <char name="Udieresis" width="600" llx="4" lly="-18" urx="596" ury="761"/>
+      <char name="Ugrave" width="600" llx="4" lly="-18" urx="596" ury="784"/>
+      <char name="V" width="600" llx="-13" lly="0" urx="613" ury="562"/>
+      <char name="W" width="600" llx="-18" lly="0" urx="618" ury="562"/>
+      <char name="X" width="600" llx="12" lly="0" urx="588" ury="562"/>
+      <char name="Y" width="600" llx="12" lly="0" urx="589" ury="562"/>
+      <char name="Yacute" width="600" llx="12" lly="0" urx="589" ury="784"/>
+      <char name="Ydieresis" width="600" llx="12" lly="0" urx="589" ury="761"/>
+      <char name="Z" width="600" llx="62" lly="0" urx="539" ury="562"/>
+      <char name="Zcaron" width="600" llx="62" lly="0" urx="539" ury="790"/>
+      <char name="a" width="600" llx="35" lly="-15" urx="570" ury="454"/>
+      <char name="aacute" width="600" llx="35" lly="-15" urx="570" ury="661"/>
+      <char name="acircumflex" width="600" llx="35" lly="-15" urx="570" ury="657"/>
+      <char name="acute" width="600" llx="205" lly="508" urx="468" ury="661"/>
+      <char name="adieresis" width="600" llx="35" lly="-15" urx="570" ury="638"/>
+      <char name="ae" width="600" llx="-4" lly="-15" urx="601" ury="454"/>
+      <char name="agrave" width="600" llx="35" lly="-15" urx="570" ury="661"/>
+      <char name="ampersand" width="600" llx="36" lly="-15" urx="546" ury="543"/>
+      <char name="aring" width="600" llx="35" lly="-15" urx="570" ury="678"/>
+      <char name="asciicircum" width="600" llx="108" lly="250" urx="492" ury="616"/>
+      <char name="asciitilde" width="600" llx="71" lly="153" urx="530" ury="356"/>
+      <char name="asterisk" width="600" llx="91" lly="219" urx="509" ury="601"/>
+      <char name="at" width="600" llx="16" lly="-15" urx="584" ury="616"/>
+      <char name="atilde" width="600" llx="35" lly="-15" urx="570" ury="636"/>
+      <char name="b" width="600" llx="0" lly="-15" urx="584" ury="626"/>
+      <char name="backslash" width="600" llx="99" lly="-77" urx="503" ury="626"/>
+      <char name="bar" width="600" llx="255" lly="-250" urx="345" ury="750"/>
+      <char name="braceleft" width="600" llx="160" lly="-102" urx="464" ury="616"/>
+      <char name="braceright" width="600" llx="136" lly="-102" urx="440" ury="616"/>
+      <char name="bracketleft" width="600" llx="245" lly="-102" urx="475" ury="616"/>
+      <char name="bracketright" width="600" llx="125" lly="-102" urx="355" ury="616"/>
+      <char name="breve" width="600" llx="83" lly="468" urx="517" ury="631"/>
+      <char name="brokenbar" width="600" llx="255" lly="-175" urx="345" ury="675"/>
+      <char name="bullet" width="600" llx="140" lly="132" urx="460" ury="430"/>
+      <char name="c" width="600" llx="40" lly="-15" urx="545" ury="459"/>
+      <char name="caron" width="600" llx="103" lly="493" urx="497" ury="667"/>
+      <char name="ccedilla" width="600" llx="40" lly="-206" urx="545" ury="459"/>
+      <char name="cedilla" width="600" llx="205" lly="-206" urx="387" ury="0"/>
+      <char name="cent" width="600" llx="66" lly="-49" urx="518" ury="614"/>
+      <char name="circumflex" width="600" llx="103" lly="483" urx="497" ury="657"/>
+      <char name="colon" width="600" llx="191" lly="-15" urx="407" ury="425"/>
+      <char name="comma" width="600" llx="123" lly="-111" urx="393" ury="174"/>
+      <char name="copyright" width="600" llx="0" lly="-18" urx="600" ury="580"/>
+      <char name="currency" width="600" llx="54" lly="49" urx="546" ury="517"/>
+      <char name="d" width="600" llx="20" lly="-15" urx="591" ury="626"/>
+      <char name="dagger" width="600" llx="106" lly="-70" urx="494" ury="580"/>
+      <char name="daggerdbl" width="600" llx="106" lly="-70" urx="494" ury="580"/>
+      <char name="degree" width="600" llx="86" lly="243" urx="474" ury="616"/>
+      <char name="dieresis" width="600" llx="128" lly="498" urx="472" ury="638"/>
+      <char name="divide" width="600" llx="71" lly="16" urx="529" ury="500"/>
+      <char name="dollar" width="600" llx="82" lly="-126" urx="519" ury="666"/>
+      <char name="dotaccent" width="600" llx="230" lly="498" urx="370" ury="638"/>
+      <char name="dotlessi" width="600" llx="77" lly="0" urx="523" ury="439"/>
+      <char name="e" width="600" llx="40" lly="-15" urx="563" ury="454"/>
+      <char name="eacute" width="600" llx="40" lly="-15" urx="563" ury="661"/>
+      <char name="ecircumflex" width="600" llx="40" lly="-15" urx="563" ury="657"/>
+      <char name="edieresis" width="600" llx="40" lly="-15" urx="563" ury="638"/>
+      <char name="egrave" width="600" llx="40" lly="-15" urx="563" ury="661"/>
+      <char name="eight" width="600" llx="83" lly="-15" urx="517" ury="616"/>
+      <char name="ellipsis" width="600" llx="26" lly="-15" urx="574" ury="116"/>
+      <char name="emdash" width="600" llx="-10" lly="203" urx="610" ury="313"/>
+      <char name="endash" width="600" llx="65" lly="203" urx="535" ury="313"/>
+      <char name="equal" width="600" llx="71" lly="118" urx="529" ury="398"/>
+      <char name="eth" width="600" llx="58" lly="-27" urx="543" ury="626"/>
+      <char name="exclam" width="600" llx="202" lly="-15" urx="398" ury="572"/>
+      <char name="exclamdown" width="600" llx="202" lly="-146" urx="398" ury="449"/>
+      <char name="f" width="600" llx="83" lly="0" urx="547" ury="626"/>
+      <char name="fi" width="600" llx="12" lly="0" urx="593" ury="626"/>
+      <char name="five" width="600" llx="70" lly="-15" urx="521" ury="601"/>
+      <char name="fl" width="600" llx="12" lly="0" urx="593" ury="626"/>
+      <char name="florin" width="600" llx="-30" lly="-131" urx="572" ury="616"/>
+      <char name="four" width="600" llx="53" lly="0" urx="507" ury="616"/>
+      <char name="fraction" width="600" llx="25" lly="-60" urx="576" ury="661"/>
+      <char name="g" width="600" llx="30" lly="-146" urx="580" ury="454"/>
+      <char name="germandbls" width="600" llx="22" lly="-15" urx="596" ury="626"/>
+      <char name="grave" width="600" llx="132" lly="508" urx="395" ury="661"/>
+      <char name="greater" width="600" llx="77" lly="15" urx="534" ury="501"/>
+      <char name="guillemotleft" width="600" llx="8" lly="70" urx="553" ury="446"/>
+      <char name="guillemotright" width="600" llx="47" lly="70" urx="592" ury="446"/>
+      <char name="guilsinglleft" width="600" llx="141" lly="70" urx="459" ury="446"/>
+      <char name="guilsinglright" width="600" llx="141" lly="70" urx="459" ury="446"/>
+      <char name="h" width="600" llx="5" lly="0" urx="592" ury="626"/>
+      <char name="hungarumlaut" width="600" llx="68" lly="488" urx="588" ury="661"/>
+      <char name="hyphen" width="600" llx="100" lly="203" urx="500" ury="313"/>
+      <char name="i" width="600" llx="77" lly="0" urx="523" ury="658"/>
+      <char name="iacute" width="600" llx="77" lly="0" urx="523" ury="661"/>
+      <char name="icircumflex" width="600" llx="73" lly="0" urx="523" ury="657"/>
+      <char name="idieresis" width="600" llx="77" lly="0" urx="523" ury="618"/>
+      <char name="igrave" width="600" llx="77" lly="0" urx="523" ury="661"/>
+      <char name="j" width="600" llx="63" lly="-146" urx="440" ury="658"/>
+      <char name="k" width="600" llx="20" lly="0" urx="585" ury="626"/>
+      <char name="l" width="600" llx="77" lly="0" urx="523" ury="626"/>
+      <char name="less" width="600" llx="66" lly="15" urx="523" ury="501"/>
+      <char name="logicalnot" width="600" llx="71" lly="103" urx="529" ury="413"/>
+      <char name="lslash" width="600" llx="77" lly="0" urx="523" ury="626"/>
+      <char name="m" width="600" llx="-22" lly="0" urx="626" ury="454"/>
+      <char name="macron" width="600" llx="88" lly="505" urx="512" ury="585"/>
+      <char name="minus" width="600" llx="71" lly="203" urx="529" ury="313"/>
+      <char name="mu" width="600" llx="-1" lly="-142" urx="569" ury="439"/>
+      <char name="multiply" width="600" llx="81" lly="39" urx="520" ury="478"/>
+      <char name="n" width="600" llx="18" lly="0" urx="592" ury="454"/>
+      <char name="nine" width="600" llx="79" lly="-15" urx="510" ury="616"/>
+      <char name="ntilde" width="600" llx="18" lly="0" urx="592" ury="636"/>
+      <char name="numbersign" width="600" llx="56" lly="-45" urx="544" ury="651"/>
+      <char name="o" width="600" llx="30" lly="-15" urx="570" ury="454"/>
+      <char name="oacute" width="600" llx="30" lly="-15" urx="570" ury="661"/>
+      <char name="ocircumflex" width="600" llx="30" lly="-15" urx="570" ury="657"/>
+      <char name="odieresis" width="600" llx="30" lly="-15" urx="570" ury="638"/>
+      <char name="oe" width="600" llx="-18" lly="-15" urx="611" ury="454"/>
+      <char name="ogonek" width="600" llx="169" lly="-199" urx="400" ury="0"/>
+      <char name="ograve" width="600" llx="30" lly="-15" urx="570" ury="661"/>
+      <char name="one" width="600" llx="81" lly="0" urx="539" ury="616"/>
+      <char name="onehalf" width="600" llx="-47" lly="-60" urx="648" ury="661"/>
+      <char name="onequarter" width="600" llx="-56" lly="-60" urx="656" ury="661"/>
+      <char name="onesuperior" width="600" llx="153" lly="230" urx="447" ury="616"/>
+      <char name="ordfeminine" width="600" llx="147" lly="196" urx="453" ury="580"/>
+      <char name="ordmasculine" width="600" llx="147" lly="196" urx="453" ury="580"/>
+      <char name="oslash" width="600" llx="30" lly="-24" urx="570" ury="463"/>
+      <char name="otilde" width="600" llx="30" lly="-15" urx="570" ury="636"/>
+      <char name="p" width="600" llx="-1" lly="-142" urx="570" ury="454"/>
+      <char name="paragraph" width="600" llx="6" lly="-70" urx="576" ury="580"/>
+      <char name="parenleft" width="600" llx="219" lly="-102" urx="461" ury="616"/>
+      <char name="parenright" width="600" llx="139" lly="-102" urx="381" ury="616"/>
+      <char name="percent" width="600" llx="5" lly="-15" urx="595" ury="616"/>
+      <char name="period" width="600" llx="192" lly="-15" urx="408" ury="171"/>
+      <char name="periodcentered" width="600" llx="196" lly="165" urx="404" ury="351"/>
+      <char name="perthousand" width="600" llx="-113" lly="-15" urx="713" ury="616"/>
+      <char name="plus" width="600" llx="71" lly="39" urx="529" ury="478"/>
+      <char name="plusminus" width="600" llx="71" lly="24" urx="529" ury="515"/>
+      <char name="q" width="600" llx="20" lly="-142" urx="591" ury="454"/>
+      <char name="question" width="600" llx="98" lly="-14" urx="501" ury="580"/>
+      <char name="questiondown" width="600" llx="99" lly="-146" urx="502" ury="449"/>
+      <char name="quotedbl" width="600" llx="135" lly="277" urx="465" ury="562"/>
+      <char name="quotedblbase" width="600" llx="65" lly="-142" urx="529" ury="143"/>
+      <char name="quotedblleft" width="600" llx="71" lly="277" urx="535" ury="562"/>
+      <char name="quotedblright" width="600" llx="61" lly="277" urx="525" ury="562"/>
+      <char name="quoteleft" width="600" llx="178" lly="277" urx="428" ury="562"/>
+      <char name="quoteright" width="600" llx="171" lly="277" urx="423" ury="562"/>
+      <char name="quotesinglbase" width="600" llx="175" lly="-142" urx="427" ury="143"/>
+      <char name="quotesingle" width="600" llx="227" lly="277" urx="373" ury="562"/>
+      <char name="r" width="600" llx="47" lly="0" urx="580" ury="454"/>
+      <char name="registered" width="600" llx="0" lly="-18" urx="600" ury="580"/>
+      <char name="ring" width="600" llx="198" lly="481" urx="402" ury="678"/>
+      <char name="s" width="600" llx="68" lly="-17" urx="535" ury="459"/>
+      <char name="scaron" width="600" llx="68" lly="-17" urx="535" ury="667"/>
+      <char name="scedilla" width="600" llx="68" lly="-206" urx="535" ury="459"/>
+      <char name="section" width="600" llx="83" lly="-70" urx="517" ury="580"/>
+      <char name="semicolon" width="600" llx="123" lly="-111" urx="408" ury="425"/>
+      <char name="seven" width="600" llx="55" lly="0" urx="494" ury="601"/>
+      <char name="six" width="600" llx="90" lly="-15" urx="521" ury="616"/>
+      <char name="slash" width="600" llx="98" lly="-77" urx="502" ury="626"/>
+      <char name="space" width="600" llx="0" lly="0" urx="0" ury="0"/>
       <!-- JKT: the following has been manually added -->
-      <char name="nbsp" width="600"/>
-      <char name="square" width="600"/>
-      <char name="sterling" width="600"/>
-      <char name="stop" width="600"/>
-      <char name="t" width="600"/>
-      <char name="tab" width="600"/>
-      <char name="thorn" width="600"/>
-      <char name="three" width="600"/>
-      <char name="threequarters" width="600"/>
-      <char name="threesuperior" width="600"/>
-      <char name="tilde" width="600"/>
-      <char name="trademark" width="600"/>
-      <char name="two" width="600"/>
-      <char name="twosuperior" width="600"/>
-      <char name="u" width="600"/>
-      <char name="uacute" width="600"/>
-      <char name="ucircumflex" width="600"/>
-      <char name="udieresis" width="600"/>
-      <char name="ugrave" width="600"/>
-      <char name="underscore" width="600"/>
-      <char name="up" width="600"/>
-      <char name="v" width="600"/>
-      <char name="w" width="600"/>
-      <char name="x" width="600"/>
-      <char name="y" width="600"/>
-      <char name="yacute" width="600"/>
-      <char name="ydieresis" width="600"/>
-      <char name="yen" width="600"/>
-      <char name="z" width="600"/>
-      <char name="zcaron" width="600"/>
-      <char name="zero" width="600"/>
-   </widths>
-</font-metrics>
\ No newline at end of file
+      <char name="sterling" width="600" llx="72" lly="-28" urx="558" ury="611"/>
+      <char name="t" width="600" llx="47" lly="-15" urx="532" ury="562"/>
+      <char name="thorn" width="600" llx="-14" lly="-142" urx="570" ury="626"/>
+      <char name="three" width="600" llx="63" lly="-15" urx="501" ury="616"/>
+      <char name="threequarters" width="600" llx="-47" lly="-60" urx="648" ury="661"/>
+      <char name="threesuperior" width="600" llx="138" lly="222" urx="433" ury="616"/>
+      <char name="tilde" width="600" llx="89" lly="493" urx="512" ury="636"/>
+      <char name="trademark" width="600" llx="-9" lly="230" urx="749" ury="562"/>
+      <char name="two" width="600" llx="61" lly="0" urx="499" ury="616"/>
+      <char name="twosuperior" width="600" llx="143" lly="230" urx="436" ury="616"/>
+      <char name="u" width="600" llx="-1" lly="-15" urx="569" ury="439"/>
+      <char name="uacute" width="600" llx="-1" lly="-15" urx="569" ury="661"/>
+      <char name="ucircumflex" width="600" llx="-1" lly="-15" urx="569" ury="657"/>
+      <char name="udieresis" width="600" llx="-1" lly="-15" urx="569" ury="638"/>
+      <char name="ugrave" width="600" llx="-1" lly="-15" urx="569" ury="661"/>
+      <char name="underscore" width="600" llx="0" lly="-125" urx="600" ury="-75"/>
+      <char name="v" width="600" llx="-1" lly="0" urx="601" ury="439"/>
+      <char name="w" width="600" llx="-18" lly="0" urx="618" ury="439"/>
+      <char name="x" width="600" llx="6" lly="0" urx="594" ury="439"/>
+      <char name="y" width="600" llx="-4" lly="-142" urx="601" ury="439"/>
+      <char name="yacute" width="600" llx="-4" lly="-142" urx="601" ury="661"/>
+      <char name="ydieresis" width="600" llx="-4" lly="-142" urx="601" ury="638"/>
+      <char name="yen" width="600" llx="10" lly="0" urx="590" ury="562"/>
+      <char name="z" width="600" llx="81" lly="0" urx="520" ury="439"/>
+      <char name="zcaron" width="600" llx="81" lly="0" urx="520" ury="667"/>
+      <char name="zero" width="600" llx="87" lly="-15" urx="513" ury="616"/>
+    </char-metrics>
+</font-metrics>



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org


Re: svn commit: r1508208 [1/10] - in /xmlgraphics/fop/branches/Temp_FopFontsForSVG: ./ lib/ src/codegen/fonts/ src/java/org/apache/fop/afp/ src/java/org/apache/fop/afp/fonts/ src/java/org/apache/fop/afp/goca/ src/java/org/apache/fop/afp/svg/ src/java/org/a...

Posted by Vincent Hennebert <vh...@gmail.com>.
For those interested in playing with the code in this branch, you will
have to use a trunk version of Batik with the patch from the following
issue applied:
https://issues.apache.org/jira/browse/BATIK-1041

Vincent


On 29/07/13 23:45, vhennebert@apache.org wrote:
> Author: vhennebert
> Date: Mon Jul 29 21:45:20 2013
> New Revision: 1508208
> 
> URL: http://svn.apache.org/r1508208
> Log:
> Directly use FOP fonts to lay out SVG images for PDF, PS and AFP outputs.
> The metrics are now taken from FOP configured fonts and no longer from AWT equivalents. That avoids discrepancies in case AWT and FOP use slightly different fonts, or if the font is not installed on the system. That actually also avoids having to install the font on the system.
> FOP is also used for the primary layout of text (prior to SVG-specific transforms like translation or rotation) for consistency between SVG and XSL-FO.
> This is a joint work from Peter Hancock and myself.
> 
<snip/>