I had the same problem today with manually installing a new font by replacing the default fonts (
Roboto-Bold.ttf on my CyanogenMod 10.1/Android 4.2 Jellybean phone, but probably
DroidSans-Bold.ttf on your phone because it's on the older Gingerbread version).
There are two ways I found to fix it. You can either reflash the Android image like Sourc7 suggested or you can use
adb to restore from a backup. Using adb is quicker, but you need to have already enabled it before your phone got stuck in the reboot loop.
Here's how I fixed it on my phone with adb from my computer.
adb root to make adb use root permissions.
adb remount to remount
/system as writable.
adb shell ls -l /system/fonts/ to see which font files have changed recently.
adb push /path/to/backup/DroidSans-Bold.ttf /system/fonts/ to restore the font, repeating for any system fonts that may have been changed. It's possible that other fonts may be at fault, but
Roboto-Bold.ttf seem to be the main culprits when things break.
If reflashing or adb worked, your phone should now be back to where it started before the change. If you want to try changing fonts again, I recommend this method to prevent the problem from happening again.
adb pull /etc/system_fonts.xml and
adb pull /etc/fallback_fonts.xml to get copies of your phone's font configurations.
- Make copies of those files in different folders (e.g., "backup" and "new_font").
In the "new_font" copy of
system_fonts.xml, go to the first
<fileset> XML tag and replace the listed font file names with the name of your custom font (assuming you want your phone to use it for normal, bold, italic, and bold-italic text). It should look something like this (
Dotsies.ttf is the custom font I'm using on my phone).
Add the fonts you removed from
system_fonts.xml to a new
<family> tag in
fallback_fonts.xml, right after the opening
<familyset> tag. This way Android can find missing glyphs that aren't in your custom font. The fallback configuration should look something like this.
Add your custom font to you phone via
adb push /path/to/Custom-Font.ttf /system/fonts/. As long as your custom font uses a different than than the built-in Android fonts, this should be safe.
- Replace your phone's font configuration files to the changed ones via
adb push /path/to/new_font/system_fonts.xml /etc/ and
adb push /path/to/new_font/fallback_fonts.xml /etc/.
- Reboot your phone. It should now be using the new font wherever it should, but gracefully fall back to the system fonts as-needed, without getting caught in a boot loop.