Aggiungere caratteri personalizzati

Ora puoi utilizzare gli overlay delle risorse di runtime (RRO) per modificare i caratteri. Aggiungendo caratteri personalizzati per creare un pacchetto di caratteri, puoi utilizzare i caratteri nei temi e gli RRO per applicare le personalizzazioni.

Completa le seguenti attività:

In custom-fonts.zip sono forniti una struttura di file di esempio e file di esempio. Scarica ed estrai questo file localmente per uso personale.

Creare un pacchetto di caratteri

Per creare un pacchetto di caratteri:

  1. Aggiungi tutti i file dei caratteri ttf al pacchetto di caratteri nella vendor partizione. Ad esempio:

    vendor/[oem]/fonts/[oem]-sans/

  2. Crea il file Android.mk per il pacchetto di caratteri. Ad esempio:

    vendor/[oem]/fonts/[oem]-[fontname]/Android.mk

  3. Assicurati che il modulo venga installato nella partizione product nella etc cartella. Per farlo, verifica che il modulo abbia i seguenti flag:
    LOCAL_MODULE_CLASS := ETC
    LOCAL_PRODUCT_MODULE := true
    LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts

    Il codice di esempio fornito sopra illustra una definizione completa di un modulo del pacchetto di caratteri.

  4. Crea un file denominato fonts.mk per il pacchetto di caratteri, quindi aggiungi i file ttf dei caratteri a PRODUCT_PACKAGES. Ad esempio:

    vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk

    Ad esempio:

    PRODUCT_PACKAGES := \
    [font name].ttf \

Creare un pacchetto overlay del dispositivo

  1. Crea un modulo denominato fonts_customization.xml da aggiungere alla compilazione. Questo modulo punta al file fonts_customization.xml contenente le famiglie di caratteri e chiama i file make di tutti i pacchetti di caratteri. Ad esempio:

    vendor/[oem]/[device]_overlay/fonts/Android.mk

  2. Crea le famiglie di caratteri:

    vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml

    Il livello principale del file deve essere un tag fonts-modification. Aggiungi le famiglie di caratteri per ciascuno dei pacchetti di caratteri in questo elemento. Inoltre, aggiungi customizationType="new-named-family" a ogni famiglia di caratteri e assicurati che ciascuna abbia un attributo name. Questo nome viene utilizzato in seguito per accedere alla famiglia di caratteri. Questo file deve essere aggiunto al modulo fonts_customizations.xml definito in precedenza in Android.mk.

    L'esempio fornito sopra contiene un file fonts_customization.xml valido.

  3. Crea fonts.mk. Ad esempio:

    vendor/[oem]/[device]_overlay/fonts/fonts.mk

  4. Aggiungi fonts_customization.xml sotto il flag PRODUCT_PACKAGES.
  5. Chiama ciascuno dei pacchetti di caratteri creati in precedenza.

    $(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)

  6. Aggiungi il modulo del carattere alla compilazione in PRODUCT_PACKAGES, quindi esegui nuovamente la compilazione. I caratteri verranno installati sul sistema.
  7. Verifica che i file dei caratteri ttf siano nella /product/fonts cartella sul dispositivo.
  8. Verifica che fonts_customization.xml sia in /product/etc/ sul dispositivo.

Utilizzare la nuova famiglia di caratteri di sistema

Per utilizzare la nuova famiglia di caratteri di sistema:

<style name="customstyle">
    <item name="android:fontFamily">customfontfamily</item>
</style>