À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Ajouter des polices personnalisées
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Vous pouvez désormais utiliser des superpositions de ressources d'exécution (RRO) pour modifier les polices. En ajoutant des polices personnalisées pour créer un package de polices, vous pouvez utiliser des polices dans des thèmes et des RRO pour appliquer les personnalisations.
Effectuez les tâches suivantes:
Un exemple de structure de fichiers et des exemples de fichiers sont fournis dans custom-fonts.zip.
Téléchargez et extrayez ce fichier localement pour votre propre usage.
Créer un package de polices
Pour créer un package de polices:
- Ajoutez tous les fichiers
ttf
de police au package de polices dans la partition vendor
. Exemple :
vendor/[oem]/fonts/[oem]-sans/
- Créez le fichier
Android.mk
pour le package de polices. Exemple :
vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- Assurez-vous que le module sera installé dans la partition
product
du dossier etc
. Pour ce faire, vérifiez que le module comporte les indicateurs suivants:
LOCAL_MODULE_CLASS := ETC
LOCAL_PRODUCT_MODULE := true
LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
L'exemple de code fourni ci-dessus illustre une définition complète d'un module de package de polices.
- Créez un fichier nommé
fonts.mk
pour le package de polices, puis ajoutez les fichiers ttf
de polices à PRODUCT_PACKAGES
. Exemple :
vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk
Exemple :
PRODUCT_PACKAGES := \
[font name].ttf \
Créer un package de superposition d'appareil
- Créez un module appelé
fonts_customization.xml
à ajouter au build.
Ce module pointe vers le fichier fonts_customization.xml
contenant les familles de polices et appelle les fichiers de compilation de tous les packages de polices. Exemple :
vendor/[oem]/[device]_overlay/fonts/Android.mk
- Créez les familles de polices:
vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml
Le niveau racine du fichier doit être une balise fonts-modification
. Ajoutez des familles de polices pour chacun des packages de polices sous cet élément. De plus, ajoutez customizationType="new-named-family"
à chaque famille de polices et assurez-vous que chacune dispose d'un attribut name
. Ce nom est utilisé ultérieurement pour accéder à la famille de polices. Ce fichier doit être ajouté au module fonts_customizations.xml
défini précédemment dans Android.mk
.
L'exemple fourni ci-dessus contient un fichier fonts_customization.xml
valide.
- Créez
fonts.mk
. Exemple :
vendor/[oem]/[device]_overlay/fonts/fonts.mk
- Ajoutez
fonts_customization.xml
sous l'indicateur PRODUCT_PACKAGES
.
- Appelez chacun des packages de polices créés précédemment.
$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)
- Ajoutez le module de police à la compilation sous
PRODUCT_PACKAGES
, puis effectuez une nouvelle compilation.
Les polices seront installées sur le système.
- Vérifiez que les fichiers de polices
ttf
se trouvent dans le dossier /product/fonts
de l'appareil.
- Vérifiez que
fonts_customization.xml
est dans /product/etc/
sur l'appareil.
Utiliser la nouvelle famille de polices du système
Pour utiliser la nouvelle famille de polices du système:
<style name="customstyle">
<item name="android:fontFamily">customfontfamily</item>
</style>
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/10 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/08/10 (UTC)."],[],[],null,["# Add custom fonts\n\nYou can now use runtime resource overlays (RROs) to change fonts. By adding custom\nfonts to make a font package, you can use fonts in themes and use RROs to apply the\ncustomizations.\n\nComplete these tasks:\n\n- [Make a font package](/docs/automotive/hmi/car_ui/fonts#make)\n- [Create a device overlay package](/docs/automotive/hmi/car_ui/fonts#create)\n- [Use the added system fonts family](/docs/automotive/hmi/car_ui/fonts#use)\n\nA sample file structure and sample files are provided in\n[custom-fonts.zip](/static/docs/automotive/hmi/car_ui/custom-fonts.zip).\nDownload and then extract this file locally for your own use.\n\nMake a font package\n-------------------\n\nTo make a font package:\n\n1. Add all the font `ttf` files to the font package in the `vendor` partition. For example:\n\n `vendor/[oem]/fonts/[oem]-sans/`\n2. Create the `Android.mk` file for the font package. For example:\n\n `vendor/[oem]/fonts/[oem]-[fontname]/Android.mk`\n3. Make sure the module will be installed in the `product` partition in the `etc` folder. To do so, confirm the module has the following flags: \n\n ```makefile\n LOCAL_MODULE_CLASS := ETC\n LOCAL_PRODUCT_MODULE := true\n LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts\n ```\n\n The sample code provided above illustrates a complete definition of a font package module.\n4. Create a file named `fonts.mk` for the font package and then add the font `ttf` files to `PRODUCT_PACKAGES`. For example:\n\n `vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk`\n\n For example: \n\n ```objective-c\n PRODUCT_PACKAGES := \\\n [font name].ttf \\\n ```\n\nCreate a device overlay package\n-------------------------------\n\n1. Make a module called `fonts_customization.xml` to be added to the build. This module points to the `fonts_customization.xml` file that contains the font families and calls the make files of all the font packages. For example:\n\n `vendor/[oem]/[device]_overlay/fonts/Android.mk`\n2. Create the font families: `vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml`\n\n The root level of the file must be a `fonts-modification` tag. Add\n font families for each of the font packages under this element. In addition, add\n `customizationType=\"new-named-family\"` to every font family, and make\n sure each has a `name` attribute. This name is used later to access the\n font family. This file must be added to the `fonts_customizations.xml`\n module defined previously in `Android.mk`.\n\n The sample provided above contains a valid `fonts_customization.xml` file.\n3. Create `fonts.mk`. For example:\n\n `vendor/[oem]/[device]_overlay/fonts/fonts.mk`\n4. Add `fonts_customization.xml` under the `PRODUCT_PACKAGES` flag.\n5. Call into each of the previously created font packages.\n `$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)`\n\n6. Add the font module to the build under `PRODUCT_PACKAGES` and then rebuild. The fonts will be installed on the system.\n7. Verify that the `ttf` fonts files are in the `/product/fonts` folder on the device.\n8. Verify that `fonts_customization.xml` is in `/product/etc/` on the device.\n\nUse the new system fonts family\n-------------------------------\n\nTo use the new system fonts family: \n\n```text\n\u003cstyle name=\"customstyle\"\u003e\n \u003citem name=\"android:fontFamily\"\u003ecustomfontfamily\u003c/item\u003e\n\u003c/style\u003e\n```"]]