FOP 阿拉伯字母间距
FOP Arabic letter spacing
我正在使用 Apache FOP 2.5 生成多语言 PDF,包括拉丁文、西里尔文和阿拉伯文字符。
我设法包含了正确的字体,并且能够在需要时处理阿拉伯语从右到左的显示。
但是我遇到了阿拉伯字符中字母间距的问题:字符彼此间隔开。这是我在生成的 PDF 中看到的
但这就是我原来的XML(请注意阿拉伯字符之间的距离):
我正在使用 Deja Vu 字体,并且我已经使用 here.
中描述的内容计算了字体的规格
我该如何解决这个问题?
我读过 this article,基本上每次要显示的字符串是阿拉伯语时都会插入 letter-spacing="-2pt"
。但我不想对样式表中的语言进行硬编码测试。
感谢任何帮助!
编辑:
- 使用 FOP 2.5
- 我确认
complex-script
已启用(添加了调试消息以确保)
- 我在配置文件中设置了
kerning="yes"
感谢收到的非常宝贵的意见,我能够通过以下方式解决问题:
- 正在升级到 FOP 2.5
- 切换到另一种字体(繁体阿拉伯语而不是 Deja Vu)
- 并且,由于 FOP 2.5 不需要字体规格文件,因此删除了字体规格。
与此同时,我发现在我的应用程序中嵌入字体在 FOP 2.5 中比在 FOP 1.1 中更困难,因为在 FOP 字体配置中设置相对 URL 更难。我能够用 this other answer.
解决这个问题
我正在使用 Apache FOP 2.5 生成多语言 PDF,包括拉丁文、西里尔文和阿拉伯文字符。 我设法包含了正确的字体,并且能够在需要时处理阿拉伯语从右到左的显示。
但是我遇到了阿拉伯字符中字母间距的问题:字符彼此间隔开。这是我在生成的 PDF 中看到的
但这就是我原来的XML(请注意阿拉伯字符之间的距离):
我正在使用 Deja Vu 字体,并且我已经使用 here.
中描述的内容计算了字体的规格我该如何解决这个问题?
我读过 this article,基本上每次要显示的字符串是阿拉伯语时都会插入 letter-spacing="-2pt"
。但我不想对样式表中的语言进行硬编码测试。
感谢任何帮助!
编辑:
- 使用 FOP 2.5
- 我确认
complex-script
已启用(添加了调试消息以确保) - 我在配置文件中设置了
kerning="yes"
感谢收到的非常宝贵的意见,我能够通过以下方式解决问题:
- 正在升级到 FOP 2.5
- 切换到另一种字体(繁体阿拉伯语而不是 Deja Vu)
- 并且,由于 FOP 2.5 不需要字体规格文件,因此删除了字体规格。
与此同时,我发现在我的应用程序中嵌入字体在 FOP 2.5 中比在 FOP 1.1 中更困难,因为在 FOP 字体配置中设置相对 URL 更难。我能够用 this other answer.
解决这个问题