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.
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:
- Root your device if you haven’t already
- 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
- 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
- Download the fallback_fonts.xml file from /etc
- Open the fallback_fonts.xml file and modify it by adding your font names before DroidSansFallback entry.
- Copy the file back to the /etc directory.
- 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.)
- 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! 🙂
So if where to get you to do it for me, would you charge? if so how much?
Can be done. No charge. Maybe you could buy me an ice cream 😀
Would be better if you can bring it rooted though. I don’t feel comfortable rooting phones of other parties 😛
Rooting is the worry I have too =[ Don’t know how and never understood how either.
@rothbourne try framaroot
Its simple as installing the application and clicking a few buttons http://forum.xda-developers.com/apps/framaroot/root-framaroot-one-click-apk-to-root-t2130276
If you can’t root just tell me.
Tell me your phone model
And it can be done with one click.
@Deshan
How about Nexus 5?
Can it be rooted with one click?
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
Is there a way to fix in android 4.0?
This has only been tried on 4.3 and 4.4
We used to install fonts on previous versions too, but the rendering wasn’t perfect. Check this guide: http://sinhala.kalingasblog.com/2010/07/25/sinhala-unicode-on-android-google-nexus-one/
Tested and working on Jelly Bean 4.2.2 . Use the potha.TTF font . Lkbhashitha didn’t work for me
Tested on Nexus 7 2013 LTE. LBhashitaComplexSans works fine
Works well in 4.2.2 & not good rendering in 4.0
worked perfectly on my Nexus 5! much appreciated malinthe! 🙂
worked perfectly on my Galaxy Nexus (cyanogenmod 11 Nightly – 2014/03/29)
Thanks.
Works in CM11 on Xperia P. Thanks 🙂
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.
Worked perfectly on HTC One X (Android 4.2.2|Sense 5) , tried with “LBhashitaComplexSans” & it works fine. Thanks for the guide ayya 🙂
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.
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. 🙂
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?
මටත් උදව් කරන්න..මම මේ විදිහට කරා…ඒත් මොකකවත් සිංහල පේන්නේ නෑ හරියට.පොන් එක nexus 5.
හරි ගියා..මම ෆොන්ට් එක මරු කලා potha කියන ෆොන්ට් එකට…බොහොම ස්තූතී.
Awesome tutorial! Thanks for sharing – works great on My Xperia S running Pureslim KitKat.
Thanks malinthe.It works well.
සිංහල ස්ථාපනය සාර්ථකයි. මාගේ ස්තුතිය.
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
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.
බොහොම ස්තුතියි.
Thank you very much. It works in android 4.4.4 kitkat, gt-p5100.
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?
I’m not exactly sure why that’s happening machan. Are you on the official ROM?
මටත් තියෙන්න ඔය ප්රශ්නයමයි. උඹ කොහමද හදා ගත්තෙ?
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!!
Akalanka, can you please explain the steps you did.
I have a M8 and can’t get it working still. Thanks.
මචන්, මාගාව තියෙන්නෙ HTC 816 Android 4.4 එකක්… දන්න සෙල්ලම් ඔක්කම දැම්ම ඒත් සිංහල එන්නෙම නැහ.
ගොඩක් වෙලාවට පර්මිෂන් හින්ද තමයි කේස් වෙන්නෙ. තව පාරක් ට්රයි කරලා බලන්න. ls -l වලින් පර්මිෂන් හරියටම තියෙනවද කියල බලන්න පුළුවන් නම් හොඳයි.
Thanks machan!! 100% working on xperia z kk.
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
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..
I feel like 4.4.4 might be messing with the process. But since you got it working with the modified font, all good 🙂
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..
Did you follow the guide?
Hi,
I tried this with a modified version of DroidSansFallback.ttf and it worked perfectly. I didn’t even had to edit that xml file. I just copied it to the fonts folder and set rwx-r-r for that font and it worked perfectly for me.
I have a Nexus 5 (4.4.4).
Here is the font file.
https://docs.google.com/file/d/0B7kHt1m62P14b003STA1S3BTZEk/edit?usp=docslist_api
Hope this helps. 😉
Cool 🙂 Was this modified by you? How’s the rendering?
Post some screenshots!
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.
Ah. I may have used this file before. Rendering issue was there even for older versions.
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
working perfectly on android 4.4.4..thnx for the post
thank you machan it did the trick ,i have nexus 5 work like charm
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
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
Wow …
Tried on Nexus 5 hammerhead Purity ROM Android 4.4.4 & worked like a charm.
Used potha.ttf font btw…
Working perfectly on xperia sp (android 4.3). I used LBhashitaComplexSans and LBhashitaComplexSansBold.
Thanks
Works like a charm! Thanks a lot for the article.
I had to set 644 permissions for the font files I copied into the fonts folder.
It is worked for me perfectly.
Nice job. Thank you very much!
( Zigo Nebula 6.9
Android 4.2.2
Font – Potha.ttf )
Is there any hassle free way of doing this, I don’t wanna course trouble with warranty on my xperia z3compact….
Thanks
Dear Admin,
Please join with “Wikasitha Syndi” the blog reader. You may automatically join by entering URL of your Blogger or WordPress blog. All other Feeds enable web sites could be joined.
http://www.syndi.wikasitha.com/
Thanks.
Yours faithfully,
Admin WIkasitha Syndi
මම පාවිචිචි කරන්නෙ
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.
ඉතාම නිවැරදිව මේවයින් සිංහළ ලියන්න පුඵවන්
Thanks Malinthe. Working nicely in my Moto G (2nd Gen). Android version: 4.4.4 Font: potha.ttf
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.
Sinhala now comes with all variants of Android 5.0.
yeah rooting is a big thing for android users like me 🙁
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..
🙂
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
Pls. I dnt understand how to do this. Just help me to install sinhala to my tab… Plsssss..mchettige@yahoo.com
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
Thank you very much !!!!!!!
;LBhashita fonts worked on LG L5 CM 10.2
Worked perfectly with Sony xperia Z 4.4.4
thanks !!!
Super and thank you so much. It worked with DialogK45 !
Thanks bro! you saved my time!
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.
You’ll need to remount the system first. Check this: http://android.stackexchange.com/questions/53699/how-to-change-system-fonts-directory-permission-to-writable-in-switch-off-mode/53704#53704
ගොඩක් ස්තූතියි. සහෝදරයා…. මම සිංහල දැම්මේ HTC Desire HD එකකට.
කිසිම අවුලක් නැතුව ලස්සනට සිංහල වැඩ. 😀
Hi dear
Im using HTC desire Eye.so its not work sinhala.please help me.You can get details Step By Step.Please email my Email Upendra2342@gmail.com.THanks for help.HAve a nice day