If FOP outputs characters as #
, the selected font does not include a glyph to represent them.
This is presumably because your XML input file contains lines like:
<kraj>Francja, USA, Włochy</kraj>
The problematic character here is ł
.
So, to answer your question: FOP does support UTF-8, it is just that the font (in your case: font-family='Calibri'
) does not have a means to represent the characters.
If this indeed the case, FOP should output a warning along the lines of
WARNING: Glyph for "ł" not available in font "DejaVuSans"
Now, in order to also account for those characters not present in whatever font you have chosen, either change the output font alltogether or, as a workaround, isolate them with inlines.
For instance, this is how you make sure that for the character Σ
(a mathematical operator), the right font is selected:
<fo:block>
<fo:inline font-family='Symbol'>Σ</fo:inline>
</fo:block>
See this page for more info on fonts with FOP: http://xmlgraphics.apache.org/fop/trunk/fonts.html .