Seeing empty squares instead of real characters? [Better Translator]
For some languages, characters appear as empty squares instead of proper characters:
This happens when the Android device does not have the appropriate font installed. Now, with Better Translator (1.2.0+), you can overcome this problem by placing an appropriate font file on your SD card (or “external storage”). For example, if Indic (e.g. Hindi) characters are not being displayed properly then place this file on your SD card in this directory:
/Android/data/com.embermitre.bettertranslator/fonts
(you will need to create this directory yourself, though usually “/Android/data will already have been created”)
You can do this by mounting your SD card so that you can access it from your PC. Next you need to restart Better Translator (you may need to Force Stop it first) and then you should see something like:
That particular font does not render characters perfectly but it is a definite improvement!
How to find an appropriate font file?
You can either use one from your PC (look in c:\Windows\Fonts for example) or search Google. For example, if you are looking for a Hindi font you might use this search: [https://www.google.com/search?q=hindi+font](https://www.google.com/search?q=hindi+font “Search “hindi font” on Google”)
Advanced Users
You can actually specify a different font for each language. To do so, create a directory underneath the “fonts” directory, using the same name as the language code. For example, for Hindi, place the font file in this directory:
/Android/data/com.embermitre.bettertranslator/fonts/hi
For Chinese Simplified place the font file in this directory:
/Android/data/com.embermitre.bettertranslator/fonts/zh_CN
or (if you want to use the font for both Simplified and Traditional characters)
/Android/data/com.embermitre.bettertranslator/fonts/zh
For Chinese characters, try simkai.ttf which can be found, on Windows, here: c:\Windows\Fonts\simkai.ttf
(for a full list of language codes see here)
Being able to specify a font for each language means that you can have multiple custom fonts being used at the same time. For example:
An interesting point about the above example, is that both of the first two translations are translating the same word. However, the first translation is from Chinese to English, whereas the second is from Japanese to English. In this case, we have specified a separate Chinese font and Japanese font. That particular word, renders differently in Chinese compared to Japanese even though it is the same character (直) - this is the desired and correct behaviour.
Installing fonts at the system level so that they are available to all apps
If you would like to install fonts on your device (to be used by all apps) then you will need to first root your phone and then copy the files over to the appropriate location. More details can be found here:
https://www.android-devs.com/?p=33


