LWUIT: проблема с отображением арабских слов?

Привет, у меня проблема с отображением арабских слов в LWUIT, символы арабских слов разделены и перевернуты, но это работает на Nokia, как я могу решить эту проблему? Благодарность


person mahdi    schedule 30.09.2010    source источник


Ответы (1)


В растровых шрифтах формирование арабских глифов не работает из-за уникальных свойств языка. Вам необходимо использовать системные шрифты (которые не используются по умолчанию в некоторых темах LWUIT), в системных шрифтах поддержка арабского языка зависит от устройства/симулятора, не все из которых поддерживают биди/формирование должным образом.

Обратите внимание, что некоторые старые устройства Sony Erricson, а также некоторые другие устройства, такие как плохо локализованные устройства Android (например, Nexus One), не имеют надлежащей поддержки двунаправленного текста. Это означает, что их родные виджеты реализуют биди вместо их реализации drawString. К сожалению, нет способа обнаружить эту ошибку во время выполнения, поэтому LWUIT не может ее легко обойти!

Единственное решение состоит в том, чтобы создать версию специально для таких устройств, которая вручную выполняет алгоритм двунаправленного ввода в коде drawString, что означает замену реализации для этих устройств реализацией, которая просто переопределяет метод drawString и выполняет алгоритм двунаправленного ввода в отображаемых строках. Алгоритм биди LWUIT представлен в классе Display.

person Shai Almog    schedule 22.05.2011
comment
@ shai, я использовал шрифт system#bold#large для отображения арабского текста. но это будет отображаться неправильно из исходного текста. Я спросил на форуме LWUIT. Посмотрите на этот вопрос . - person bharath; 09.11.2011
comment
Я обновил свой ответ на основе комментариев, хотя неясно, в этом ли проблема. - person Shai Almog; 10.11.2011