Здравейте, имам проблем с показването на арабски думи в LWUIT, знаците на арабските думи са разделени и обърнати, но това работи вярно на nokia, как мога да реша този проблем? Благодаря
LWUIT: проблем с показването на арабски думи?
Отговори (1)
В растерните шрифтове оформянето на арабски глифове не работи поради уникалните свойства на езика. Трябва да използвате системни шрифтове (които не са по подразбиране в някои от темите на LWUIT), в системните шрифтове поддръжката за арабски зависи от устройството/симулатора, като не всички от тях поддържат правилно двустранно писане/оформяне.
Забележете, че някои по-стари устройства на Sony Erricson, както и някои други устройства, като лошо локализирани устройства с Android (напр. Nexus One), нямат подходяща поддръжка на bidi. Това означава, че техните естествени джаджи прилагат bidi вместо тяхната drawString
реализация. За съжаление няма начин да се открие този бъг по време на изпълнение, така че LWUIT не може безпроблемно да го заобиколи!
Единственото решение е да се създаде версия специално за такива устройства, която ръчно изпълнява алгоритъма за bidi върху кода drawString, което означава замяна на изпълнението за тези устройства с изпълнение, което просто замества метода drawString и изпълнява алгоритъма за bidi върху изобразени низове. Bidi алгоритъмът на LWUIT е изложен в класа Display
.
system#bold#large
шрифт за показване на арабски текст. но това ще се показва погрешно от оригиналния текст. Питах във форума на LWUIT. Вижте този въпрос .
- person bharath; 09.11.2011