Hi William (and all),

This did turn out to be an encoding problem after all. Unfortunately I do not have the time at the moment to provide a fix for this problem. but I have provided a patch which provides the ability for FOP to correctly identify the type 1 font encoding.

At least now you will be provided with a human readable log error message rather than NullPointerException :-).

Maybe someone could take a look at implementing support for these encoding types? It wouldn't be too difficult, it would mostly involve adding data to src/codegen/fonts/encodings.xml. Most of the background information anyone would require for providing support for these encodings can be found in the patch I provided (http://issues.apache.org/bugzilla/show_bug.cgi?id=43143).

If you are still using a metrics-url in your font configuration then you will need to regenerate your metrics file once this patch has been applied as the font encoding detection is flawed for detecting these encoding types for type 1 fonts in the existing implementation.

Of course font you don't need to specify "metrics-url" attributes in your fop.xconf anymore in the latest trunk code and in the forthcoming 0.94 (and 0.93 if I am correct). You can just provide an embed-url and FOP will generate the metrics on the fly.


<font kerning="yes" embed-url="Bundesba.pfb">
        <font-triplet name="Bundesbahn" style="normal" weight="normal"/>

All the best,


william wrote:
Thanks Adrian and everyone,

I have sent it to you for you to take a look at it (font and FO). if there's something that is useful for me/others to know, please do tell me.

Otherwise, does anyone has any idea where else I can look for software solution that might accommodate this ?


Adrian Cumiskey wrote:
Hi William,

Yes I think that might be the problem, it does look like an encoding problem to me. I took a quick look at the code and the NullPointerException you are experiencing would indicate that the encoding is not recognised by FOP and its failing to provide a CodePointMapping instance which is used internally by SingleByteFont.

If you send me the font (and fo) I will try and take a quick look at it.


william wrote:
Hi All,

First of all, would like to thank you all developers and commiters at FOP. i've been using it for awhile now.

I haven't had problem with embedding fonts before, except on this Bundesbahn-Pi font and another symbol/pi font. The error message is posted below.
I'm using fop 0.93 and I need help with embedding this font.

Is there anything to do with this?
/"currently present a problem because FOP cannot correctly determine the encoding of these two single-byte fonts through the PFM file. FOP now correctly interprets the "encoding" value in the XML font metrics file, but the PFMReader application writes "UnknownEncoding" to the generated XML file"

/If someone would try to work it out for me, i can send you the font to try out + .fo file.

This is my configuration for the font:
<font metrics-url="Bundesbahn.xml" kerning="yes" embed-url="Bundesba.pfb"> <font-triplet name="Bundesbahn" style="normal" weight="normal"/>
*Error message generated by FOP:*
10/08/2007 06:16:13 org.apache.fop.cli.Main startFOP
SEVERE: Exception
at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:168) at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115)
       at org.apache.fop.cli.Main.startFOP(Main.java:160)
       at org.apache.fop.cli.Main.main(Main.java:191)


at org.apache.fop.fonts.SingleByteFont.hasChar(SingleByteFont.java:103)
       at org.apache.fop.fonts.LazyFont.hasChar(LazyFont.java:166)
       at org.apache.fop.fonts.Font.hasChar(Font.java:189)
       at org.apache.fop.fonts.Font.getCharWidth(Font.java:231)
at org.apache.fop.layoutmgr.inline.TextLayoutManager.initialize(TextLayoutManager.java:188)

Thank you,

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to