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.
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".)
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
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.
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.
Connect your phone via USB cable
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
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.