0

嗨,我在 LWUIT 中显示阿拉伯语单词时遇到问题,阿拉伯语单词字符被分开和反转,但它在诺基亚上是正确的,我该如何解决这个问题?谢谢

4

1 回答 1

0

在位图字体中,由于语言的独特属性,阿拉伯语字形整形不起作用。您需要使用系统字体(在某些 LWUIT 主题中不是默认字体),系统字体对阿拉伯语的支持取决于设备/模拟器,并非所有字体都正确支持双向/整形。

请注意,一些较旧的 Sony Erricson 设备以及其他一些设备,例如本地化严重的 Android 设备(例如 Nexus One)没有适当的双向支持。这意味着他们的原生小部件实现了双向而不是他们的drawString实现。不幸的是,没有办法在运行时检测到这个错误,所以 LWUIT 不能无缝地解决它!

唯一的解决方案是创建一个专门针对此类设备的版本,该版本在 drawString 代码上手动执行双向算法,这意味着将这些设备的实现替换为仅覆盖 drawString 方法并在渲染字符串上执行双向算法的实现。LWUIT 的双向算法在Display课程中公开。

于 2011-05-22T04:54:43.130 回答