Java FOP apache-支持希伯来文字母

Java FOP apache-支持希伯来文字母,java,pdf,xsl-fo,apache-fop,Java,Pdf,Xsl Fo,Apache Fop,在过去的几天里,我一直在调查FOP apache中对希伯来字母的支持 用于生成PDF文件的项目 我看到过去有一个问题,我真的不知道它是否被解决了 如果有支持,是否有人可以向我展示/重定向到简单示例,给我一个XSL-FO文件,其中包含希伯来文字母,当使用FOP时,PDF正确生成(清除,不按顺序字母反转) 我非常感谢你的回答。这件事真的很困扰我,我想因为这件事搬到IText 您想要什么样的样品?对我来说很好 <fo:list-item><fo:list-item-label en

在过去的几天里,我一直在调查FOP apache中对希伯来字母的支持 用于生成PDF文件的项目

我看到过去有一个问题,我真的不知道它是否被解决了

如果有支持,是否有人可以向我展示/重定向到简单示例,给我一个XSL-FO文件,其中包含希伯来文字母,当使用FOP时,PDF正确生成(清除,不按顺序字母反转)


我非常感谢你的回答。这件事真的很困扰我,我想因为这件事搬到IText

您想要什么样的样品?对我来说很好

 <fo:list-item><fo:list-item-label end-indent="label-end()"><fo:block>Hebrew</fo:block></fo:list-     item-label>
 <fo:list-item-body start-indent="body-start()"><fo:block xml:lang="he"><fo:bidi-override    
 unicode-bidi="embed" direction="rtl">כאשר העולם רוצה לדבר, הוא מדבר ב־Unicode</fo:bidi-
 override></fo:block></fo:list-item-body></fo:list-item>
希伯来语 统一码 如果使用bidi覆盖和方向,则效果良好。我在RenderX、Antennahouse和ApacheFop中对此进行了测试,结果是一样的

上图是天线房、中间的RenderX和底部的ApacheFop

根据下面的问题,使用方向rtl和bidi覆盖是因为该句子包含英语和希伯来语混合。如果你只有希伯来语,它应该格式正确。使用FOP三种方式查看此图像。中间版本不正确,因为它需要这些属性

以下是此示例的完整示例:

    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <fo:layout-master-set>
    <fo:simple-page-master master-name="PageMaster" margin="25mm" page-width="8.5in" page-height="11in" >
    <fo:region-body margin="10mm"/>
    <fo:region-before extent="6mm" display-align="center"/>
    <fo:region-after extent="6mm" display-align="center"/>
    </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="PageMaster">
    <fo:flow flow-name="xsl-region-body" line-height="1.7" font-family="Arial Unicode MS">
    <fo:block>Mixed English and Hebrew with Override</fo:block>
    <fo:block xml:lang="he"><fo:bidi-override unicode-bidi="embed" direction="rtl">כאשר העולם רוצה לדבר, הוא מדבר ב־Unicode</fo:bidi-override></fo:block>
    <fo:block>Mixed English and Hebrew no Override</fo:block>
    <fo:block>כאשר העולם רוצה לדבר, הוא מדבר ב־Unicode</fo:block>
    <fo:block>Hebrew only no Override</fo:block>
    <fo:block>כאשר העולם רוצה לדבר, הוא מדבר ב־</fo:block>    
    </fo:flow>
    </fo:page-sequence>
    </fo:root>

混合英语和希伯来语,带覆盖
统一码
英语和希伯来语混合,无覆盖
统一码
只有希伯来语没有覆盖
כאשר העולם רוצה לדבר, הוא מדבר ב־    


您使用的是witch FOP版本吗?在我的情况下,数据参数未知,可能是英语/希伯来语。我该如何处理这个案例?我没能成功,你能提供完整的文件吗?我添加了一个完整的示例,带有示例输出和注释,请参见答案。请注意,真正的答案是使用fo:bidi覆盖,与原始示例中一样。原因是如果句子内容混杂,或者全是英语或全是希伯来语,那么答案将是正确的。