studio solucionar solucion renderizado problems problemas problema problem previsualizacion español como android unicode tamil

renderizado - solucionar problema layout android studio



Cómo renderizo Tamil Unicode en Android (2)

Cómo resolví esto es,

Primero correlacioné el Unicode con la fuente Bamini con la ayuda de http://www.ucsc.cmb.ac.lk/ltrl/services/feconverter/ .

Luego, se trataba simplemente de reemplazar el carácter Unicode con el personaje Bamini. Envío el texto a esa función y lo visualizo con la fuente Bamini.

public static String initialize(String text) { text = text.replace("ஸ்ரீ", "="); text = text.replace(",", ">"); text = text.replace("ஜௌ", "n[s"); text = text.replace("ஜோ", "N[h"); text = text.replace("ஜொ", "n[h"); text = text.replace("ஜா", "[h"); text = text.replace("ஜி", "[p"); text = text.replace("ஜீ", "[P"); text = text.replace("ஜு", "[{"); text = text.replace("ஜூ", "[_"); text = text.replace("ஜெ", "n["); text = text.replace("ஜே", "N["); text = text.replace("ஜை", "i["); text = text.replace("ஜ்", "[;"); text = text.replace("ஜ", "["); text = text.replace("கௌ", "nfs"); text = text.replace("கோ", "Nfh"); text = text.replace("கொ", "nfh"); text = text.replace("கா", "fh"); text = text.replace("கி", "fp"); text = text.replace("கீ", "fP"); text = text.replace("கு", "F"); text = text.replace("கூ", "$"); text = text.replace("கெ", "nf"); text = text.replace("கே", "Nf"); text = text.replace("கை", "if"); text = text.replace("க்", "f;"); text = text.replace("க", "f"); text = text.replace("ஙௌ", "nqs"); text = text.replace("ஙோ", "Nqh"); text = text.replace("ஙொ", "nqh"); text = text.replace("ஙா", "qh"); text = text.replace("ஙி", "qp"); text = text.replace("ஙீ", "qP"); text = text.replace("ஙு", "*"); text = text.replace("ஙூ", "*"); text = text.replace("ஙெ", "nq"); text = text.replace("ஙே", "Nq"); text = text.replace("ஙை", "iq"); text = text.replace("ங்", "q;"); text = text.replace("ங", "q"); text = text.replace("சௌ", "nrs"); text = text.replace("சோ", "Nrh"); text = text.replace("சொ", "nrh"); text = text.replace("சா", "rh"); text = text.replace("சி", "rp"); text = text.replace("சீ", "rP"); text = text.replace("சு", "R"); text = text.replace("சூ", "R+"); text = text.replace("செ", "nr"); text = text.replace("சே", "Nr"); text = text.replace("சை", "ir"); text = text.replace("ச்", "r;"); text = text.replace("ச", "r"); text = text.replace("ஞௌ", "nQs"); text = text.replace("ஞோ", "NQh"); text = text.replace("ஞொ", "nQh"); text = text.replace("ஞா", "Qh"); text = text.replace("ஞி", "Qp"); text = text.replace("ஞீ", "QP"); text = text.replace("ஞு", "*"); text = text.replace("ஞூ", "*"); text = text.replace("ஞெ", "nQ"); text = text.replace("ஞே", "NQ"); text = text.replace("ஞை", "iQ"); text = text.replace("ஞ்", "Q;"); text = text.replace("ஞ", "Q"); text = text.replace("டௌ", "nls"); text = text.replace("டோ", "Nlh"); text = text.replace("டொ", "nlh"); text = text.replace("டா", "lh"); text = text.replace("டி", "b"); text = text.replace("டீ", "B"); text = text.replace("டு", "L"); text = text.replace("டூ", "^"); text = text.replace("டெ", "nl"); text = text.replace("டே", "Nl"); text = text.replace("டை", "il"); text = text.replace("ட்", "l;"); text = text.replace("ட", "l"); text = text.replace("ணௌ", "nzs"); text = text.replace("ணோ", "Nzh"); text = text.replace("ணொ", "nzh"); text = text.replace("ணா", "zh"); text = text.replace("ணி", "zp"); text = text.replace("ணீ", "zP"); text = text.replace("ணு", "Z"); text = text.replace("ணூ", "Z}"); text = text.replace("ணெ", "nz"); text = text.replace("ணே", "Nz"); text = text.replace("ணை", "iz"); text = text.replace("ண்", "z;"); text = text.replace("ண", "z"); text = text.replace("தௌ", "njs"); text = text.replace("தோ", "Njh"); text = text.replace("தொ", "njh"); text = text.replace("தா", "jh"); text = text.replace("தி", "jp"); text = text.replace("தீ", "jP"); text = text.replace("து", "J"); text = text.replace("தூ", "J}"); text = text.replace("தெ", "nj"); text = text.replace("தே", "Nj"); text = text.replace("தை", "ij"); text = text.replace("த்", "j;"); text = text.replace("த", "j"); text = text.replace("நௌ", "nes"); text = text.replace("நோ", "Neh"); text = text.replace("நொ", "neh"); text = text.replace("நா", "eh"); text = text.replace("நி", "ep"); text = text.replace("நீ", "eP"); text = text.replace("நு", "E"); text = text.replace("நூ", "E}"); text = text.replace("நெ", "ne"); text = text.replace("நே", "Ne"); text = text.replace("நை", "ie"); text = text.replace("ந்", "e;"); text = text.replace("ந", "e"); text = text.replace("னௌ", "nds"); text = text.replace("னோ", "Ndh"); text = text.replace("னொ", "ndh"); text = text.replace("னா", "dh"); text = text.replace("னி", "dp"); text = text.replace("னீ", "dP"); text = text.replace("னு", "D"); text = text.replace("னூ", "D}"); text = text.replace("னெ", "nd"); text = text.replace("னே", "Nd"); text = text.replace("னை", "id"); text = text.replace("ன்", "d;"); text = text.replace("ன", "d"); text = text.replace("பௌ", "ngs"); text = text.replace("போ", "Ngh"); text = text.replace("பொ", "ngh"); text = text.replace("பா", "gh"); text = text.replace("பி", "gp"); text = text.replace("பீ", "gP"); text = text.replace("பு", "G"); text = text.replace("பூ", "G+"); text = text.replace("பெ", "ng"); text = text.replace("பே", "Ng"); text = text.replace("பை", "ig"); text = text.replace("ப்", "g;"); text = text.replace("ப", "g"); text = text.replace("மௌ", "nks"); text = text.replace("மோ", "Nkh"); text = text.replace("மொ", "nkh"); text = text.replace("மா", "kh"); text = text.replace("மி", "kp"); text = text.replace("மீ", "kP"); text = text.replace("மு", "K"); text = text.replace("மூ", "%"); text = text.replace("மெ", "nk"); text = text.replace("மே", "Nk"); text = text.replace("மை", "ik"); text = text.replace("ம்", "k;"); text = text.replace("ம", "k"); text = text.replace("யௌ", "nas"); text = text.replace("யோ", "Nah"); text = text.replace("யொ", "nah"); text = text.replace("யா", "ah"); text = text.replace("யி", "ap"); text = text.replace("யீ", "aP"); text = text.replace("யு", "A"); text = text.replace("யூ", "A+"); text = text.replace("யெ", "na"); text = text.replace("யே", "Na"); text = text.replace("யை", "ia"); text = text.replace("ய்", "a;"); text = text.replace("ய", "a"); text = text.replace("ரௌ", "nus"); text = text.replace("ரோ", "Nuh"); text = text.replace("ரொ", "nuh"); text = text.replace("ரா", "uh"); text = text.replace("ரி", "up"); text = text.replace("ரீ", "uP"); text = text.replace("ரு", "U"); text = text.replace("ரூ", "&"); text = text.replace("ரெ", "nu"); text = text.replace("ரே", "Nu"); text = text.replace("ரை", "iu"); text = text.replace("ர்", "u;"); text = text.replace("ர", "u"); text = text.replace("லௌ", "nys"); text = text.replace("லோ", "Nyh"); text = text.replace("லொ", "nyh"); text = text.replace("லா", "yh"); text = text.replace("லி", "yp"); text = text.replace("லீ", "yP"); text = text.replace("லு", "Y"); text = text.replace("லூ", "Y}"); text = text.replace("லெ", "ny"); text = text.replace("லே", "Ny"); text = text.replace("லை", "iy"); text = text.replace("ல்", "y;"); text = text.replace("ல", "y"); text = text.replace("ளௌ", "nss"); text = text.replace("ளோ", "Nsh"); text = text.replace("ளொ", "nsh"); text = text.replace("ளா", "sh"); text = text.replace("ளி", "sp"); text = text.replace("ளீ", "sP"); text = text.replace("ளு", "S"); text = text.replace("ளூ", "Sh"); text = text.replace("ளெ", "ns"); text = text.replace("ளே", "Ns"); text = text.replace("ளை", "is"); text = text.replace("ள்", "s;"); text = text.replace("ள", "s"); text = text.replace("வௌ", "nts"); text = text.replace("வோ", "Nth"); text = text.replace("வொ", "nth"); text = text.replace("வா", "th"); text = text.replace("வி", "tp"); text = text.replace("வீ", "tP"); text = text.replace("வு", "T"); text = text.replace("வூ", "T+"); text = text.replace("வெ", "nt"); text = text.replace("வே", "Nt"); text = text.replace("வை", "it"); text = text.replace("வ்", "t;"); text = text.replace("வ", "t"); text = text.replace("ழௌ", "nos"); text = text.replace("ழோ", "Noh"); text = text.replace("ழொ", "noh"); text = text.replace("ழா", "oh"); text = text.replace("ழி", "op"); text = text.replace("ழீ", "oP"); text = text.replace("ழு", "O"); text = text.replace("ழூ", "*"); text = text.replace("ழெ", "no"); text = text.replace("ழே", "No"); text = text.replace("ழை", "io"); text = text.replace("ழ்", "o;"); text = text.replace("ழ", "o"); text = text.replace("றௌ", "nws"); text = text.replace("றோ", "Nwh"); text = text.replace("றொ", "nwh"); text = text.replace("றா", "wh"); text = text.replace("றி", "wp"); text = text.replace("றீ", "wP"); text = text.replace("று", "W"); text = text.replace("றூ", "W}"); text = text.replace("றெ", "nw"); text = text.replace("றே", "Nw"); text = text.replace("றை", "iw"); text = text.replace("ற்", "w;"); text = text.replace("ற", "w"); text = text.replace("ஹௌ", "n`s"); text = text.replace("ஹோ", "N`h"); text = text.replace("ஹொ", "n`h"); text = text.replace("ஹா", "`h"); text = text.replace("ஹி", "`p"); text = text.replace("ஹீ", "`P"); text = text.replace("ஹு", "{`"); text = text.replace("ஹூ", "`_"); text = text.replace("ஹெ", "n`"); text = text.replace("ஹே", "N`"); text = text.replace("ஹை", "i`"); text = text.replace("ஹ்", "`;"); text = text.replace("ஹ", "`"); text = text.replace("ஷௌ", "n//s"); text = text.replace("ஷோ", "N//h"); text = text.replace("ஷொ", "n//h"); text = text.replace("ஷா", "//h"); text = text.replace("ஷி", "//p"); text = text.replace("ஷீ", "//P"); text = text.replace("ஷு", "//{"); text = text.replace("ஷூ", "//_"); text = text.replace("ஷெ", "n//"); text = text.replace("ஷே", "N//"); text = text.replace("ஷை", "i//"); text = text.replace("ஷ்", "//;"); text = text.replace(''ஷ'', ''//'); text = text.replace("ஸௌ", "n]s"); text = text.replace("ஸோ", "N]h"); text = text.replace("ஸொ", "n]h"); text = text.replace("ஸா", "]h"); text = text.replace("ஸி", "]p"); text = text.replace("ஸீ", "]P"); text = text.replace("ஸு", "]{"); text = text.replace("ஸூ", "]_"); text = text.replace("ஸெ", "n]"); text = text.replace("ஸே", "N]"); text = text.replace("ஸை", "i]"); text = text.replace("ஸ்", "];"); text = text.replace("ஸ", "]"); text = text.replace("அ", "m"); text = text.replace("ஆ", "M"); text = text.replace("இ", "๳"); text = text.replace("ஈ", "<"); text = text.replace("உ", "c"); text = text.replace("ஊ", "C"); text = text.replace("எ", "v"); text = text.replace("ஏ", "V"); text = text.replace("ஐ", "I"); text = text.replace("ஒ", "x"); text = text.replace("ஓ", "X"); text = text.replace("ஔ", "xs"); return text = text.replace("ஃ", "/"); }

Bueno,

Así que mi problema es que tengo un feed XML Tamil (Unicode), quiero tomar esto y mostrarlo en una aplicación de Android.

Cuando intento hacer esto, debido a que Android no tiene soporte nativo para Tamil, se debe usar una fuente personalizada.

Pero luego surge el problema porque el renderizado en Unicode es completamente diferente. ¿Cómo puedo solucionar esto?


El problema al usar Bamini es que no te permite mezclar cadenas Tamil e Inglés. Convertirá todo a Tamil. Como resultado, las cuerdas en inglés se verán ridículas.

Para un ejemplo si dices என் பேர் மயூரேசன் (Mayooresan) , se convertirá como என் பேர் மயூரேசன் (அயலழழசநளயn)

Por lo tanto, le recomiendo que use las TSCII , TAB o TAM .

Si desea convertir dinámicamente, le recomiendo que consulte la biblioteca gratuita que escribí para convertir la codificación de forma dinámica. Una vez que importe la biblioteca, todo lo que tiene que hacer es solo esto.

// Initialise the Typeface (assumes TSCII, Bamini, Anjal, TAB or TAM font located inside assets/fonts folder) Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/mylai.ttf"); // Initialises the TextView TextView tv = (TextView)findViewById(R.id.textView1); //Setting the Typeface tv.setTypeface(tf); //Magic happens here ;) encoding conversion String TSCIIString = TamilUtil.convertToTamil(TamilUtil.TSCII, "வணக்கம் அன்ரொயிட்"); //Setting the new string to TextView tv.setText(TSCIIString);

Puedes leer más sobre este tema en mi respuesta aquí