As I said in an earlier post, I love to learn languages and as I switched to Ankidroid recently (more in a future post), I stumbled across an annoying issue. I have an Android Tablet (old – sometimes called “legacy” by some, but it’s just 3 years old: Samsung Galaxy Tab 2 10.1 – Android 4.1.2 – probably this has been fixed on newer versions, although it appears I have the exact same problem on my 4.2.2 phone), and some characters don’t show correctly, they show as rectangles or blanks instead. For instance, the Turkish ǧ ends up being blank. This happens on the Dolphin Browser and on AnkiDroid, so it is a problem with the system font.
The fix is quite simple when you know what to do, but you’ll need a rooted phone (I rooted that tablet recently for another reason).
First, you need to find a font that supports the missing character(s). This is actually the most difficult part. I found a number of resources for that (taken from this post):
- http://guindo.pntic.mec.es/jmag0042/alphaeng.html (extensive but non-free)
I’m sure there are plenty of others. Anyway, I took the 3rd one in the list, and downloaded it to my phone. These need to be copied to the /system/fonts folder of your android device.
Then go to the file /system/etc/fallback_fonts.xml and add your new font’s name at the beginning of the list as a new family (mine is called AndikaNewBasic-R):
<family> <fileset> <file>AndikaNewBasic-R.ttf</file> </fileset> </family>
In my case, adding it at the end didn’t work, probably because some other fallback font wrongly indicated that it could deal with the character…
Reboot your device. Et voilà!