Özel yazı tipleri ekleme

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

Aşağıdaki görevleri tamamlayın:

custom-fonts.zip dosyasında örnek bir dosya yapısı ve örnek dosyalar sağlanır. Bu dosyayı indirip kendi kullanımınız için yerel olarak ayıklayın.

Yazı tipi paketi oluşturma

Yazı tipi paketi oluşturmak için:

  1. Tüm yazı tipi ttf dosyalarını vendor bölümündeki yazı tipi paketine ekleyin. Örnek:

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

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

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

  3. Modülün, etc klasöründeki product bölümüne yükleneceğinden emin olun. Bunun için modülün aşağıdaki işaretlere sahip olduğunu onaylayın:
    LOCAL_MODULE_CLASS := ETC
    LOCAL_PRODUCT_MODULE := true
    LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts

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

  4. Yazı tipi paketi için fonts.mk adlı bir dosya oluşturun ve ardından yazı tipi ttf dosyalarını PRODUCT_PACKAGES'ye ekleyin. Örnek:

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

    Örnek:

    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, yazı tipi ailelerini içeren fonts_customization.xml dosyasını işaret eder ve tüm yazı tipi paketlerinin make dosyalarını çağırır. Örnek:

    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 öğe altındaki yazı tipi paketlerinin her biri için yazı tipi aileleri ekleyin. Ayrıca her yazı tipi ailesine customizationType="new-named-family" ekleyin ve her birinin name özelliğine sahip olduğundan emin olun. Bu ad daha sonra yazı tipi ailesine erişmek için kullanılır. Bu dosya, daha önce Android.mk içinde tanımlanan fonts_customizations.xml modülüne eklenmelidir.

    Yukarıda verilen örnekte geçerli bir fonts_customization.xml dosyası bulunmaktadır.

  3. fonts.mk etiketini oluşturun. Örnek:

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

  4. PRODUCT_PACKAGES işaretinin altına fonts_customization.xml ekleyin.
  5. Daha önce oluşturulan yazı tipi paketlerinin her birini çağırın.

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

  6. Yazı tipi modülünü PRODUCT_PACKAGES altındaki derlemeye ekleyin ve ardından yeniden derleyin. Yazı tipleri sisteme yüklenir.
  7. ttf yazı tipi dosyalarının cihazdaki /product/fonts klasöründe olduğundan emin olun.
  8. Cihazdaki fonts_customization.xml'nin /product/etc/ konumunda olduğunu doğrulayın.

Yeni sistem yazı tipi ailesini kullanma

Yeni sistem yazı tipi ailesini kullanmak için:

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