Aggiungi caratteri personalizzati

È ora possibile 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 utilizzare gli RRO per applicare le personalizzazioni.

Completa queste attività:

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

Crea un pacchetto di caratteri

Per creare un pacchetto di caratteri:

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

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

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

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

  3. Assicurati che il modulo venga installato nella partizione product nella cartella etc Per fare ciò, conferma che il modulo ha 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 . Per esempio:

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

    Per esempio:

    PRODUCT_PACKAGES := \
    [font name].ttf \
    

Crea un pacchetto di overlay del dispositivo

  1. Crea un modulo chiamato fonts_customization.xml da aggiungere alla build. Questo modulo punta al file fonts_customization.xml che contiene le famiglie di caratteri e richiama i file make di tutti i pacchetti di caratteri. Per esempio:

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

  2. Crea le famiglie di caratteri:

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

    Il livello root del file deve essere un tag fonts-modification . Aggiungi famiglie di caratteri per ciascuno dei pacchetti di caratteri sotto questo elemento. Inoltre, aggiungi customizationType="new-named-family" a ogni famiglia di caratteri e assicurati che ciascuna abbia un attributo name . Questo nome verrà utilizzato successivamente 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 . Per 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 e quindi ricostruisci. I caratteri verranno installati nel sistema.
  7. Verificare che i file dei caratteri ttf si trovino nella cartella /product/fonts sul dispositivo.
  8. Verificare che fonts_customization.xml sia in /product/etc/ sul dispositivo.

Utilizza 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>