Dodawanie czcionek niestandardowych

Teraz możesz używać nakładek zasobów w czasie wykonywania (RRO) do zmiany czcionek. Dodając czcionki niestandardowe, aby utworzyć pakiet czcionek, możesz używać czcionek w motywach i stosować niestandardowe zmiany za pomocą plików RRO.

Wykonaj te czynności:

Przykładową strukturę plików i pliki znajdziesz w pliku custom-fonts.zip. Pobierz i wyodrębnij ten plik lokalnie na potrzeby własne.

Tworzenie pakietu czcionek

Aby utworzyć pakiet czcionek:

  1. Dodaj wszystkie pliki czcionki ttf do pakietu czcionek na partycji vendor. Przykład:

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

  2. Utwórz plik Android.mk dla pakietu czcionek. 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ć, sprawdź, czy moduł ma te flagi:
    LOCAL_MODULE_CLASS := ETC
    LOCAL_PRODUCT_MODULE := true
    LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts

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

  4. Utwórz plik o nazwie fonts.mk dla pakietu czcionek, a potem dodaj do niego pliki ttf.PRODUCT_PACKAGES Przykład:

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

    Przykład:

    PRODUCT_PACKAGES := \
    [font name].ttf \

Tworzenie pakietu nakładki na urządzenie

  1. Dodaj do kompilacji moduł o nazwie fonts_customization.xml. Ten moduł wskazuje plik fonts_customization.xml zawierający rodziny czcionek i wywołuje pliki make wszystkich pakietów czcionek. 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ć tagiem fonts-modification. Dodaj rodziny czcionek dla każdego pakietu czcionek w ramach tego elementu. Dodatkowo dodaj customizationType="new-named-family" do każdej rodziny czcionek i upewnij się, że każda z nich ma atrybut name. Ta nazwa jest później używana do uzyskiwania dostępu do rodziny czcionek. Ten plik musi zostać dodany do modułu fonts_customizations.xml zdefiniowanego wcześniej w pliku Android.mk.

    Podany powyżej przykład zawiera prawidłowy plik fonts_customization.xml.

  3. Utwórz fonts.mk. Przykład:

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

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

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

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

Używanie nowej rodziny czcionek systemowych

Aby korzystać z nowej rodziny czcionek systemowych:

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