Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Benutzerdefinierte Schriftarten hinzufügen
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Sie können jetzt Laufzeitressourcen-Overlays (RROs) verwenden, um Schriftarten zu ändern. Wenn Sie benutzerdefinierte Schriftarten hinzufügen, um ein Schriftpaket zu erstellen, können Sie Schriftarten in Themen verwenden und die Anpassungen mithilfe von RROs anwenden.
Führen Sie die folgenden Schritte aus:
Eine Beispieldateistruktur und Beispieldateien finden Sie in custom-fonts.zip.
Laden Sie diese Datei herunter und extrahieren Sie sie lokal für Ihre eigene Verwendung.
Schriftpaket erstellen
So erstellen Sie ein Schriftpaket:
- Fügen Sie dem Schriftpaket in der Partition
vendor
alle Schriftdateien ttf
hinzu. Beispiel:
vendor/[oem]/fonts/[oem]-sans/
- Erstellen Sie die Datei
Android.mk
für das Schriftpaket. Beispiel:
vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- Das Modul muss in der Partition
product
im Ordner etc
installiert werden. Prüfen Sie dazu, ob das Modul die folgenden Flags enthält:
LOCAL_MODULE_CLASS := ETC
LOCAL_PRODUCT_MODULE := true
LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
Der obige Beispielcode zeigt eine vollständige Definition eines Schriftpaketmoduls.
- Erstellen Sie eine Datei mit dem Namen
fonts.mk
für das Schriftpaket und fügen Sie dann die Schriftdateien ttf
zu PRODUCT_PACKAGES
hinzu. Beispiel:
vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk
Beispiel:
PRODUCT_PACKAGES := \
[font name].ttf \
Geräte-Overlay-Paket erstellen
- Erstellen Sie ein Modul namens
fonts_customization.xml
, das dem Build hinzugefügt werden soll.
Dieses Modul verweist auf die Datei fonts_customization.xml
, die die Schriftfamilien enthält, und ruft die Make-Dateien aller Schriftpakete auf. Beispiel:
vendor/[oem]/[device]_overlay/fonts/Android.mk
- Erstellen Sie die Schriftfamilien:
vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml
Die Stammebene der Datei muss ein fonts-modification
-Tag sein. Fügen Sie unter diesem Element Schriftfamilien für jedes Schriftpaket hinzu. Fügen Sie außerdem jeder Schriftfamilie customizationType="new-named-family"
hinzu und achten Sie darauf, dass jede ein name
-Attribut hat. Dieser Name wird später zum Zugriff auf die Schriftfamilie verwendet. Diese Datei muss dem fonts_customizations.xml
-Modul hinzugefügt werden, das zuvor in Android.mk
definiert wurde.
Das oben bereitgestellte Beispiel enthält eine gültige fonts_customization.xml
-Datei.
- Erstellen Sie
fonts.mk
. Beispiel:
vendor/[oem]/[device]_overlay/fonts/fonts.mk
- Fügen Sie
fonts_customization.xml
unter dem Flag PRODUCT_PACKAGES
hinzu.
- Rufen Sie jedes der zuvor erstellten Schriftpakete auf.
$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)
- Fügen Sie das Schriftmodul unter
PRODUCT_PACKAGES
zum Build hinzu und erstellen Sie ihn dann neu.
Die Schriftarten werden auf dem System installiert.
- Prüfen Sie, ob sich die
ttf
-Schriftdateien auf dem Gerät im Ordner /product/fonts
befinden.
- Prüfen Sie, ob
fonts_customization.xml
auf dem Gerät in /product/etc/
enthalten ist.
Neue Systemschriftfamilie verwenden
So verwenden Sie die neue Systemschriftfamilie:
<style name="customstyle">
<item name="android:fontFamily">customfontfamily</item>
</style>
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-08-10 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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```"]]