Change Android System Font

How to replace the system font on Android phones. Specifically, an HTC Desire running Android 2.2 Froyo, but it will probably work just the same with other phones and Android versions.

First of all, changing the Android system font is only possible for those of us with rooted phones. If your phone isn't rooted, stop here, you can't do it. Secondly, messing around with system files like this is risky and you need to know what you're doing/not care if you ruin your phone. Repeat after me: "if I ruin my phone, it's my own stupid fault". Seeing as you're still reading, I'll assume your phone is rooted and you understand the risks. At this point, do a nandroid backup.

How To Replace The DroidSans Font

There are other ways of replacing the system font, but none of them worked for me. There is even an app called "Type Fresh" that claims to do it for you, but that didn't work either.

  1. Install HTC Sync

    We need this for its USB drivers for your phone. You might have this already installed. If you haven't, install it. (You can then uninstall it if you want, but leave "HTC Driver Installer".)

  2. Download the Android SDK

    It's only 23Mb or so, and you don't actually need to install anything, just unzip it to your hard drive somewhere like C:\AndroidSDK

  3. Prepare Your New Font

    Some ideas are shown in the screenshots below. You need one that has a standard and a bold variety consisting of two truetype font files. For example, probably something like myfont.ttf and myfont-bold.ttf. Rename these to DroidSans.ttf and DroidSans-Bold.ttf. Save them onto your phone's SD card into a folder called newfont.

  4. Reboot Into Recovery Mode

    I like to use the Quickboot app for this, it's useful for quickly rebooting the phone, and also has an option to reboot into recovery mode.

  5. Connect your phone via USB cable

  6. Replace the font

    We now open an adb shell, backup the existing font, and copy the new font on. Open a windows command prompt and follow these commands. It would be helpful if you understand what these are doing. The commands are shown in blue.

    C:\> C:\AndroidSDK\tools\adb shell
    ~ # mount -o rw -t yaffs2 /dev/block/mtdblock3 /system
    mount -o rw -t yaffs2 /dev/block/mtdblock3 /system
    ~ # mount /sdcard
    mount /sdcard
    ~ # mkdir /sdcard/oldfont
    mkdir /sdcard/oldfont
    ~ # cp /system/fonts/*.ttf /sdcard/oldfont
    cp /system/fonts/*.ttf /sdcard/oldfont
    ~ # cp /sdcard/newfont/*.ttf /system/fonts
    cp /sdcard/newfont/*.ttf /system/fonts
    ~ # exit
    exit
    				
  7. Reboot Your Phone

You should now have your shiny new fonts installed! Some fonts you will find don't look right, the standard DroidSans font was very carefully designed specifically for the Android screen and has to fit menus, browser, buttons, etc. Experiment. I find Helvetica looks brilliant.

Sample Font Screenshots

You can be much more adventurous with your font choices than these, but then you might find that they don't quite fit in certain aspects of the Android user interface. I find these subtle and classy looking. Post your favourite font for Android use in the comments section at the bottom of the page.

Tahoma

Android Tahoma Font

Waukegan

Android Waukegan Font

Helvetica

Android Helvetica Font

Gputeks

Android Helvetica Font

Cantarell

Android Cantarell Font

Eras

Android Eras Font

Exoteric

Android Exoteric Font

Liberation

Android Liberation Font

Comments

2 comments so far (post your own)

A big thank you for this article. It was sooo easy and I couldn't be happier to be able to change my fonts. :)

Posted by Vicki on Thursday, 4/11/10 @ 20:15pm | #618

A really good guide, surprised it hasn't gotten a lot more traffic

Posted by Michael on Thursday, 14/04/11 @ 09:44am | #1204

Comments offline. Sorry, too many spams.