Android-based smartphone is getting more and more popular everywhere worldwide, however, the font support for more international languages have been lacking. The Droid font family of Droid Sans, Droid Sans Mono and Droid Serif typeface include extensive character set for Western European, Eastern/Central European, Baltic, Cyrillic, Greek and Turkish languages, with Simplified and Traditional Chinese, Japanese and Korean regular font support on Droid Sans typeface, but not many other languages else.

For example, Hebrew, Arabic, Thai, Vietnamese, Myanmar (Burmese), RTL (Right to Left) languages and more non-mainstream languages, although the locale may be supported by the Android system, but the Android built-in default fonts does not have the typeface to display them correctly. As the result, whenever users receive and open a SMS text message, MMS message, email, document, file, or browse web pages encoded in these unsupported language and uses characters or scripts which is not of Roman or Latin alphabets, the word will be displayed as square white boxes or some other unreadable symbols.

For Android mobile device users who need to read languages that currently not supported by built-in Droid fonts, here’s a workaround to install another font which supports a larger group of characters and typefaces.

Tip: The font that been used by many Android users is DejaVu fonts, which is a free font family based on the Vera Fonts to provide a wider range of characters while maintaining the original look and feel. It may be possible that the DejaVu fonts does not support the characters for your native language, or you may dislike the DejaVu fonts. So it’s possible to basically just use another font in the guide below.

Note: The Android device must be rooted before installing the font.

  1. Download DejaVu fonts from sourceforge.net.

    Note: Windows and Mac OS X users should download either dejavu-fonts-ttf-2.31.zip or dejavu-sans-ttf-2.31.zip, while Linux, BSD, Solaris and other OS users should download either dejavu-fonts-ttf-2.31.tar.bz2.

  2. Unpack the package to retrieve DejaVuSans.ttf font file, inside the ttf folder.
  3. Rename the DejaVuSans.ttf to exactly DroidSansFallback.ttf.
  4. Copy the DroidSansFallback.ttf to the root directory of the SD card on the phone, either through memory card access by connecting the phone to computer, or by inserting the SD card to a memory card reader.

    Tip: It’s also possible to copy DejaVuSans.ttf to SD card first and then perform the rename operation.

  5. Run Terminal Emulator.

    Tip: Terminal Emulator is available free from the Android Market.

  6. Go into super user mode by entering the following command, then tap Enter:

    su

    Note: If the Terminal Emulator is not in the Superuser Whitelist yet, a dialog will be displayed asking for permission to run the app in superuser mode. Answer Yes or Always.

  7. Then run the following commands one by one:

    Note: Backup or rename the /system/fonts/DroidSansFallback.ttf if you don’t want to overwrite it.

    mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    chmod 4755 /system/fonts/DroidSansFallback.ttf
    dd if=/sdcard/DroidSansFallback.ttf of=/system/fonts/DroidSansFallback.ttf
    reboot

    Note: Some other device may have different device node for the system partition, for which the mount command will have to be changed accordingly.

    Tip: It’s possible to replace the entire line of dd command with the following copy command: cp -rf /sdcard/fonts/DroidSansFallback.ttf /system/fonts/DroidSansFallback.ttf

  8. The phone will reboot.
  9. Once restarted, the Android device will use the DroidSansFallback.ttf font for any characters that it cannot display. This ensures that the default display fonts are not been messed up or changed