XSL-FO:显示阿拉伯字符

时间:2018-03-28 10:42:22

标签: xml xslt xsl-fo

请注意,我在使用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>
  • 我xsl的负责人      

谢谢。

1 个答案:

答案 0 :(得分:0)

可以在FOP中禁用对阿拉伯语和其他复杂脚本的支持,请参阅FOP complex scripts

如果已启用,请设置lang =&#34; ar&#34;应该够了。

复杂脚本禁用应该是&#39; false&#39;