Aggiungere caratteri personalizzati

Ora puoi utilizzare gli overlay delle risorse di runtime per cambiare i caratteri. Aggiungendole per creare un pacchetto di caratteri, puoi utilizzare i caratteri nei temi e utilizzare gli RRO per applicare personalizzazioni.

Completa le seguenti attività:

Una struttura di file e file di esempio sono forniti in custom-fonts.zip Scarica ed estrai questo file in locale per uso personale.

Creare un pacchetto di caratteri

Per creare un pacchetto di caratteri:

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

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

  2. Crea il file Android.mk per il pacchetto del carattere. Ad esempio:

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

  3. Assicurati che il modulo venga installato nella partizione product all'interno 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 e aggiungi il carattere ttf file in PRODUCT_PACKAGES. Ad esempio:

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

    Ad esempio:

    PRODUCT_PACKAGES := \
    [font name].ttf \
    

Creare un pacchetto di overlay del dispositivo

  1. Crea un modulo denominato fonts_customization.xml da aggiungere alla build. Questo modulo rimanda al file fonts_customization.xml che contiene il carattere famiglie e chiama i file di creazione 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 famiglie di caratteri per ciascuno dei pacchetti di caratteri presenti in questo elemento. Inoltre, aggiungi customizationType="new-named-family" a ogni famiglia di caratteri e rendi che ognuno abbia un attributo name. Questo nome verrà utilizzato in seguito per accedere famiglia di caratteri. Questo file deve essere aggiunto a 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. Richiama 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 build in PRODUCT_PACKAGES, quindi ricrealo. I caratteri verranno installati sul sistema.
  7. Verifica che i file dei caratteri ttf siano nell'elenco /product/fonts cartella sul dispositivo.
  8. Verifica che fonts_customization.xml si trovi 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>