Installing non-standard fonts on Android 9 Pie is a challenge faced by smartphone owners who want to personalize the interface. Despite the limitations of the system, there are several proven methods: from using specialized applications to manual implementation via ADB. It is important to understand that Android 9 does not support changing fonts out of the box as easily as later versions (starting with Android 10), so a workaround will be required.
In this article we will look at all the current methods: from the most secure (without superuser rights) to advanced (with root-access). We will pay special attention to the nuances that are often missed in standard instructions - for example, font compatibility with system applications and possible bugs after installation. If you use a smartphone based on Samsung One UI, Xiaomi MIUI or pure Android, you will find a solution for your firmware.
Why is it difficult to change fonts on Android 9?
Unlike Android 10+where changing fonts is integrated into the system settings, Android 9 Pie has strict restrictions. Reasons:
- ๐ Lack of an API for dynamically changing fonts. Google added this feature only Android 10 through
FontProvider. - ๐ฑ Dependency on firmware. Manufacturers (for example Samsung or Xiaomi) can block changes at the system level.
- ๐ ๏ธ Restrictions without root. Without root access, fonts change only for individual applications, and not globally.
However, there are workarounds. For example, applications like iFont or FontFix use ADBcommands to simulate system changes. And owners of devices with rootaccess can change fonts manually via /system/fonts/.
โ ๏ธ Attention: On some devices (especially Huawei and Oppo) after changing fonts without root, the display in system notifications may be lost. Before experiments, check if there is a backup copy of the original fonts.
Method 1: Installing fonts without root through applications
The easiest method is to use specialized utilities. They do not require superuser rights, but do not work on all firmware. The best options:
- ๐ฑ iFont โsupports TTF and OTF, has a built-in font gallery.
- ๐จ FontFix โoptimized for Samsung and Xiaomi, allows you to apply the font to system applications.
- ๐ง ZFont 3 โworks through
ADB, but automates the process.
Let's look at the installation using an example iFont:
- Download and install iFont from Google Play.
- Download the one you like font format .ttf or select from the application collection.
- Click
Setโ select the installation method (ADBorFor Samsung). - Confirm the change and reboot the device.
If the application requests a connection via ADB, run the command in the terminal:
adb shell pm grant com.kapp.ifont android.permission.WRITE_SECURE_SETTINGS
โ ๏ธ Attention: On MIUI 10/11 (based on Android 9) after changing the font, the display of Cyrillic in some menus may disappear. Before installation, check the font for Unicode support.
Download APK iFont from the official website|Enable USB debugging in the developer settings|Download the font in TTF/OTF format|Make a backup copy of the original fonts (optional)-->
Method 2: Manual installation of fonts via ADB (without root)
If applications do not work, you can manually replace them fonts via ADB. This method is suitable for most firmware based on Android 9, but requires connection to a computer.
Action algorithm:
- Enable
USB debugginginSettings โ System โ About phone โ Build number(press 7 times) โFor developers. - Connect the phone to the PC and check connection with the command:
adb devices - Download an archive with fonts (for example, Roboto, Open Sans) and unpack it to a folder on your PC.
- Run the commands to replace system fonts (example for
Roboto-Regular.ttf):adb push Roboto-Regular.ttf /sdcard/adb shell su -c "mount -o rw,remount /system"
adb shell su -c "cp /sdcard/Roboto-Regular.ttf /system/fonts/"
adb shell su -c "chmod 644 /system/fonts/Roboto-Regular.ttf"
adb reboot
If the command su does not work (no root), use an alternative method via settings put:
adb shell settings put system font_scale 1.0
adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///sdcard/
| Firmware | Does the ADB method support? | Nuances |
|---|---|---|
| Pure Android 9 | Yes | Requires OEM unlocking |
| Samsung One UI 1.0 | Partially | Works only for system applications |
| Xiaomi MIUI 10/11 | Yes | You may need to disable MIUI Optimization |
| Huawei EMUI 9 | No | Blocks changes without root |
adb pull /system/fonts/ ~/fonts_backup/
This will allow you to restore them in case of errors.-->
Method 3: Installing fonts with root access
If your device is unlocked root, the process is simplified. You can directly replace files in /system/fonts/ or use font managers with superuser support (for example, Fontster).
Step-by-step guide:
- Install Root Explorer or Solid Explorer with root support.
- Copy the font files (.ttf) to the folder
/system/fonts/. - Assign permissions
644(rw-r--r--) for each file. - Reboot the device.
For automation, you can use the script in Termux:
sumount -o rw,remount /system
cp /sdcard/Download/MyFont.ttf /system/fonts/
chmod 644 /system/fonts/MyFont.ttf
reboot
โ ๏ธ Attention: On some devices (for example, Google Pixel s Magisk) after replacing fonts, certification may be lost. SafetyNet. Before important operations (banking, games), check the status via MagiskHide Props Config.
What to do if, after replacing the fonts, the text in the menu is missing?
If, after installing custom fonts, part of the interface is displayed as squares or empty fields, the problem is the lack of Unicode support. Solution:
Delete. installed font.
2. Select a font with full support for Cyrillic/hieroglyphs (for example, Noto Sans).
3. Repeat the installation.
If the problem persists, restore the original fonts from the backup.
Method 4: Using themes (for EMUI, MIUI, One UI)
Some firmware (for example, Huawei EMUI or Xiaomi MIUI) allow you to change fonts via design themes. This does not give the same freedom as manual replacement, but it is safe and does not require root.
Instructions for MIUI 10/11:
- Open the application
Themes. - Go to the section
Fonts. - Select the font you like and apply it.
For Samsung One UI 1.0:
- Download a theme with an alternative font from Galaxy Store.
- Apply it in
Settings โ Display โ Themes and wallpaper.
Method limitations:
- ๐ Fonts change only in system applications.
- ๐จ The selection is limited to official themes.
- ๐ฑ On some devices (for example, Samsung A-series) fonts in themes do not change globally.
Using themes is the safest way, but it only works on custom firmware (MIUI, EMUI, One UI) and does not give complete freedom to choose fonts.
Problems after installing fonts and their solutions
Even with proper installation, bugs can occur. Let's look at typical problems and ways to fix them:
| Problem | Possible cause | Solution |
|---|---|---|
| Text is displayed in squares | The font does not support Unicode/Cyrillic | Install a font with full support (for example, Noto Sans) |
| System applications crash | Incompatibility of the font with the firmware | Restore the original fonts via ADB |
| The font was reset after the update | The system overwrote the files | Repeat the installation or use the Magisk module |
| Does not work in some applications | The application uses its own font | Configure the font separately in the application (if supported) |
If after replacing the fonts the device starts to slow down, try:
- Clear the cache in
Settings โ Storage โ Cached data. - Remove unused fonts from
/system/fonts/. - Return standard fonts via backup.
How to return standard fonts?
If the experiment with fonts was unsuccessful, you can return the original files in several ways:
- ๐ Via backup: Copy the saved files back to
/system/fonts/. - ๐ฑ Reset settings: In
Settings โ System โ Resetselect "Reset interface settings". - ๐ฅ๏ธ Via ADB:
adb shellsu
mount -o rw,remount /system
rm /system/fonts/CustomFont.ttf
reboot
For devices with Magisk you can use a module Font Reverterthat automatically restores original fonts.
โ ๏ธ Attention: On some devices (for example, Sony Xperia s Android 9), resetting fonts may require flashing the system. Before experiments, check for custom recovery (TWRP).
FAQ: Frequently asked questions about installing fonts on Android 9
Can I install a font without a computer?
Yes, but with limitations. Applications like iFont or ZFont allow you to replace fonts directly from your phone, but this requires:
- Enabled
USB debugging(even without connecting to a PC). - Resolution
WRITE_SECURE_SETTINGS, which can be issued via an ADB command (you need a PC at least for the first launch).
On some firmware (for example, ColorOS) this method does not work.
Why does the font not change in WhatsApp/Telegram?
Many messengers (including WhatsApp, Telegram, Viber) use their own fonts that do not depend on the system ones. To change them, you need to:
- Use a version of the messenger with support for custom themes (for example, Telegram X).
- Install Substratum or LSPosed with a module for changing fonts in specific applications (requires root).
Without root, it is impossible to change the font in messengers.
How to check if my phone supports changing fonts?
Depends on the firmware. A quick way to check:
- Install iFont or FontFix.
- Try to use any font from the collection.
- If the application throws an error or requires
ADB/root, your firmware is blocking changes.
You can also check the model phone in the database XDA Developers - compatibility is often discussed there.
Is it possible to install animated fonts?
No. Android 9 does not support animated fonts (for example, with gradient or motion effects:
- Fonts with colored emoji (for example, Twitter Color Emoji).
- Fonts with non-standard characters (for example, Symbola for special icons).
To animate text, use specialized applications (for example, Text Animator), but they only work internally and not systemically.
Will this method work on Android 10+?
Starting Since Android 10, Google has added official support for changing fonts through FontProvider. Therefore:
- On Android 10โ13 fonts are easier to change - through
Settings โ Screen โ Style font. - Methods for Android 9 (ADB, root) on new versions may not work or require adaptation.
If you have Android 10+, it is better to use built-in settings or applications like FontChanger (with support for new API).