Unicode support pour Android
Je suis nouveau sur android. Je veux savoir ne android en charge Unicode. Si oui, alors comment pouvons-nous l'utiliser par le biais de code java. J'ai écrit un programme
TextView tv = new TextView(this);
tv.setText("Hello, চন্দন");
setContentView(tv);
Le Bengali caractères unicode sont à venir sous forme de cases.
Merci d'avance.
source d'informationauteur Chandan | 2011-03-14
Vous devez vous connecter pour publier un commentaire.
"La prise en charge Unicode" - qui est tout simplement une norme de codage des caractères et de l'affichage de texte Unicode dans une manière qui peut être lu correctement sont des choses différentes.
Le dernier exige à la fois une police appropriée pour le script concerné et d'un texte complexe moteur de rendu, qui applique les règles intégrées dans la police de caractères à afficher correctement le texte. Dans Windows, ceci est géré par le système de bibliothèque appelée Uniscribe, sur les systèmes d'Apple par ATSUI, et sur les systèmes Linux par Pango. Android est basé sur Linux, mais malheureusement Google semblent avoir retiré les pièces pour la manipulation des scripts complexes. (Une étrange décision, étant donné que la plupart des appareils Android sont pour les communications, y compris le texte.) Complexe scripts fonctionnent correctement sur d'autres appareils mobiles à l'aide d'un système d'exploitation basé sur Linux comme le Nokia N9 et N900
Android, il est difficile pour les utilisateurs à installer des polices supplémentaires ou les dispositions de clavier qui peut être utilisé par différentes applications sans "l'enracinement" de leur téléphone ou tablette.
Quelques fabricants de terminaux Android ont mis en œuvre un soutien sur leur propre (par exemple, Sony Ericsson et ST MT téléphones de la série semblent appuyer Devanagari et d'autres Indic scipts très bien.) Sur certains téléphones Android Indic scripts rendra OK dans le navigateur, car le navigateur développeur a ajouté la prise en charge de leur propre, mais ne fonctionne pas dans d'autres applications.
Voir: http://code.google.com/p/android/issues/detail?id=4153
Jusqu'à ce que ce problème est bien fixé dans Android, la plupart des appareils fonctionnant ce système d'exploitation semble être un mauvais choix pour les utilisateurs qui veulent utiliser des scripts comme Devanagari, Tamil, Bengali, le Kannada, le Punjabi, le Telugu, le Tibétain, le Khmer, le Cingalais, le Malayalam, le Birman, et ainsi de suite sur leur téléphone intelligent ou d'une tablette.
La part d'Android qui a besoin de fixation pour support de scripts complexes est libskia.donc, et libwebcore.. Donc, si vous écrivez des applications pour soutenir les langues Indiennes, vous voudrez peut-être essayer de remplacer ces bibliothèques avec vos propres versions modifiées.
Android prend en charge Unicode, mais les polices incluses ne couvrent pas tous les caractères Unicode, et que le rendu ne prend pas en charge tous les types de scripts. En particulier, les inclus seulement les polices de couverture de l'europe Occidentale (Latin, Cyrillique, grec, et les caractères CJK. Même si vous installer de nouvelles polices de caractères, il semble que Android ne gère pas correctement certaines formes de indic de la présentation du texte comme le Devanagari, comme mentionné dans bug 4153. Je ne suis pas assez familier avec le Bengali script pour savoir si elle exige de toute sorte de spécial rendu comme Devanagari, mais s'il le fait, alors il n'est probablement pas pris en charge sur Android, même si vous installez une police qui le prend en charge.
Vous pouvez peut-être contourner ce avec un spécialiste de la police, comme on le voit dans cette SORTE de réponse sur le Tamil sur Android.
Bengali script besoins des ligatures comme Devanagari, donc, c'est faible chance que android rendrait Bengali correctement.
J'ai bien aimé la réponse complète à partir de Sahaja.
Il y a quelques efforts pour aller à port Harfbuzz-ng moteur de rendu pour android. Voici un lien vers le le code source de portage Harfbuzz-ng pour kannada , l'une des langues de l'inde, de l'affichage de texte.
Android prend en charge Unicode out-of-the-box. Vous êtes particulier, la langue ne sera pas pris en charge. Vous pouvez trouver la liste des paramètres régionaux pris en charge pour chaque version du SDK en regardant Plate-Forme De Notes.
Créer une Mise en page nom de list.xml dans la Mise en page
Ajouter un TextView et une ListView dans votre activity_main.xml
MainActivity.java
Espère que cela va vous Aider à...