Android: Display Special Characters

android, fonts

Solution

It was really only a font issue. It was just hard to find a font that supports all characters I need.

Seeing that Google Translate has no problems with transliteration characters motivated me to make a more thorough search for fonts. Below is a list of useful fonts for this purpose:

- http://guindo.pntic.mec.es/jmag0042/alphaeng.html (extensive but non-free)

- http://users.teilar.gr/~g1951d/

- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=FontDownloads

- http://www.mufi.info/fonts/

Problem

I would like to display special characters such as: ṁ ṭ m ē. In case they don't display here as well, this is how the four characters should look like: In Android, these will display in squares. For other scripts, I am able to come over this problem with using a different font. But in this case setting the font (`TextView.setTypeFace`) will not solve this issue. These characters display correctly in for example OpenOffice (using Arial or Courier New), but inside Android it doesn't even when using the same fonts). I also tried having the string saved as a unicode encoded string (e.g. in strings.xml: \u1E41 \u1E6D) getting the same result (in the logs they appear as they should). Any ideas?

Original source