5

I am developing an Android RSS reader.

My work almost done, but I have problem with Malayalam Unicode fonts when I display them using WebView.

I use following method to display RSS feeds:

String CurrentDescription = headlinesarray.Description[Number];

Description.loadDataWithBaseURL (null, "<html><head><style>@font-face{font-family:'MeeraRegular'; src: url('file:///android_asset/fonts/Meera.ttf');}body{font-family:'MeeraRegular'; font-size:20px; } </style></head><body>"+CurrentDescription+"</body></html>", "text/html", "UTF-8",
    null);

When I use this method, it displays Malayalam fonts, but not properly.Many charecters are misplaced.And its so difficult to read.

Here is a screen shot:

Screen Shot

Andrew Barber
  • 39,603
  • 20
  • 94
  • 123
Basim Sherif
  • 5,384
  • 7
  • 48
  • 90
  • Check this https://github.com/mayooresan/Japs-Attack-Ceylon--Android-App – safil sunny Apr 06 '12 at 09:35
  • Did not work.In your example,you are using TSCII fonts.Not Unicode..mine is Unicode. – Basim Sherif Apr 24 '12 at 11:50
  • Try `ANSI` instead of your `UTF-8` – Praveenkumar May 15 '12 at 05:58
  • @Basim : is it possible do the same stuffs using phone gap. I am planing to develop an app for my blog,which is in malayalam. – AloSwift Jul 30 '13 at 06:28
  • @kunjus sorry mate, but I am not familiar with phonegap. Btw, do you have font issue with phonegap? – Basim Sherif Jul 30 '13 at 06:29
  • @hm.. Actually I haven't started the app development yet.But since phone gap is purely browser based.. there is chance for font issues. – AloSwift Jul 30 '13 at 06:35
  • @kunjus I think you can do something similar with java script or php, since you are going to use phone gap.The code provided here is truly based on java. – Basim Sherif Jul 30 '13 at 06:40
  • @basin ok.. Am an iphone developer... Good in java too... but not familiar with android app development... well can you do me a favor.. could please give link to any good tutorials for doing such RSS stuffs.. – AloSwift Jul 30 '13 at 06:43
  • @kunjus http://www.androidhive.info/2012/05/android-rss-reader-application-using-sqlite-part-1/ this tutorial seems easy,source code also provided. All the best :) – Basim Sherif Jul 30 '13 at 07:29

3 Answers3

6

