I have been trying to use the "URW Bookman L" font, which is one of the Ghostscript fonts (b018012l.pfb). Apache FOP recognises it only when it is bold. More accurately, it uses the Demi Bold font when Bold is requested. Howevere, it does not use the Light font when Normal is requested, which is what I want.
When I run fc-list, I get the following information: $ fc-list | grep URW\ Book URW Bookman L:style=Demi Bold URW Bookman L:style=Light URW Bookman L:style=Light Italic URW Bookman L:style=Demi Bold Italic I wrote a small FO file: ?xml version="1.0" encoding="UTF-8"?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" font-family="URW Bookman L"> <fo:layout-master-set> <fo:simple-page-master master-name="A4" page-height="29.7cm" page-width="21cm" margin="2cm"> <fo:region-body/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="A4"> <fo:flow flow-name="xsl-region-body"> <fo:block> <fox:destination internal-destination="hello"/> </fo:block> <fo:block id="hello-normal" font-weight="normal">Hello World Normal!</fo:block> <fo:block id="hello-bold" font-weight="bold">Hello World Bold!</fo:block> <fo:block id="hello-italic" font-style="italic">Hello World Italic!</fo:block> <fo:block id="hello-bold-italic" font-weight="bold" font-style="italic">Hello World Bold Italic!</fo:block> </fo:flow> </fo:page-sequence> </fo:root> I wrote fop.xconf like this: $ fop -c fop.xconf font.fo font.pdf Aug 4, 2008 6:35:36 PM org.apache.fop.events.LoggingEventListener processEvent WARNING: Font "URW Bookman L,normal,400" not found. Substituting with "any,normal,400". Aug 4, 2008 6:35:36 PM org.apache.fop.events.LoggingEventListener processEvent WARNING: Font "URW Bookman L,normal,700" not found. Substituting with "URW Bookman L,normal,600". Aug 4, 2008 6:35:37 PM org.apache.fop.events.LoggingEventListener processEvent WARNING: Font "URW Bookman L,italic,400" not found. Substituting with "any,italic,400". Aug 4, 2008 6:35:37 PM org.apache.fop.events.LoggingEventListener processEvent WARNING: Font "URW Bookman L,italic,700" not found. Substituting with "URW Bookman L,italic,600". Aug 4, 2008 6:35:37 PM org.apache.fop.events.LoggingEventListener processEvent WARNING: Destination: Unresolved ID reference "hello" found. I tried various combinations of the following: <substitutions> <substitution> <from font-family="URW Bookman L" font-weight="normal" font-style="normal"/> <to font-family="URW Bookman L" font-weight="?" font-style="?"/> </substitution> </substitutions> but nothing worked. I made a font metrics file. Within the font metric file, I changed the name of the font from URWBookmanL-Ligh to "URW Bookman L", and in the fop.xconf, I wrote: <font-triplet name="URW Bookman L" style="normal" weight="normal"/> This seemed to work, but it was very tiresome. Normal, Bold and Bold Italic are working now, so I only have to do it one more time to make Italic work. How can I get font substitution to work? My complete fop.xconf is: <?xml version="1.0" encoding="UTF-8"?> <fop> <renderers> <renderer mime="application/pdf"> <fonts> <substitutions> <substitution> <from font-family="URW Bookman L" font-weight="normal" font-style="normal"/> <to font-family="URW Bookman L" font-weight="?" font-style="?"/> </substitution> </substitutions> <!-- <font-triplet name="URW Bookman L" style="normal" weight="normal"/> --> <!-- <directory recursive="true">/usr/local/share/fonts</directory> --> <directory recursive="true">/usr/share/fonts/type1/gsfonts</directory> <auto-detect/> </fonts> </renderer> </renderers> </fop> I am using fop-trunk r 682557 (Jul 31, 2008). -- View this message in context: http://www.nabble.com/Font-%3Csubstitution%3E-not-working-with-Ghostscript-font-tp18823889p18823889.html Sent from the FOP - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]