Привет, у меня проблема с отображением арабских слов в LWUIT, символы арабских слов разделены и перевернуты, но это работает на Nokia, как я могу решить эту проблему? Благодарность
LWUIT: проблема с отображением арабских слов?
Ответы (1)
В растровых шрифтах формирование арабских глифов не работает из-за уникальных свойств языка. Вам необходимо использовать системные шрифты (которые не используются по умолчанию в некоторых темах LWUIT), в системных шрифтах поддержка арабского языка зависит от устройства/симулятора, не все из которых поддерживают биди/формирование должным образом.
Обратите внимание, что некоторые старые устройства Sony Erricson, а также некоторые другие устройства, такие как плохо локализованные устройства Android (например, Nexus One), не имеют надлежащей поддержки двунаправленного текста. Это означает, что их родные виджеты реализуют биди вместо их реализации drawString
. К сожалению, нет способа обнаружить эту ошибку во время выполнения, поэтому LWUIT не может ее легко обойти!
Единственное решение состоит в том, чтобы создать версию специально для таких устройств, которая вручную выполняет алгоритм двунаправленного ввода в коде drawString, что означает замену реализации для этих устройств реализацией, которая просто переопределяет метод drawString и выполняет алгоритм двунаправленного ввода в отображаемых строках. Алгоритм биди LWUIT представлен в классе Display
.
system#bold#large
для отображения арабского текста. но это будет отображаться неправильно из исходного текста. Я спросил на форуме LWUIT. Посмотрите на этот вопрос .
- person bharath; 09.11.2011