Dodaj niestandardowe czcionki

Do zmiany czcionek można teraz używać nakładek zasobów środowiska wykonawczego (RRO). Dodając niestandardowe czcionki w celu utworzenia pakietu czcionek, możesz używać czcionek w motywach i używać RRO do stosowania dostosowań.

Wykonaj te zadania:

Przykładowa struktura plików i przykładowe pliki znajdują się w pliku custom-fonts.zip . Pobierz i rozpakuj ten plik lokalnie na własny użytek.

Utwórz pakiet czcionek

Aby utworzyć pakiet czcionek:

  1. Dodaj wszystkie pliki czcionek ttf do pakietu czcionek na partycji vendor . Na przykład:

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

  2. Utwórz plik Android.mk dla pakietu czcionek. Na przykład:

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

  3. Upewnij się, że moduł zostanie zainstalowany na partycji product w folderze etc Aby to zrobić, upewnij się, że moduł ma następujące flagi:
    LOCAL_MODULE_CLASS := ETC
    LOCAL_PRODUCT_MODULE := true
    LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
    

    Przykładowy kod podany powyżej ilustruje pełną definicję modułu pakietu czcionek.

  4. Utwórz plik o nazwie fonts.mk dla pakietu czcionek, a następnie dodaj pliki czcionek ttf do PRODUCT_PACKAGES . Na przykład:

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

    Na przykład:

    PRODUCT_PACKAGES := \
    [font name].ttf \
    

Utwórz pakiet nakładki na urządzenie

  1. Utwórz moduł o nazwie fonts_customization.xml , który zostanie dodany do kompilacji. Moduł ten wskazuje plik fonts_customization.xml , który zawiera rodziny czcionek i wywołuje pliki make wszystkich pakietów czcionek. Na przykład:

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

  2. Utwórz rodziny czcionek:

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

    Poziom główny pliku musi być znacznikiem fonts-modification . Dodaj rodziny czcionek dla każdego pakietu czcionek w ramach tego elementu. Ponadto dodaj customizationType="new-named-family" do każdej rodziny czcionek i upewnij się, że każda ma atrybut name . Ta nazwa jest później używana w celu uzyskania dostępu do rodziny czcionek. Plik ten należy dodać do modułu fonts_customizations.xml zdefiniowanego wcześniej w Android.mk .

    Przykład podany powyżej zawiera prawidłowy plik fonts_customization.xml .

  3. Utwórz plik fonts.mk . Na przykład:

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

  4. Dodaj fonts_customization.xml pod flagą PRODUCT_PACKAGES .
  5. Wywołaj każdy z wcześniej utworzonych pakietów czcionek.

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

  6. Dodaj moduł czcionek do kompilacji w obszarze PRODUCT_PACKAGES , a następnie odbuduj. Czcionki zostaną zainstalowane w systemie.
  7. Sprawdź, czy pliki czcionek ttf znajdują się w folderze /product/fonts na urządzeniu.
  8. Sprawdź, czy fonts_customization.xml znajduje się w /product/etc/ na urządzeniu.

Skorzystaj z nowej rodziny czcionek systemowych

Aby skorzystać z nowej rodziny czcionek systemowych:

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