Avertissement : Les fichiers exacts et le format varient entre les versions d'Android. Dans Android O et P (au moins sur LineageOS), le fichier correct est /etc/fonts.xml
, et il contient un avertissement de ne pas l'utiliser. Au moment de l'écriture, je n'ai pas d'appareils sur Q pour tester. Donc considérez cette réponse comme historique même si elle est toujours utile.
Avertissement selon Android P's fonts.xml
(voir ici pour d'éventuelles mises à jour) :
AVERTISSEMENT : L'analyse de ce fichier par des applications tierces n'est pas prise en charge. Le fichier, et les fichiers de police auxquels il fait référence, seront renommés et/ou déplacés de leur emplacement respectif lors de la prochaine version d'Android, et/ou le format ou la syntaxe du fichier peut changer de manière significative. Si vous analysez ce fichier pour obtenir des informations sur les polices système, faites-le à vos propres risques. Votre application sera presque certainement rompue avec la prochaine version majeure d'Android.
En gros, attendez-vous à des changements perturbateurs lors de la mise à jour d'Android.
Réponse originale :
Android prend en charge les polices personnalisées, mais il n'y a pas d'interface utilisateur pour cela et vous avez besoin d'un accès root. Les étapes de base sont les suivantes :
- Faire des sauvegardes au cas où quelque chose se passe mal. Ne sautez pas cette étape ! Il est très facile de rester bloqué dans une "boucle de démarrage" après avoir apporté les mauvaises modifications aux polices.
- Activer le débogage USB (pour pouvoir utiliser
adb
sur votre ordinateur pour réparer votre appareil Android si quelque chose ne va pas).
- Remonter la partition
/system
en écriture. Certains gestionnaires de fichiers le font pour vous. Sinon, vous devrez entrer mount -o remount,rw /system
dans une console sur votre téléphone ou utiliser adb remount
depuis un ordinateur via le mode de débogage USB.
- Copier vos polices personnalisées dans
/system/fonts
.
- Modifier
/etc/system_fonts.xml
et/ou /etc/fallback_fonts.xml
pour indiquer à Android où utiliser les polices personnalisées. Je ne sais pas où trouver les noms de police pour system_fonts.xml
, mais ajouter vos polices à fallback_fonts.xml
devrait "juste fonctionner" pour les caractères qui ne sont pas dans les polices système par défaut.
- Redémarrer l'appareil et espérer que tout ait fonctionné.
Si votre appareil reste bloqué dans une boucle de démarrage, vous pouvez probablement toujours utiliser adb pour revenir en arrière ou corriger les modifications. D'après mon expérience, cela se produit systématiquement lorsque vous remplacez directement la police Roboto-Bold
du système par une police personnalisée qui n'a pas autant de caractères. C'est la raison pour laquelle on édite les fichiers xml et on ajoute de nouveaux fichiers au lieu de simplement remplacer les fichiers existants.