Installieren Sie viele Schriftarten auf einem Android-Gerät

Ich möchte thailändische und tibetische Sprachen lesen und schreiben und auch für viele andere Schriftarten echte Symbole statt Quadrate sehen.

Wie Sie sehen können, ist das Ersetzen von Systemschriftarten keine gute Methode, da wir in diesem Fall eine Schriftart benötigen, die aus allen oben genannten Schriftarten besteht.

iFont und ähnliche Programme ersetzen auch nur Systemschriften, aber ich muss neue hinzufügen.

Meine Android-Version ist 4.4.2.

Antworten (1)

Vorbehalt: Die genauen Dateien und das Format variieren zwischen den Android-Versionen. Sowohl in Android O als auch in P (zumindest unter LineageOS) ist die richtige Datei /etc/fonts.xml, und es gibt eine Warnung, sie nicht zu verwenden. Zum Zeitpunkt des Schreibens habe ich keine Geräte auf Q zum Testen. Betrachten Sie diese Antwort also als historisch , auch wenn sie immer noch nützlich ist.

Warnung ab Android P'sfonts.xml (siehe hier für mögliche Updates):

    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.

Erwarten Sie grundsätzlich Breaking Changes, wenn Sie Android aktualisieren.

Ursprüngliche Antwort:

Android unterstützt benutzerdefinierte Schriftarten, aber es gibt keine Benutzeroberfläche dafür und Sie benötigen Root-Zugriff. Die grundlegenden Schritte sind wie folgt:

  1. Erstellen Sie Backups, falls etwas schief geht. Überspringen Sie diesen Schritt nicht! Es ist sehr einfach, in einer „Boot-Schleife“ stecken zu bleiben, nachdem Sie die falschen Änderungen an Schriftarten vorgenommen haben.
  2. Aktivieren Sie das USB-Debugging (damit Sie Ihr Android-Gerät auf Ihrem Computer reparieren können, adbwenn etwas schief geht).
  3. Hängen Sie die /systemPartition erneut als beschreibbar ein. Einige Dateimanager erledigen dies für Sie. Andernfalls müssen Sie mount -o remount,rw /systemeine Konsole auf Ihrem Telefon eingeben oder adb remountvon einem Computer über den USB-Debugging-Modus verwenden.
  4. Kopieren Sie Ihre benutzerdefinierten Schriftarten in /system/fonts.
  5. Bearbeiten /etc/system_fonts.xmlund/oder /etc/fallback_fonts.xmlAndroid mitteilen, wo die benutzerdefinierten Schriftarten verwendet werden sollen. Ich weiß nicht, wo ich die Schriftartnamen für finden kann system_fonts.xml, aber das Hinzufügen Ihrer Schriftarten zu fallback_fonts.xml sollte "einfach funktionieren" für Zeichen, die nicht in den Standardsystemschriftarten enthalten sind.
  6. Starten Sie das Gerät neu und hoffen Sie, dass alles funktioniert hat.

Wenn Ihr Gerät in einer Boot-Schleife hängen bleibt, können Sie wahrscheinlich immer noch adb verwenden, um die Änderungen rückgängig zu machen oder zu beheben. Erfahrungsgemäß passiert dies regelmäßig, wenn die Roboto-BoldSchriftart des Systems direkt durch eine benutzerdefinierte Schriftart ersetzt wird, die nicht so viele Zeichen hat. Aus diesem Grund werden die XML-Dateien bearbeitet und neue Dateien hinzugefügt, anstatt nur vorhandene Dateien zu ersetzen.