Finally I have found a solution.I converted Unicode fonts to Ascii,by replacing each and every Unicode charecters with Ascii.Here I use MLTT-Karthika as Ascii font.Then set this font in typeface.

    t=(TextView) findViewById(R.id.text);
        Typeface typeFace = Typeface.createFromAsset(getAssets(),"karthika.TTF");
        t.setTypeface(typeFace);

        String CurrentDecription;
 String s2=s.toLowerCase().replaceAll("അ", "A").replaceAll("ആ","B")
          .replaceAll("ഇ","C")
            .replaceAll("ഈ","Cu")
            .replaceAll("ഉ","D")
            .replaceAll("ഊ","Du")
            .replaceAll("ഋ","E")
            .replaceAll("എ","F")
            .replaceAll("ഏ","G")
            .replaceAll("ഐ","sF")
            .replaceAll("ഒ","H")
            .replaceAll("ഓ","Hm")
            .replaceAll("ഔ","Hu")
            .replaceAll("ക്തേ","tà").replaceAll("ക്തെ","sà").replaceAll("ക്ത്യ","ày").replaceAll("ക്തൈ","ssà").replaceAll("ക്ത","à").replaceAll("ക്ഷ്യ","£y").replaceAll("ക്ഷെ","s£").replaceAll("ക്ഷേ","t£").replaceAll("ക്ഷൈ","ss£").replaceAll("ക്ഷ","£").replaceAll("ക്ടെ","sÎ").replaceAll("ക്ടേ","tÎ").replaceAll("ക്ട","Î").replaceAll("ങ്കെ","s¦").replaceAll("ങ്കേ","t¦").replaceAll("ങ്കൈ","ss¦").replaceAll("ങ്ക","¦").replaceAll("ക്ലെ","s¢").replaceAll("ക്ലേ","t¢").replaceAll("ക്ലൈ","ss¢").replaceAll("ക്ല","¢").replaceAll("ക്കേ","t¡").replaceAll("ക്കോ","t¡m").replaceAll("ക്കെ","s¡").replaceAll("കൊ","sIm").replaceAll("കെ","sI").replaceAll("കോ","tIm").replaceAll("കേ","tI").replaceAll("ക്വ","Iz").replaceAll("ക്രൈ","ss{I").replaceAll("ക്രോ","t{Im").replaceAll("ക്രേ","t{I").replaceAll("ക്രൊ","s{Im").replaceAll("ക്രെ","s{I").replaceAll("ക്ര","{I").replaceAll("ക്യ","Iy").replaceAll("ക്കൈ","ss¡").replaceAll("ക്ക","¡").replaceAll("കൈ","ssI").replaceAll("ക","I")
            .replaceAll("ഖേ","tJ").replaceAll("ഖൈ","ssJ").replaceAll("ഖെ","sJ").replaceAll("ഖ്വ","Jz").replaceAll("ഖ്യ","Jy").replaceAll("ഖ","J")
            .replaceAll("ഗ്ലെ","s¥").replaceAll("ഗ്ലേ","t¥").replaceAll("ഗ്ലൈ","ss¥").replaceAll("ഗ്ല","¥").replaceAll("ഗ്ഗേ","t¤").replaceAll("ഗ്ഗൈ","ss¤").replaceAll("ഗ്ഗെ","s¤").replaceAll("ഗൈ","ssK").replaceAll("ഗൊ","sKm").replaceAll("ഗെ","sK").replaceAll("ഗ്വ","Kz").replaceAll("ഗ്യ","Ky").replaceAll("ഗൃ","Kr").replaceAll("ഗ്രൈ","ss{K").replaceAll("ഗ്ര","{K").replaceAll("ഗ്ഗ","¤").replaceAll("ഗോ","tKm").replaceAll("ഗേ","tK").replaceAll("ഗ","K")
            .replaceAll("ഘൈ","ssL").replaceAll("ഘൊ","sLm").replaceAll("ഘെ","sL").replaceAll("ഘോ","tLm").replaceAll("ഘേ","tL").replaceAll("ഘ","L")
            .replaceAll("ങ്ങൈ","ss§").replaceAll("ങ്ങെ","s§").replaceAll("ങ്ങേ","t§").replaceAll("ങ്ങ്യ","§y").replaceAll("ങ്ങ","§").replaceAll("ങേ","tM").replaceAll("ങൈ","ssM").replaceAll("ങെ","sM").replaceAll("ങ","M")
            .replaceAll("ഞ്ചൈ","ss©").replaceAll("ഞ്ചെ","s©").replaceAll("ഞ്ചേ","t©").replaceAll("ഞ്ച്യ","©y").replaceAll("ഞ്ച","©").replaceAll("ച്ചേ","t¨").replaceAll("ച്ചൈ","ss¨").replaceAll("ച്ചെ","s¨").replaceAll("ചോ","tNm").replaceAll("ചേ","tN").replaceAll("ചൈ","ssN").replaceAll("ചൊ","sNm").replaceAll("ചെ","sN").replaceAll("ച്ര","{N").replaceAll("ച്യ","Ny").replaceAll("ച്ച","¨").replaceAll("ച","N")
            .replaceAll("ഛൈ","ssO").replaceAll("ഛെ","sO").replaceAll("ഛേ","tO").replaceAll("ഛ","O")
            .replaceAll("ജ്ഞൈ","ssÚ").replaceAll("ജ്ഞെ","sÚ").replaceAll("ജ്ഞേ","tÚ").replaceAll("ജ്ഞ","Ú").replaceAll("ജ്ജേ","tÖ").replaceAll("ജ്ജൈ","ssÖ").replaceAll("ജ്ജെ","sÖ").replaceAll("ജ്ജ","Ö").replaceAll("ജൈ","ssP").replaceAll("ജൊ","sPm").replaceAll("ജെ","sP").replaceAll("ജ്വ","Pz").replaceAll("ജ്യ","Py").replaceAll("ജ്ര","{P").replaceAll("ജോ","tPm").replaceAll("ജേ","tP").replaceAll("ജ","P")
            .replaceAll("ഝൈ","ssQ").replaceAll("ഝെ","sQ").replaceAll("ഝേ","tQ").replaceAll("ത്സ്യ","Qy").replaceAll("ഝ","Q")
            .replaceAll("ഞ്ഞൈ","ssª").replaceAll("ഞ്ഞെ","sª").replaceAll("ഞ്ഞേ","tª").replaceAll("ഞ്ഞ","ª")
            .replaceAll("ഞൈ","ssR").replaceAll("ഞെ","sR").replaceAll("ഞേ","tR").replaceAll("ഞ","R")
            .replaceAll("ന്റെ","sâ").replaceAll("ന്റേ","tâ").replaceAll("ന്റ","â").replaceAll("ണ്ടൈ","ssî").replaceAll("ണ്ടെ","sî").replaceAll("ണ്ടേ","tî").replaceAll("ണ്ട്യ","îy").replaceAll("ണ്ട","î").replaceAll("ട്ട്യ","«y").replaceAll("ട്ടൈ","ss«").replaceAll("ട്ടെ","s«").replaceAll("ട്രൈ","ss{S").replaceAll("ട്രോ","t{Sm").replaceAll("ട്രേ","t{S").replaceAll("ട്രെ","s{S").replaceAll("ടൈ","ssS").replaceAll("ടൊ","sSm").replaceAll("ടെ","sS").replaceAll("ട്ര","{S").replaceAll("ട്വ","Sz").replaceAll("ട്യ","Sy").replaceAll("ട്ടോ","t«m").replaceAll("ട്ടേ","t«").replaceAll("ട്ട","«").replaceAll("ടോ","tSm").replaceAll("ടേ","tS").replaceAll("ട","S")
            .replaceAll("ഠൈ","ssT").replaceAll("ഠെ","sT").replaceAll("ഠേ","tT").replaceAll("ഠ്യ","Ty").replaceAll("ഠ","T")

            .replaceAll("ഡ്രൈ","ss{U").replaceAll("ഡ്രേ","t{U").replaceAll("ഡ്രെ","s{U").replaceAll("ഡൈ","ssU").replaceAll("ഡെ","sU").replaceAll("ഡ്ര","{U").replaceAll("ഡേ","tU").replaceAll("ഡോ","tUm").replaceAll("ഡ","U")
            .replaceAll("ഢൈ","ssV").replaceAll("ഢെ","sV").replaceAll("ഢേ","tV").replaceAll("ഢ","V")
            .replaceAll("ണ്മൈ","ss×").replaceAll("ണ്മെ","s×").replaceAll("ണ്മേ","t×").replaceAll("ണ്മ","×").replaceAll("ണ്ണൈ","ss®").replaceAll("ണ്ണെ","s®").replaceAll("ണൈ","ssW").replaceAll("ണെ","sW").replaceAll("ണ്‍","¬").replaceAll("ണ്ണേ","t®").replaceAll("ണ്ണ","®").replaceAll("ണേ","tW").replaceAll("ണ","W")
            .replaceAll("ത്ഥൈ","ss°").replaceAll("ത്ഥെ","s°").replaceAll("ത്ഥേ","t°").replaceAll("ത്ഥ്യ","°y").replaceAll("ത്ഥ","°").replaceAll("ത്മൈ","ssß").replaceAll("ത്മെ","sß").replaceAll("ത്മേ","tß").replaceAll("ത്മ","ß").replaceAll("ത്തൈ","ss¯").replaceAll("ത്തെ","s¯").replaceAll("ന്തൈ","ss´").replaceAll("ന്തെ","s´").replaceAll("തൈ","ssX").replaceAll("തൊ","sXm").replaceAll("തെ","sX").replaceAll("ത്വ","Xz").replaceAll("ന്ത്ര","{´").replaceAll("ന്ത്യ","´y").replaceAll("ന്തേ","t´").replaceAll("ന്തോ","t´m").replaceAll("ന്ത","´").replaceAll("ത്യേ","tXy").replaceAll("ത്യ","Xy").replaceAll("തൃ","Xr").replaceAll("ത്രൈ","ss{X").replaceAll("ത്രോ","t{Xm").replaceAll("ത്രൊ","t{Xm").replaceAll("ത്രേ","t{X").replaceAll("ത്രെ","s{X").replaceAll("ത്ര","{X").replaceAll("ത്തേ","t¯").replaceAll("ത്ത","¯").replaceAll("തോ","tXm").replaceAll("തേ","tX").replaceAll("ത","X")


            .replaceAll("ഥൈ","ssY").replaceAll("ഥെ","sY").replaceAll("ഥേ","tY").replaceAll("ഥ","Y")                                   
            .replaceAll("ദ്ധേ","t²").replaceAll("ദ്ധൈ","ss²").replaceAll("ദ്ധെ","s²").replaceAll("ദ്ധ","²").replaceAll("ബ്ദൈ","ssÐ").replaceAll("ബ്ദെ","sÐ").replaceAll("ബ്ദേ","tÐ").replaceAll("ബ്ദ","Ð").replaceAll("ന്ദൈ","ssµ").replaceAll("ന്ദെ","sµ").replaceAll("ന്ദേ","tµ").replaceAll("ന്ദ്രേ","t{µ").replaceAll("ന്ദ്രൈ","ss{µ").replaceAll("ന്ദ്രെ","s{µ").replaceAll("ന്ദ്ര","{µ").replaceAll("ന്ദ","µ").replaceAll("ദ്ദൈ","ss±").replaceAll("ദ്ദെ","s±").replaceAll("ദ്ദേ","t±").replaceAll("ദ്ദ","±").replaceAll("ദൈ","ssZ").replaceAll("ദെ","sZ").replaceAll("ദ്വൈ","ssZz").replaceAll("ദ്വേ","tZz").replaceAll("ദ്വ","Zz").replaceAll("ദ്യെ","sZy").replaceAll("ദ്യേ","tZy").replaceAll("ദ്യ","Zy").replaceAll("ദൃ","Zr").replaceAll("ദേ","tZ").replaceAll("ദ","Z")
            .replaceAll("ബ്ധെ","sÏ").replaceAll("ബ്ധേ","tÏ").replaceAll("ബ്ധ","Ï").replaceAll("ന്ധ്രെ","s{Ô").replaceAll("ന്ധ്യ","Ôy").replaceAll("ന്ധ്ര","{Ô").replaceAll("ന്ധെ","sÔ").replaceAll("ന്ധേ","tÔ").replaceAll("ന്ധ","Ô").replaceAll("ധൈ","ss[").replaceAll("ധെ","s[").replaceAll("ധ്യ","[y").replaceAll("ധൃ","[r").replaceAll("ധേ","t[").replaceAll("ധ","[")
           .replaceAll("ന്&zwj;െറ","sâ").replaceAll("ന്&zwj;േറ","tâ").replaceAll("ന്റെ","sâ").replaceAll("ന്റേ","tâ").replaceAll("ന്&zwj;റ","â").replaceAll("ന്റ","â").replaceAll("ന്&zwj;","³").replaceAll("ന്‍","³").replaceAll("ന്നൈ","ss¶").replaceAll("ന്നെ","s¶").replaceAll("ന്നേ","t¶").replaceAll("ന്ന","¶").replaceAll("ന്മൈ","ss∙").replaceAll("ന്മെ","s∙").replaceAll("ന്മേ","t∙").replaceAll("ന്മ","∙").replace("നൈ","ss\\").replace("നൊ","s\\m").replace("നെ","s\\").replace("ന്വേ","t\\z").replace("ന്വെ","s\\z").replace("ന്വ","\\z").replace("ന്യ","\\y").replace("നോ","t\\m").replace("നേ","t\\").replace("ന","\\")
            .replaceAll("മ്പൈ","ss¼").replaceAll("മ്പെ","s¼").replaceAll("മ്പ്യ","¼y").replaceAll("മ്പേ","t¼").replaceAll("മ്പ","¼").replaceAll("ല്പെ","så").replaceAll("ല്പേ","tå").replaceAll("ല്പ","å").replaceAll("പ്ലേ","ts¹").replaceAll("പ്ലൈ","ss¹").replaceAll("പ്ലെ","s¹").replaceAll("പ്ല","¹").replaceAll("പ്പേ","t¸").replaceAll("പ്പൈ","ss¸").replaceAll("പ്പെ","s¸").replaceAll("പൈ","ss]").replaceAll("പൊ","s]m").replaceAll("പെ","s]").replaceAll("പ്യ","]y").replaceAll("പ്രേ","t{]").replaceAll("പ്രൈ","ss{]").replaceAll("പ്രെ","s{]").replaceAll("പ്ര","{]").replaceAll("പ്പേ","t¸").replaceAll("പ്പ","¸").replaceAll("പോ","t]m").replaceAll("പേ","t]").replaceAll("പ","]")
            .replaceAll("ഫ്ലൈ","^vssf").replaceAll("ഫ്ലെ","^vsf").replaceAll("ഫ്ലേ","^vtf").replaceAll("ഫ്ല","^vf").replaceAll("ഫൈ","ss^").replaceAll("ഫൊ","s^m").replaceAll("ഫെ","s^").replaceAll("ഫോ","t^m").replaceAll("ഫേ","t^").replaceAll("ഫ്ര","{^").replaceAll("ഫ","^")
            .replaceAll("ബ്ലൈ","ss»").replaceAll("ബ്ലെ","s»").replaceAll("ബ്ലേ","t»").replaceAll("ബ്ല","»").replaceAll("ബ്ബൈ","ssº").replaceAll("ബ്ബെ","sº").replaceAll("ബൈ","ss_").replaceAll("ബൊ","s_m").replaceAll("ബെ","s_").replaceAll("ബ്രേ","t{_").replaceAll("ബ്രൈ","ss{_").replaceAll("ബ്രെ","s{_").replaceAll("ബ്ര","{_").replaceAll("ബ്ബേ","tº").replaceAll("ബ്ബ","º").replaceAll("ബോ","t_m").replaceAll("ബേ","t_").replaceAll("ബ","_")
            .replaceAll("ഭൈ","ss`").replaceAll("ഭെ","s`").replaceAll("ഭ്വ","`z").replaceAll("ഭ്ര","{`").replaceAll("ഭ്യ","`y").replaceAll("ഭൃ","`r").replaceAll("ഭേ","t`").replaceAll("ഭ","`")
            .replaceAll("മ്മൈ","ss½").replaceAll("മ്മെ","s½").replaceAll("മൈ","ssa").replaceAll("മൊ","sam").replaceAll("മെ","sa").replaceAll("മ്യ","ay").replaceAll("മൃ","ar").replaceAll("മ്മേ","t½").replaceAll("മ്മ","½").replaceAll("മോ","tam").replaceAll("മേ","ta").replaceAll("മ","a")
            .replaceAll("ല്യ","ey").replaceAll("ര്യ","cy").replaceAll("ഷ്യ","jy").replaceAll("ഹ്യ","ly").replaceAll("സ്യേ","tky").replaceAll("സ്യ","ky").replaceAll("ശ്യ","iy").replaceAll("വ്യ","hy").replaceAll("യ്യൈ","ss¿").replaceAll("യ്യെ","s¿").replaceAll("യോ","tbm").replaceAll("യൈ","ssb").replaceAll("യെ","sb").replaceAll("യ്യേ","t¿").replaceAll("യ്യ","¿").replaceAll("യേ","tb").replaceAll("യ","b")
            .replaceAll("ഹ്ര","{l").replaceAll("സ്രേ","t{k").replaceAll("സ്ര","{k").replaceAll("വ്ര","{h").replaceAll("ശ്രേ","t{i").replaceAll("ശ്ര","{i").replaceAll("രൈ","ssc").replaceAll("രൊ","scm").replaceAll("രെ","sc").replaceAll("ര്വ","cz").replaceAll("ര്&zwj;","À").replaceAll("ര്‍","À").replaceAll("ര്യ","cy").replaceAll("രോ","tcm").replaceAll("രേ","tc").replaceAll("ര","c")
            .replaceAll("റ്റൈ","ssä").replaceAll("റ്റെ","sä").replaceAll("റ്റേ","tä").replaceAll("റ്റോ","täm").replaceAll("റ്റ","ä").replaceAll("റൈ","ssd").replaceAll("റെ","sd").replaceAll("റേ","td").replaceAll("റ","d")
            .replaceAll("ഹ്ലെ","sË").replaceAll("ഹ്ലേ","tË").replaceAll("ഹ്ല","Ë").replaceAll("ശ്ലെ","sÇ").replaceAll("ശ്ലേ","tÇ").replaceAll("ശ്ല","Ç").replaceAll("ല്ലൈ","ssÃ").replaceAll("ല്ലൊ","sÃm").replaceAll("ല്ലെ","sÃ").replaceAll("ലൈ","sse").replaceAll("ലൊ","sem").replaceAll("ലെ","se").replaceAll("ല്ല്വ","Ãz").replaceAll("ല്ല","Ã").replaceAll("ല്&zwj;","Â").replaceAll("ല്‍","Â").replaceAll("ല്ല്യ","Ãy").replaceAll("ല്ലോ","tÃm").replaceAll("ല്ലേ","tÃ").replaceAll("ല്ല","Ã").replaceAll("ലോ","tem").replaceAll("ലേ","te").replaceAll("ല","e")
            .replaceAll("ള്ള","Å").replaceAll("ള്&zwj;","Ä").replaceAll("ള്‍","Ä").replaceAll("ള്ളൈ","ssÅ").replaceAll("ള്ളെ","sÅ").replaceAll("ളൈ","ssf").replaceAll("ളെ","sf").replaceAll("ള്ള","Å").replaceAll("ള്ളേ","tÅ").replaceAll("ളേ","tf").replaceAll("ള","f")
            .replaceAll("ഴൈ","ssg").replaceAll("ഴെ","sg").replaceAll("ഴേ","tg").replaceAll("ഴ","g")
            .replaceAll("ഷ്വൈ","ssjz").replaceAll("ഷ്വെ","sjz").replaceAll("ഷ്വ","jz").replaceAll("ഹ്വ","lz").replaceAll("സ്വേ","tkz").replaceAll("സ്വൈ","sskz").replaceAll("സ്വെ","skz").replaceAll("സ്വ","kz").replaceAll("വ്വൈ","ssÆ").replaceAll("വ്വെ","sÆ").replaceAll("വൈ","ssh").replaceAll("വെ","sh").replaceAll("ശ്വേ","tiz").replaceAll("ശ്വ","iz").replaceAll("വ്വേ","tÆ").replaceAll("വ്വ","Æ").replaceAll("വേ","th").replaceAll("വോ","thm").replaceAll("വ","h")
            .replaceAll("ശ്ശൈ","ssÈ").replaceAll("ശ്ശെ","sÈ").replaceAll("ശൈ","ssi").replaceAll("ശൊ","sim").replaceAll("ശെ","si").replaceAll("ശ്രേ","t{i").replaceAll("ശ്ര","{i").replaceAll("ശ്ശേ","tÈ").replaceAll("ശ്ശ","È").replaceAll("ശോ","tim").replaceAll("ശേ","ti").replaceAll("ശ","i")
            .replaceAll("ഷൈ","ssj").replaceAll("ഷെ","sj").replaceAll("ഷേ","tj").replaceAll("ഷ","j")
            .replaceAll("സ്സൈ","ssÊ").replaceAll("സ്സെ","sÊ").replaceAll("സൈ","ssk").replaceAll("സെ","sk").replaceAll("സ്സ","Ê").replaceAll("സ്സേ","tÊ").replaceAll("സേ","tk").replaceAll("സോ","tkm").replaceAll("സ","k")
            .replaceAll("ഹൈ","ssl").replaceAll("ഹെ","sl").replaceAll("ഹേ","tl").replaceAll("ഹ","l")
            .replaceAll("ാ","m")
            .replaceAll("ി","n")
            .replaceAll("ീ","o")
            .replaceAll("ു","p")
            .replaceAll("ൂ","q")
            .replaceAll("ഃ","x")
            .replaceAll("്","v")
            .replaceAll("ം","w")
            .replaceAll("ൗ","u")

            .replaceAll("ൃ","r")
                ;

    t.setText(s2);
