Özel yazı tipleri ekleyin

Artık yazı tiplerini değiştirmek için çalışma zamanı kaynak kaplamalarını (RRO'lar) kullanabilirsiniz. Bir yazı tipi paketi oluşturmak için özel yazı tipleri ekleyerek temalardaki yazı tiplerini kullanabilir ve özelleştirmeleri uygulamak için RRO'ları kullanabilirsiniz.

Şu görevleri tamamlayın:

Custom-fonts.zip dosyasında örnek bir dosya yapısı ve örnek dosyalar sağlanmaktadır. Kendi kullanımınız için bu dosyayı indirin ve yerel olarak çıkartın.

Yazı tipi paketi oluşturma

Yazı tipi paketi oluşturmak için:

  1. Tüm font ttf dosyalarını vendor bölümündeki font paketine ekleyin. Örneğin:

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

  2. Yazı tipi paketi için Android.mk dosyasını oluşturun. Örneğin:

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

  3. Modülün, etc klasöründeki product bölümüne kurulacağından emin olun. Bunu yapmak için modülün aşağıdaki bayraklara sahip olduğunu doğrulayın:
    LOCAL_MODULE_CLASS := ETC
    LOCAL_PRODUCT_MODULE := true
    LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
    

    Yukarıda verilen örnek kod, bir yazı tipi paketi modülünün tam tanımını göstermektedir.

  4. Font paketi için fonts.mk adında bir dosya oluşturun ve ardından font ttf dosyalarını PRODUCT_PACKAGES ekleyin. Örneğin:

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

    Örneğin:

    PRODUCT_PACKAGES := \
    [font name].ttf \
    

Cihaz yer paylaşımı paketi oluşturma

  1. Derlemeye eklenecek fonts_customization.xml adlı bir modül oluşturun. Bu modül, font ailelerini içeren fonts_customization.xml dosyasına işaret eder ve tüm font paketlerinin make dosyalarını çağırır. Örneğin:

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

  2. Yazı tipi ailelerini oluşturun:

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

    Dosyanın kök düzeyi bir fonts-modification etiketi olmalıdır. Bu öğenin altındaki yazı tipi paketlerinin her biri için yazı tipi aileleri ekleyin. Ayrıca, her yazı tipi customizationType="new-named-family" ekleyin ve her birinin bir name niteliğine sahip olduğundan emin olun. Bu ad daha sonra yazı tipi ailesine erişmek için kullanılır. Bu dosyanın daha önce Android.mk tanımlanan fonts_customizations.xml modülüne eklenmesi gerekir.

    Yukarıda verilen örnek geçerli bir fonts_customization.xml dosyası içeriyor.

  3. fonts.mk oluşturun. Örneğin:

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

  4. fonts_customization.xml PRODUCT_PACKAGES bayrağının altına ekleyin.
  5. Önceden oluşturulmuş yazı tipi paketlerinin her birini arayın.

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

  6. Yazı tipi modülünü PRODUCT_PACKAGES altındaki yapıya ekleyin ve ardından yeniden oluşturun. Fontlar sisteme yüklenecektir.
  7. ttf fonts dosyalarının aygıttaki /product/fonts klasöründe olduğunu doğrulayın.
  8. fonts_customization.xml dosyasının cihazda /product/etc/ konumunda olduğunu doğrulayın.

Yeni sistem yazı tipleri ailesini kullanın

Yeni sistem yazı tipleri ailesini kullanmak için:

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