2010-09-30 6 views

Répondre

0

Dans les polices bitmap La mise en forme glyphe arabe ne fonctionne pas en raison des propriétés uniques du langage. Vous devez utiliser des polices système (qui ne sont pas celles par défaut dans certains thèmes de LWUIT), dans les polices système, la prise en charge de l'arabe dépend du périphérique/simulateur qui ne prend pas en charge correctement le bidi/shape.

Remarquez que certains anciens appareils Sony Erricson ainsi que d'autres appareils tels que les appareils Android mal localisés (par exemple Nexus One) ne sont pas correctement pris en charge par bidi. Cela signifie que leurs widgets natifs implémentent bidi au lieu de leur implémentation drawString. Malheureusement, il n'y a aucun moyen de détecter ce bug dans l'exécution, donc LWUIT ne peut pas contourner le problème de façon transparente! La seule solution est de créer une version spécifique à ces périphériques qui exécute manuellement l'algorithme bidi sur le code drawString, cela signifie remplacer l'implémentation pour ces périphériques avec une implémentation qui remplace juste la méthode drawString et exécute l'algorithme bidi sur chaînes de rendu. L'algorithme bidi de LWUIT est exposé dans la classe Display.

+0

@ shai, J'ai utilisé la police 'system # bold # large' pour afficher du texte arabe. mais cela montrera à tort du texte original. J'ai demandé dans le forum de LWUIT. Regardez sur [cette question.] (Http://www.java.net/forum/topic/mobile-embedded/lwuit/why-arabic-font-wrongly-showing-nokia-mobiles) – bharath

+0

J'ai mis à jour ma réponse basée sur le commentaires bien que ce ne soit pas clair si c'est le problème. –