Я хочу читать и писать на тайском и тибетском языках, а также видеть настоящие символы для многих других шрифтов вместо квадратов.
Как видите, замена системных шрифтов не лучший метод, так как в этом случае нам нужен шрифт, состоящий из всех вышеперечисленных шрифтов.
iFont и подобные программы тоже просто заменяют системные шрифты, а мне нужно добавить новые.
Моя версия Android 4.4.2.
Предостережение: точные файлы и формат различаются в зависимости от версии Android. Как в Android O, так и в P (по крайней мере, в LineageOS) правильный файл — /etc/fonts.xml
, и в нем есть предупреждение о том, что его не следует использовать. На момент написания статьи у меня не было устройств на Q для тестирования. Так что считайте этот ответ историческим, даже если он все еще полезен.
Предупреждение от Android Pfonts.xml
(см. здесь возможные обновления):
WARNING: Parsing of this file by third-party apps is not supported. The file, and the font files it refers to, will be renamed and/or moved out from their respective location in the next Android release, and/or the format or syntax of the file may change significantly. If you parse this file for information about system fonts, do it at your own risk. Your application will almost certainly break with the next major Android release.
По сути, ожидайте критических изменений при обновлении Android.
Оригинальный ответ:
Android поддерживает пользовательские шрифты, но для него нет пользовательского интерфейса, и вам нужен root-доступ. Основные шаги заключаются в следующем:
adb
на своем компьютере, чтобы починить устройство Android, если что-то пойдет не так)./system
раздел как доступный для записи. Некоторые файловые менеджеры делают это за вас. В противном случае вам нужно будет войти mount -o remount,rw /system
в консоль на своем телефоне или использовать adb remount
с компьютера через режим отладки USB./system/fonts
./etc/system_fonts.xml
и/или /etc/fallback_fonts.xml
сообщите Android, где использовать пользовательские шрифты. Я не знаю, где найти имена шрифтов для system_fonts.xml
, но добавление ваших шрифтов fallback_fonts.xml
должно «просто работать» для символов, которых нет в системных шрифтах по умолчанию.Если ваше устройство застряло в цикле загрузки, вы, вероятно, все еще можете использовать adb, чтобы отменить или исправить изменения. Судя по опыту, это постоянно происходит при прямой замене системного Roboto-Bold
шрифта пользовательским шрифтом, в котором меньше символов. Это причина редактирования файлов xml и добавления новых файлов вместо простой замены существующих файлов.