Basim Sherif
  • 5,384
  • 7
  • 48
  • 90
  • Yes it works perfect.But you need to make sure that all character combinations are replaced. – Basim Sherif Apr 29 '13 at 09:02
  • How do you convert the malayalam words to asciii in the kartika font?? – njnjnj Aug 02 '14 at 16:58
  • Where do you get the key combinations for all the malayalam letters...? – njnjnj Aug 02 '14 at 16:59
  • Some of the characters such as ണ്ട് are displaying as weird characters. How can correct it? Can you please help me..I have a doubt. you have used replaceAll("ണ്ട", "î") in your code. How did you choose that?? Can you please explain the logic behind it.. – njnjnj Aug 02 '14 at 16:59
  • Also some characters are displaying as square boxes in some phones such as galaxy ace having custom rom 4.4.2 cyanogenmod. Whereas it is displaying correctly in some others such as xperia m. How can this problem be cleared?? – njnjnj Aug 02 '14 at 17:00
  • Also the word മാധ്യമം is shown as മാധ് യമം (actually there is no space between ധ് and യ. but to show here correctly I have used space in between them.). How do I correct these type of mistakes?? Is it due to the font which I have used (karthika font)? – njnjnj Aug 02 '14 at 17:00
  • can you tell me how to do the same thing in javascript ? – shabeer Dec 01 '14 at 16:14
  • I have created similar for javascript https://github.com/kirant400/android-webview-malayalam-font-family – kirant400 Sep 19 '15 at 02:52
1

basim, i have one solution. may be this will help you

download salilam ttf file from this link and place this filename instead of malayalam.fnt

http://www.prokerala.com/downloads/fonts.php

add ur font file in assets folder of your project, then with the help of setTYpeface() function set the font for textview.

 Typeface typeFace = Typeface.createFromAsset(getAsset(),"malyalam.fnt");

and then add it to your textview like below

 textView.setTypeFace(typeFace);

hope this will work for u,

i have sent those code files to ur mail, basim.sherif@gmail.com

Basim Sherif
  • 5,384
  • 7
  • 48
  • 90
Neeraj Neeru
  • 570
  • 8
  • 28
-1

Switch your text encoding to UTF-8.

In Eclipse go to Window -> Preferences, select General -> Workspace. From the Text file encoding dropdown, select UTF-8.

https://stackoverflow.com/a/5857671/1933926

Community
  • 1
  • 1
arise peter
  • 15
  • 1
  • 4