LWUIT:显示阿拉伯语单词的问题?

时间:2010-09-30 16:55:30

标签: java-me nokia lwuit arabic

您好 我在LWUIT中展示了阿拉伯语单词,阿拉伯语中的字符是分开和颠倒的,但它在诺基亚上是可行的,我怎么能解决这个问题呢? 谢谢

1 个答案:

答案 0 :(得分:0)

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

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

唯一的解决方案是专门为这些设备创建一个版本,该设备在drawString代码上手动执行bidi算法,这意味着用一个只覆盖drawString方法的实现替换那些设备的实现,并在渲染时执行bidi算法字符串。 LWUIT的bidi算法在Display类中公开。