Android: How to Change the Default System Font
One can change an Android phone’s system fonts in two different ways–manually using the Android SDK / adb or by using the paid app Rootexplorer. Warning, this process can be risky and requires a rooted Android device or adb knowledge. This technique has been verified working on Froyo 2.2. (Galaxy Tab and Nexus One)
Please review the notes and warnings at the bottom of this article before attempting to follow these directions.
Default vs custom font
- Android phone
- You will need either the Android SDK installed, configured, and basic ADB knowledge or Root Explorer App which requires a rooted phone and can be purchased from the Android Market for about $4 USD.
- TrueType Font (MUST BE A REAL TrueType, .ttf font)
Easy Way Using Root Explorer
1. Root your phone if it isn’t already.
2. Go to the Android Market and purchase the app, Root Explorer (approx $4). This app is made by Speed Software and allows you read/write access to your phone’s internal memory and system folders. You do need to be rooted to use but it is well worth the price for what you can do with it.
3. Copy the TrueType font file to the root of your SD Card.
4. Open Root Explorer and go to the root of your SD Card and tap and hold and choose Copy. Then browse to the /system/fonts folder.
5. Hit the Mount R/W button and then hit the Paste button.
6. Tap and hold on the DroidSans.ttf file and choose to rename it to DroidSans.ttf.orig and then rename the .ttf file we just copied to DroidSans.ttf.
7. Now hit the Mount R/O button to unmount it and power off and on your phone for the font to take effect.
Manual Way Using ADB and Command Line
1. This way assumes you have the Android SDK installed and setup. You also need the USB Debugging drivers for your device installed. Also be sure to copy the TrueType font file into the same folder as the adb.exe and fastboot.exe programs (default is c:\android-sdk-windows\tools ). This should work on a non-rooted device since we are using the SDK and ADB Remount commands; however, I have not tested personally on a non-rooted phone.
Backup your phone’s /System/Fonts folder to your PC before doing anything!!
2. Enable USB Debugging mode on your phone in Settings > Applications > Development and then plug in the USB cable and wait for windows to detect your phone.
3. Open a command prompt and browse to the folder where your dev / sdk Tools folder is located. Then type (without the >)
You should get a device id and it say device next to it.
on your pc’s commandline type the following to mount the system folders and then backup your default /system/fonts/DroidSans.ttf to your pc
>adb remount (should say remount succeeded)
>adb pull /system/fonts/DroidSans.ttf DroidSans.ttf (this copies the default system font to your pc)
4. Next, we need to rename the original file on our device by typing:
>adb shell mv /system/fonts/DroidSans.ttf /system/fonts/DroidSans.ttf.orig
5. Finally, we will need to copy our new TrueType font to be used as the default system font. Be sure you saved your ttf file in the development/sdk tools folder (mine is called Unique.ttf)
>adb push Unique.ttf /system/fonts/DroidSans.ttf
and finally we can force our device to now reboot and hopefully boot with the new system font.
example of commands in commandline form:
More Screenshots using the Unique TrueType font
- Files and paths are CASE SENSITIVE!
- Backup your /System/Fonts folder to your PC before doing anything!!
- I’ve noticed boot loop problems trying to replace the DroidSans-Bold.ttf file. Therefore, I suggest not messing with it. However, it may have been a corrupted file too. Having a Clockword or Anon recovery image helps restoring problems if you run into any.
- If you get in a Boot loop error after doing this, you will need to do the following:
1. Boot to recovery mode on device, go into Recovery and again to Mounts / Storage and mount /System
2. On your pc, again open up command prompt and issue these two adb command to restore back to your original DroidSans.ttf:
>adb rm /system/fonts/DroidSans.ttf
>adb mv /system/fonts/DroidSans.ttf.orig /system/fonts/DroidSans.ttf
Reboot and hopefully your device will be back to normal, most likely the font itself caused the boot loop. If this does not work, just try copying back over your backed up DroidSans.ttf file using:
>adb push DroidSans.ttf /system/fonts/DroidSans.ttf
View more articles by Jimmy Selix
Follow the reactions below and share your own thoughts.