Wednesday, October 14, 2015

Lenovo A6000 / Plus with Lollipop 5.1.1 with Hindi Font issue solved

I recently updated my Lenovo A6000 (which is showing signs of wear) to Lollipop 5.1.1 using this tutorial on XDA Developers. (The forum post tells me that the author of this rather marvelous mod is A-MOD). After updating, I found that I could no longer read WhatsApp forwards which were not in English. All Hindi and Marathi characters where replaced by blocks or what some people call "Tofu"(and hence the No Tofu font - the Noto fonts by Google). So I did what I do best and found articles dating back to 2010 and 2012 talking about DroidSanFallback.ttf font, the /system/fonts folder, the /system/etc folder, the fonts.xml file and the fallback_fonts.xml file. After several permutations and combinations which luckily did not brick my phone. I got the following solution.

To begin with, you will need a freshly tortured A6000/Plus with the 5.1.1 unofficial ROM installed. After that, I would recommend enabling Root Access from Developer Options for Apps, installing the ES File Browser app and enabling Root Explorer mode from within the app.

Before you proceed take a backup of everything, create a restore point for your life, and ship all backup copies to a different continent, just in case.

Then do the following

1. Download this version (sourced from this answer on stackexchange) and extract DroidSansFallback.ttf

2. Browse to /system/ and rename the fonts folder to fontsold

3. Create a new "fonts" folder in /system

4. Copy DroidSansFallback.ttf from step 1 to your new fonts folder.

5. Copy all fonts with names starting with Roboto to the new fonts folder.

6. Restart

If everything went well, you will now be able to see Hindi characters. If not, you have my deepest apologies.

There was one other thing that didn't work for me when I did the upgrade - recovery images.  I was using recovery images for K30T to create a nandroid backup when I was on KitKat 4.4.4. And the advanced TWRP recovery for creating a backup of /efs and /modem. However, the recovery images for KitKat don't seem to work with the Lollipop updated phone. The recovery that worked for me was from this one from itechaditya's website.

Some more odds and ends - You might want to use a newer version of DroidSansFallback.ttf. The Hindi font isn't as good looking as the one on Kitkat. There must be a better solution to this issue like correcting fonts.xml and fallback_fonts.xml