您好 我在LWUIT中展示了阿拉伯语单词,阿拉伯语中的字符是分开和颠倒的,但它在诺基亚上是可行的,我怎么能解决这个问题呢? 谢谢
答案 0 :(得分:0)
在位图字体中,由于语言的独特属性,阿拉伯字形整形不起作用。 您需要使用系统字体(在LWUIT的某些主题中不是默认字体),在系统字体中,对阿拉伯语的支持取决于设备/模拟器,并非所有这些都支持bidi /整形。
请注意,一些较旧的索尼Erricson设备以及其他一些设备(如本地化的Android设备(例如Nexus One))没有适当的双向支持。这意味着他们的原生小部件实现了bidi而不是drawString
实现。不幸的是,在运行时无法检测到这个错误,因此LWUIT无法无缝地解决它!
唯一的解决方案是专门为这些设备创建一个版本,该设备在drawString代码上手动执行bidi算法,这意味着用一个只覆盖drawString方法的实现替换那些设备的实现,并在渲染时执行bidi算法字符串。 LWUIT的bidi算法在Display
类中公开。