-1

I have a rooted phone on which I installed the iFont app

I selected a font and downloaded it. When I installed it, it asked me to restart the phone. I rebooted it and then my phone keeps restarting. I even wiped the cache and the data partitions but its keeps restarting.

When I connected my phone to my PC, the files seemed to be hidden, so I opened hidden files.

When it appeared, it seemed to have no space in it, I tried to format it but it gave me an error saying that there isn't any space on the drive

I searched in Google for a fix but I didn't find anything that helped me

  • Which device? OS version? Is your device rooted? Please add this relevant details in your question by editing – beeshyams Feb 7 '16 at 5:36
  • Did you enable its module entry under Xposed installer app? – Firelord Feb 7 '16 at 15:24
  • Phone name: G-TiDE E57 Android OS: 2.3.5 – Essam Feb 8 '16 at 12:01
1

I had the same problem today with manually installing a new font by replacing the default fonts (Roboto-Regular.ttf and Roboto-Bold.ttf on my CyanogenMod 10.1/Android 4.2 Jellybean phone, but probably DroidSans.ttf and 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.

  1. Run adb root to make adb use root permissions.
  2. Run adb remount to remount /system as writable.
  3. Run adb shell ls -l /system/fonts/ to see which font files have changed recently.
  4. Run 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 DroidSans-Bold.ttf and 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.

  1. Use adb pull /etc/system_fonts.xml and adb pull /etc/fallback_fonts.xml to get copies of your phone's font configurations.
  2. Make copies of those files in different folders (e.g., "backup" and "new_font").
  3. 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).

    <family>
        <nameset>
            <name>sans-serif</name>
            <name>arial</name>
            <name>helvetica</name>
            <name>tahoma</name>
            <name>verdana</name>
        </nameset>
        <fileset>
            <file>Dotsies.ttf</file>
            <file>Dotsies.ttf</file>
            <file>Dotsies.ttf</file>
            <file>Dotsies.ttf</file>
        </fileset>
    </family>
    
  4. 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.

    <family>
        <fileset>
            <file>Roboto-Regular.ttf</file>
            <file>Roboto-Bold.ttf</file>
            <file>Roboto-Italic.ttf</file>
            <file>Roboto-BoldItalic.ttf</file>
        </fileset>
    </family>
    
  5. 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.

  6. 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/.
  7. 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.
  • adb root wouldn't work on a production kernel (CM is a custom kernel so its kernel may have a feature to restart adbd with root permission) which means adb remount or adb shell mount -o remount.rw /system (sic) would always fail. See Is there a way for me to run Adb shell as root without typing in 'su'? – Firelord Mar 1 '16 at 8:35
  • @Firelord Thanks for the info! I'm not that experienced with differences between Android versions, so I had no idea that adb root depends on more than having a rooted device. Does this also mean that adb push on devices without adb root will have to go to the SD card and then use adb shell, su, and mv to move files? Also, this answer doesn't mention the adb shell mount command, though I see now that I made a typo on another question. – Mark Haferkamp Mar 4 '16 at 8:38
  • Yes, you got it correct that without adb root, you'll have to go through SD card and whatnot. You'll also have to remount using adb shell su -c 'mount ...' command because adb remount would not work on a production kernel unless adbd is running with root permission. – Firelord Mar 4 '16 at 8:48
0

I think the application has installed the font to the /system partition, so wipe the /cache and /data partition won't help.

You can re-flash the phone to the factory image, it will also format the entire /system partition.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.