FOP 阿拉伯字母间距

FOP Arabic letter spacing

我正在使用 Apache FOP 2.5 生成多语言 PDF,包括拉丁文、西里尔文和阿拉伯文字符。 我设法包含了正确的字体,并且能够在需要时处理阿拉伯语从右到左的显示。

但是我遇到了阿拉伯字符中字母间距的问题:字符彼此间隔开。这是我在生成的 PDF 中看到的

但这就是我原来的XML(请注意阿拉伯字符之间的距离):

我正在使用 Deja Vu 字体,并且我已经使用 here.

中描述的内容计算了字体的规格

我该如何解决这个问题?

我读过 this article,基本上每次要显示的字符串是阿拉伯语时都会插入 letter-spacing="-2pt"。但我不想对样式表中的语言进行硬编码测试。

感谢任何帮助!

编辑

感谢收到的非常宝贵的意见,我能够通过以下方式解决问题:

  1. 正在升级到 FOP 2.5
  2. 切换到另一种字体(繁体阿拉伯语而不是 Deja Vu)
  3. 并且,由于 FOP 2.5 不需要字体规格文件,因此删除了字体规格。

与此同时,我发现在我的应用程序中嵌入字体在 FOP 2.5 中比在 FOP 1.1 中更困难,因为在 FOP 字体配置中设置相对 URL 更难。我能够用 this other answer.

解决这个问题