Установите много шрифтов на Android-устройство

Я хочу читать и писать на тайском и тибетском языках, а также видеть настоящие символы для многих других шрифтов вместо квадратов.

Как видите, замена системных шрифтов не лучший метод, так как в этом случае нам нужен шрифт, состоящий из всех вышеперечисленных шрифтов.

iFont и подобные программы тоже просто заменяют системные шрифты, а мне нужно добавить новые.

Моя версия Android 4.4.2.

Ответы (1)

Предостережение: точные файлы и формат различаются в зависимости от версии 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-доступ. Основные шаги заключаются в следующем:

  1. Делайте резервные копии на случай, если что-то пойдет не так. Не пропускай этот шаг! Очень легко застрять в «цикле загрузки» после внесения неправильных изменений в шрифты.
  2. Включите отладку по USB (чтобы вы могли использовать ее adbна своем компьютере, чтобы починить устройство Android, если что-то пойдет не так).
  3. Перемонтируйте /systemраздел как доступный для записи. Некоторые файловые менеджеры делают это за вас. В противном случае вам нужно будет войти mount -o remount,rw /systemв консоль на своем телефоне или использовать adb remountс компьютера через режим отладки USB.
  4. Скопируйте свои пользовательские шрифты в /system/fonts.
  5. Отредактируйте /etc/system_fonts.xmlи/или /etc/fallback_fonts.xmlсообщите Android, где использовать пользовательские шрифты. Я не знаю, где найти имена шрифтов для system_fonts.xml, но добавление ваших шрифтов fallback_fonts.xml должно «просто работать» для символов, которых нет в системных шрифтах по умолчанию.
  6. Перезагрузите устройство и надейтесь, что все заработало.

Если ваше устройство застряло в цикле загрузки, вы, вероятно, все еще можете использовать adb, чтобы отменить или исправить изменения. Судя по опыту, это постоянно происходит при прямой замене системного Roboto-Boldшрифта пользовательским шрифтом, в котором меньше символов. Это причина редактирования файлов xml и добавления новых файлов вместо простой замены существующих файлов.