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.
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:
adb
wenn etwas schief geht)./system
Partition erneut als beschreibbar ein. Einige Dateimanager erledigen dies für Sie. Andernfalls müssen Sie mount -o remount,rw /system
eine Konsole auf Ihrem Telefon eingeben oder adb remount
von einem Computer über den USB-Debugging-Modus verwenden./system/fonts
./etc/system_fonts.xml
und/oder /etc/fallback_fonts.xml
Android 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.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-Bold
Schriftart 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.