请注意,我在使用api fop 1.0(XSL-FO)以PDF格式生成的报告中显示阿拉伯语时遇到问题。
我配置了一个userConfig.xml来使用Arial.ttf字体。一切正常,但字符分开显示。
例如:تقول而不是تقول
我只把空格给你解释。
<fo:block-container font-size="12pt" writing-mode="rl-tb" xml:lang="ar" font-family="Arial" xmlns:fo="http://www.w3.org/1999/XSL/Format" >
<fo:block>
تقول
</fo:block>
</fo:block-container>
我尝试使用标记,但其内容未出现在生成的文档中。
<fo:block text-align="center">
<fo:inline direction="rtl" language="ar" unicode-bidi="embed">
تقول
</fo:inline>
</fo:block>
userConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Arial Unicode only -->
<fop version="1.0">
<renderers>
<renderer mime="application/pdf">
<fonts>
<!-- register a particular font -->
<font kerning="yes"
embed-url="file:///C:\windows\arial.ttf"
encoding-mode="single-byte">
<font-triplet name="Arial" style="normal" weight="normal"/>
</font>
</fonts>
</renderer>
</renderers>
</fop>
谢谢。
答案 0 :(得分:0)
可以在FOP中禁用对阿拉伯语和其他复杂脚本的支持,请参阅FOP complex scripts。
如果已启用,请设置lang =&#34; ar&#34;应该够了。
复杂脚本禁用应该是&#39; false&#39;