Menambahkan font kustom

Anda kini dapat menggunakan overlay resource runtime (RRO) untuk mengubah font. Dengan menambahkan font kustom untuk membuat paket font, Anda dapat menggunakan font dalam tema dan menggunakan RRO untuk menerapkan penyesuaian.

Selesaikan tugas berikut:

Contoh struktur file dan file contoh disediakan di custom-fonts.zip. Download, lalu ekstrak file ini secara lokal untuk Anda gunakan sendiri.

Membuat paket font

Untuk membuat paket font:

  1. Tambahkan semua file ttf font ke paket font di partisi vendor. Contoh:

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

  2. Buat file Android.mk untuk paket font. Contoh:

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

  3. Pastikan modul akan diinstal di partisi product di folder etc. Untuk melakukannya, pastikan modul memiliki flag berikut:
    LOCAL_MODULE_CLASS := ETC
    LOCAL_PRODUCT_MODULE := true
    LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts

    Kode contoh yang diberikan di atas mengilustrasikan definisi lengkap modul paket font.

  4. Buat file bernama fonts.mk untuk paket font, lalu tambahkan file font ttf ke PRODUCT_PACKAGES. Contoh:

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

    Contoh:

    PRODUCT_PACKAGES := \
    [font name].ttf \

Membuat paket overlay perangkat

  1. Buat modul bernama fonts_customization.xml untuk ditambahkan ke build. Modul ini mengarah ke file fonts_customization.xml yang berisi keluarga font dan memanggil file make dari semua paket font. Contoh:

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

  2. Buat jenis font:

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

    Tingkat root file harus berupa tag fonts-modification. Tambahkan jenis font untuk setiap paket font di bawah elemen ini. Selain itu, tambahkan customizationType="new-named-family" ke setiap jenis font, dan pastikan setiap jenis font memiliki atribut name. Nama ini akan digunakan nanti untuk mengakses jenis font. File ini harus ditambahkan ke modul fonts_customizations.xml yang ditentukan sebelumnya di Android.mk.

    Contoh yang diberikan di atas berisi file fonts_customization.xml yang valid.

  3. Buat fonts.mk. Contoh:

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

  4. Tambahkan fonts_customization.xml di bagian flag PRODUCT_PACKAGES.
  5. Panggil setiap paket font yang dibuat sebelumnya.

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

  6. Tambahkan modul font ke build di bagian PRODUCT_PACKAGES, lalu build ulang. Font akan diinstal di sistem.
  7. Verifikasi bahwa file font ttf berada di folder /product/fonts di perangkat.
  8. Pastikan fonts_customization.xml berada di /product/etc/ di perangkat.

Menggunakan jenis font sistem baru

Untuk menggunakan jenis font sistem baru:

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