2013-07-30 37 views
5

我有以下xsl-fo代码,试图产生外来字符。XSL-FO外来字符(波兰语)Unicode在APACHE FOP(V. 1.1)

<?xml version="1.0" encoding="UTF-8"?> 
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> 
... 
<fo:block font-size="11pt" font-family="calibri" language="pl">  
Odwrotna strona tego pisma zawiera wa&#x017C;ne informacje. je&#x017C;eli potrzebuje Pan/i pomocy, aby je zrozumie&#x0107;, prosz&#x0119; 
     zadzwoni&#x0107; pod numer X-XXX-XXX-XXXX po bezp&#x0142;atne us&#x0142;ugi j&#x0119;zykowe. 
</fo:block> 

我已经试过所有的字体类型,我能想到的访问所需的Unicode字符,但至今没有成功。

我的格式有问题吗?或者我正在使用的unicode?或者也许我没有正确地声明我的XML?

这和我的韩国,中国和俄罗斯的unicode角色是目前唯一给我带来麻烦的角色。而我的西班牙和克罗地亚的Unicode字符工作正常。

+0

什么是您的输出文件格式?您使用哪个程序查看结果输出?这些字符到底发生了什么(它们是否被遗漏,错误的字符,问号,框)?你在哪个操作系统上? – Eelke

+0

我的输出是一个PDF文件,用Adobe Reader进行查看。有问题的字符变成#符号。我在Windows XP上。 – Zibbobz

回答

3

如果您在文件中显示特殊字符时遇到问题,您可以尝试在配置文件中定义它们。 这里http://xmlgraphics.apache.org/fop/trunk/output.html#afp-configuration你可能会发现如何去做。 另外请确保您有正确指定您的字体目录的路径。在Windows中,它应该看起来像这样:

<fonts> 
     <directory recursive="true">C:\Windows\Fonts</directory> 
     <auto-detect/> 
</fonts> 
+0

鉴于这些文件必须在服务器上处理,然后发送到打印室进行打印,那么就服务器端支持而言,是否存在任何可预见的问题?我假设,为了在我们的服务器上呈现它们,我必须将目录引用作为服务器目录。但为了阅读和打印文件,是否需要在本地安装字体? – Zibbobz

+1

字体文件只需要在服务器端存在。然后它们被包含在PDF本身内。 –

+0

在生成的pdf中包含字体文件是Apache fop设置中的默认设置吗? –