How to get perfect Sinhala text on Android 4.4 KitKat! (and 4.2 + 4.3) + Instructions for 5.0 Lollipop Issues

Screenshot_2014-04-09-12-26-32
Screenshot on HTC One Google Play Edition

Using Sinhala on the phone used to be very important to me. After switching to Windows Phone (7.x – those things were unhackable) I decided to let it go. But since I moved back to Android felt like it was time to get it done! (The delay was obviously because I couldn’t be bothered with rooting. But as with everything, I eventually got bored and had to seek out methods of entertainment. In this case with custom ROMs and other fun things.)

You may have seen good Sinhala support on Samsung devices. This is because they include Sinhala fonts when they customize their ROMs by default.

We have tried using Sinhala font files on older versions of Android – in my case a shitty Samsung. Although it worked, it was not perfect. There were loads of rendering issues. (You can check an old guide by Kalinga here)

I tried doing the same thing on my current phone but it didn’t work (because of a permission issue I think). After running around XDA Forums for a day, I managed to find another more modern method to do it.

Sinhala Text on Official Twitter App
Sinhala Text on Official Twitter App

Since I had doubts about the previous font we used (one customized for iOS back in the day by Nick) I went looking around on Siyabas and found Bhashitha for Linux. I followed a guide on XDA Forums written for Punjabi support. After messing about for a while and a final reboot, perfect Sinhala text!

So let’s begin.

Requirements: Android 4.2 / Android 4.3 Jelly Bean or 4.4 KitKat, Root Access, Sinhala Font of your choice

Disclaimer: I won’t be responsible if you kill/brick your device, make it explode, turn it into a transformer etc. Proceed at your own risk!

Steps:

  1. Root your device if you haven’t already
  2. Download font from Siyabas. I used Bhashitha for Linux. Potha also works. [4.2.2 only supported Potha in Shenal’s testing] Try other fonts and let us know if they work. [Chathura tried our custom MalithiWeb font but it showed rendering issues on other Apps like Twitter.] Link: Sinhala Fonts
  3. Copy the font files to /system/fonts (I copied the files to the SD card and used ADB Shell to mount and copy them to the relevant directory. You can use something like Root Browser too) – You can use any file you like. I decided to go with LBhashitaComplexSans
  4. Download the fallback_fonts.xml file from /etc
  5. Open the fallback_fonts.xml file and modify it by adding your font names before DroidSansFallback entry.Screen Shot 2014-04-09 at 1.13.37 PM
  6. Copy the file back to the /etc directory.
  7. Now an important part which took some time for me to figure out. PERMISSIONS! Change the permissions of your fallback_fonts.xml file AND the font files to 644 or -rw-r–r– (You can do this with the terminal with chmod or using a root browser application.)
    Screen Shot 2014-04-09 at 1.18.30 PM
  8. Reboot and rejoice! (Maybe yell like a madman like I did.)

Typing:

Bhasha Helakuru or Multilingual Keyboard with the Sinhala plugin for typing. Since I’m a Wijesekara guy I went with the latter.

Swiftkey also supports Sinhala now. It’s my primary keyboard now since it supports easier switching between languages + autocorrect and suggestions.

Swiftkey: https://play.google.com/store/apps/details?id=com.touchtype.swiftkey&hl=en

Bhasha Helakuru: https://play.google.com/store/apps/details?id=lk.bhasha.helakuru

Multilingual Keyboard: https://play.google.com/store/apps/details?id=kl.ime.oh
Plugin: https://play.google.com/store/apps/details?id=klye.plugin.si

5.0 Lollipop:

If you’re having Sinhala trouble with Lollipop (I had a few issues with 5.0 ROMs for HTC One) follow this guide written by Chamika Weerasinghe: Enable Sinhala fonts rendering in Nexus 7 Android 5.0 Lollipop

Thanks

Thanks @chathuraw for testing on 4.3

Thanks @ShenalSilva for testing on 4.2.2

Everyone who has tried and reported back! 🙂

