This section contains detailed instructions for how to add type faces to Apache FOP for PDF generation in Cocoon 1.7.1 on a Windows system. The links below provide additional information:
http://xml.apache.org/fop/fonts.html
http://cocoon.apache.org/2.0/userdocs/serializers/pdf-serializer.html
The following example creates the Garamond type face. First, go to the “lib” directory of Cocoon
E:\cocoon-2.1.7\lib>
Then, consider the typeface creation command:
java -cp
optional\fop-0.20.5.jar;
endorsed\xercesImpl-2.6.2.jar;endorsed\xml-apis.jar
org.apache.fop.fonts.apps.TTFReader
-enc ansi C:\WINDOWS\Fonts\gara.ttf
E:\fop-fonts\garamond.ttf.xml
This example creates garamond regular, bold, italic. Again, remember that the output should be in different xml files for each type face. Also, no line breaks when you enter the commands.
java -cp optional\fop-0.20.5.jar;endorsed\xercesImpl-2.6.2.jar;endorsed\xml-apis.jar org.apache.fop.fonts.apps.TTFReader -enc ansi C:\WINDOWS\Fonts\gara.ttf E:\fop-fonts\garamond.ttf.xml
java -cp optional\fop-0.20.5.jar;endorsed\xercesImpl-2.6.2.jar;endorsed\xml-apis.jar org.apache.fop.fonts.apps.TTFReader -enc ansi C:\WINDOWS\Fonts\garabd.ttf E:\fop-fonts\garamondbd.ttf.xml
java -cp optional\fop-0.20.5.jar;endorsed\xercesImpl-2.6.2.jar;endorsed\xml-apis.jar org.apache.fop.fonts.apps.TTFReader -enc ansi C:\WINDOWS\Fonts\garait.ttf E:\fop-fonts\garamondi.ttf.xml
You could remove the ”–enc ansi” part of the command, but then your font metrics will be CID-keyed. At this time, that will not work (you will not be able to copy text from your pdf document).
Then create a config.xml file (if you have a type face named “config”, then obviously you have to use a different file name) in your fop-fonts directory.
Here is an example file:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<fonts>
<font metrics-file="E:/fop-fonts/garamond.ttf.xml" kerning="yes" embed-file="C:/WINDOWS/Fonts/GARA.TTF">
<font-triplet name="Garamond" style="normal" weight="normal"/>
</font>
<font metrics-file="E:/fop-fonts/garamondbd.ttf.xml" kerning="yes" embed-file="C:/WINDOWS/Fonts/GARABD.TTF">
<font-triplet name="Garamond" style="normal" weight="bold"/>
</font>
<font metrics-file="E:/fop-fonts/garamondi.ttf.xml" kerning="yes" embed-file="C:/WINDOWS/Fonts/GARAIT.TTF">
<font-triplet name="Garamond" style="italic" weight="normal"/>
</font>
<font metrics-file="E:/fop-fonts/arial.ttf.xml" kerning="yes" embed-file="C:/WINDOWS/Fonts/arial.ttf">
<font-triplet name="Arial" style="normal" weight="normal"/>
<font-triplet name="ArialMT" style="normal" weight="normal"/>
</font>
<font metrics-file="E:/fop-fonts/arialbd.ttf.xml" kerning="yes" embed-file="C:/WINDOWS/Fonts/arialbd.ttf">
<font-triplet name="Arial" style="normal" weight="bold"/>
<font-triplet name="ArialMT" style="normal" weight="bold"/>
</font>
<font metrics-file="E:/fop-fonts/arialbi.ttf.xml" kerning="yes" embed-file="C:/WINDOWS/Fonts/arialbi.ttf">
<font-triplet name="Arial" style="italic" weight="bold"/>
<font-triplet name="ArialMT" style="italic" weight="bold"/>
</font>
<font metrics-file="E:/fop-fonts/ariali.ttf.xml" kerning="yes" embed-file="C:/WINDOWS/Fonts/ariali.ttf">
<font-triplet name="Arial" style="italic" weight="normal"/>
<font-triplet name="ArialMT" style="italic" weight="normal"/>
</font>
<font metrics-file="E:/fop-fonts/GIL_____.TTF.xml" kerning="yes" embed-file="C:/WINDOWS/Fonts/GIL_____.TTF">
<font-triplet name="Gill Sans" style="normal" weight="normal"/>
<font-triplet name="Gill Sans MT" style="normal" weight="normal"/>
</font>
<font metrics-file="E:/fop-fonts/GILI____.TTF.xml" kerning="yes" embed-file="C:/WINDOWS/Fonts/GILI____.TTF">
<font-triplet name="Gill Sans" style="italic" weight="normal"/>
<font-triplet name="Gill Sans MT" style="italic" weight="normal"/>
</font>
<font metrics-file="E:/fop-fonts/GILB____.TTF.xml" kerning="yes" embed-file="C:/WINDOWS/Fonts/GILB____.TTF">
<font-triplet name="Gill Sans" style="normal" weight="bold"/>
font-triplet name="Gill Sans MT" style="normal" weight="bold"/>
</font>
<font metrics-file="E:/fop-fonts/GILBI___.TTF.xml" kerning="yes" embed-file="C:/WINDOWS/Fonts/GILBI___.TTF">
<font-triplet name="Gill Sans" style="italic" weight="bold"/>
<font-triplet name="Gill Sans MT" style="italic" weight="bold"/>
</font>
</fonts>
</configuration>
Then, you also have to alter your sitemap. Replace the following section:
<map:serializer name="fo2pdf"
src="org.apache.cocoon.serialization.FOPSerializer"
mime-type="application/pdf"/>