95 thoughts on “How to get perfect Sinhala text on Android 4.4 KitKat! (and 4.2 + 4.3) + Instructions for 5.0 Lollipop Issues

        1. If you can’t root just tell me.
          Tell me your phone model
          And it can be done with one click.

        2. Hi,

          I got a Huawei Honor 6 and i am going crazy without sinhala in it.

          Tried to root it with root genius and vroot and failed. Is there a way to root this easily without taking much risk? I am not a developer.

          Appreciate your help.

          Sulochana

  1. Really good guide, found it really easy to follow and managed to install Sinhala on my tab. Thank you!

    Two things to clarify: Getting access to /system/fonts might not always be straightforward. You might have to remount /system to gain read + write privilege. Found this a useful guide on how to do it. (Read the whole thing through before starting).

    Also if you’re rooting in Linux you might have to run adb/fastboot in super user mode, so keep that in mind.

  2. Worked perfectly on HTC One X (Android 4.2.2|Sense 5) , tried with “LBhashitaComplexSans” & it works fine. Thanks for the guide ayya 🙂

  3. Thanks man, it worked in My Xperia P running KitKat. I had installed MalithiWeb using “com.jrummy.font.installer”, but it didn’t work quite well. This, on the other hand, works superbly!

    Thanks for sharing the “Multilingual Keyboard”, as well. I was looking for a Wijesekara keyboard for a long time. Yes, we have to type kombuwa etc after the letter, but it’s forgivable.

  4. What I did was little different. I extracted the “SamsungSinhala.ttf ” file from from kitkat build of a samsung firmware. I renamed the file “DroidSansFallback.ttf”
    Then I pushed the file to system/fonts replacing the old file and fixed the permissions. worked well. Never knew about editing the XML file.
    foe future use I also created a flashable zip. 🙂

    1. Yes it should work fine. Earlier we did same for the previous android version other than this method. Can you please upload your samsung font file?

  5. මටත් උදව් කරන්න..මම මේ විදිහට කරා…ඒත් මොකකවත් සිංහල පේන්නේ නෑ හරියට.පොන් එක nexus 5.

    1. හරි ගියා..මම ෆොන්ට් එක මරු කලා potha කියන ෆොන්ට් එකට…බොහොම ස්තූතී.

  6. සිංහල ස්ථාපනය සාර්ථකයි. මාගේ ස්තුතිය.

  7. not work with Shiny Rom 4.4.3 or 4.4.4 on Galaxy nexus. Do you have any suggestion Bro?
    can’t see any sinhala font

    1. Not sure mate. I don’t have any experience with the ROM you’ve mentioned. Although it shouldn’t affect this, maybe the developers of it have done some customizations that affect it?

      I’ve tried this on Google Play Edition, Sense and another ROM called Android Revolution based on Sense 6 but didn’t face any issues. Maybe you could try the process again from scratch? To make sure that you didn’t miss anything.

  8. machan, I tried with HTC One M8 (4.4.2 kitkat). everything went well except the last step. once I reboot the device, newly added files are replaced by old ones. it seems like some kind of a reset happens. I used root explorer for pasting and overwriting.. any help?

    1. මටත් තියෙන්න ඔය ප්‍රශ්නයමයි. උඹ කොහමද හදා ගත්තෙ?

      1. got it done bro. I had to go through recovery mode (TWRP in my case). Just boot your M8 in recovery mode and change the mount in to r/w using your custom recovery software. then copy and replace the edited xml file and required fonts (Bhashitha for Linux works for Android 4.4.2). finally reboot the system. cheers!!

        1. Akalanka, can you please explain the steps you did.
          I have a M8 and can’t get it working still. Thanks.

  9. මචන්, මාගාව තියෙන්නෙ HTC 816 Android 4.4 එකක්… දන්න සෙල්ලම් ඔක්කම දැම්ම ඒත් සිංහල එන්නෙම නැහ.

    1. ගොඩක් වෙලාවට පර්මිෂන් හින්ද තමයි කේස් වෙන්නෙ. තව පාරක් ට්‍රයි කරලා බලන්න. ls -l වලින් පර්මිෂන් හරියටම තියෙනවද කියල බලන්න පුළුවන් නම් හොඳයි.

  10. Hi, I use Nexus 5 (Android 4.4.4)

    I did all the steps accordingly. Now I can see Sinhalese in the web browser, but not in any other App. All I can see it some gibberish letters. I tried Bhashitha for Linux, LKLUG and Iskolapota, but the result it the same.

    I used the Sinhalese keyboard to post Tweets, but they are not visible for me, but other people see it as Sinhalese.

    Here is a screenshot.

    https://onedrive.live.com/?cid=168272f73abb5201&id=168272F73ABB5201!2521&v=3&ithint=photo,jpg&authkey=!AJCkKeXMljfrMF4

    1. hey bro…i have Nexus 5. i tried to get sinhala. already installed, Helakuru/ Sinhala plugin and try to all sinhala apps..i can write sinhala but still not display sinhala font on facebook, and all web browser. can you please tell me how to get sinhala my nexus 5..

  11. hey bro…i have Nexus 5. i tried to get sinhala. already installed, Helakuru/ Sinhala plugin and try to all sinhala apps..i can write sinhala but still not display sinhala font on facebook, and all web browser. can you please tell me how to get sinhala my nexus 5..

  12. No, I didn’t. I found it on another blog, but it was for an older version of Android, but worked for me.

    Yes, it has some issues with rendering. I think it’s a matter of 4.4.4. I guess.

    If you don’t see Sinhala, make sure the font file has 744 or 766 permission. That means, others also have read permision, while only you have write access.

  13. Hey friends .i have galaxy s4 viatnam phone.how i’m input a sinhala fonts.now ,sinhala words not working.they are simbls only.plz help me

  14. I read a lot of interesting posts here. Probably you spend a lot
    of time writing, i know how to save you a lot of time, there is an online tool that creates unique, SEO friendly articles in seconds,
    just type in google – laranitas free content source

  15. Hey friends .i have also galaxy s4 viatnam phone.how i’m input a sinhala fonts.now ,sinhala words not working.they are simbls only.plz help me

  16. It is worked for me perfectly.
    Nice job. Thank you very much!
    ( Zigo Nebula 6.9
    Android 4.2.2
    Font – Potha.ttf )

  17. Is there any hassle free way of doing this, I don’t wanna course trouble with warranty on my xperia z3compact….
    Thanks

  18. මම පාවිචිචි කරන්නෙ
    1.Android os- My Alpha -by Honso and Multilanguage key board with sinhala, Tamil and English plug in s
    (With New Multltilang keyboard O , writing is so easy .you need to just scratch and join letters.word predicts. But you may face difficulty in getting Sinhalese bond letters)
    2.Windows oz – Iskolapotha font and Tamil India
    3. No idea about i-os as I don’t have exposure.
    ඉතාම නිවැරදිව මේවයින් සිංහළ ලියන්න පුඵවන්

  19. Thanks a lot Malinthe. Works perfect. However, Potha didn’t work for me in my Honor 6. Bhashitha for Linux works very well.

    You are a star man.

  20. woww.. thank you So much bro.. I was searching for sinhala fonts for my ZTE phone which run on 4.2.2.. potha font works perfectly..
    🙂

  21. Use Multilanguage android app from Google play store with Sinhalese plug in and my alpha font HONSO. Very easy. No need to root. even if you want other languages like Tamil can download plugins. you can swipe space bar and change langue easily. enable this keyboard in settings to change default keyboard.
    I have used most of Sinhala keyboards this is the best.
    https://play.google.com/store/apps/developer?id=Honso&hl=en_GB
    Till you get used to it don’t use Multilanguage O Keyboard by HONSO

  22. Really helpful! Thanks a lot.

    Worked perfectly with my I9505 with Google Play Edition 4.4.4 ROM. However I recently updated to Android 5.0 and can’t get it to work the same way as in 4.4.4

    Glad if you can share your thoughts

  23. I have followed the procedure you have outlined. Out once I reboot the device I can no longer see the font files in the fonts folder or the modified lines in the fallback_fonts.xml file?? I have followed all your steps corretly. My phone is HTC Desire 816 dual sim. Can you guess what could be the reason?? Thanks in advance.

Leave a Reply

Your email address will not be published. Required fields are marked *