Özel yazı tipleri ekleyin

Artık yazı tiplerini değiştirmek için çalışma zamanı kaynak yer paylaşımlarını (RRO) kullanabilirsiniz. Özel ekleyerek yazı tipi paketi oluşturmak için yazı tiplerini, temalarda yazı tipleri kullanabilir ve birçok seçenek var.

Şu görevleri tamamlayın:

Örnek bir dosya yapısı ve örnek dosyalar ozel-fonts.zip İndirip bu dosyayı kendi kullanımınız için yerel olarak çıkarı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. Ö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 product bölümüne yükleneceğinden emin olun. etc klasör. Bunu yapmak için modülün aşağıdaki işaretlere sahip olduğunu doğrulayın:
    LOCAL_MODULE_CLASS := ETC
    LOCAL_PRODUCT_MODULE := true
    LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
    
    .

    Yukarıda sağlanan ö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ı tipini ekleyin PRODUCT_PACKAGES klasörüne ttf dosya. Örnek:

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

    Örnek:

    PRODUCT_PACKAGES := \
    [font name].ttf \
    

Cihaz yer paylaşımlı paketi oluşturma

  1. Derlemeye eklenecek fonts_customization.xml adlı bir modül yapın. Bu modül, yazı tipini içeren fonts_customization.xml dosyasına işaret ediyor aileler ve tüm yazı tipi paketlerinin oluşturma 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. Ekle yazı tipi paketlerinin her biri için yazı tipi aileleri belirleyin. Ayrıca, ve yazı tipi ailesinin her biri için customizationType="new-named-family" Her birinin name özelliği olduğundan emin olun. Bu ad daha sonra yazı tipi ailesini seçin. Bu dosya, fonts_customizations.xml klasörüne eklenmelidir modülü daha önce Android.mk içinde tanımlanmıştır.

    Yukarıda sağlanan örnek, geçerli bir fonts_customization.xml dosyası içeriyor.

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

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

  4. PRODUCT_PACKAGES bayrağının altına fonts_customization.xml ekleyin.
  5. Önceden 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 ekleyip yeniden oluşturun. Yazı tipleri sisteme yüklenir.
  7. ttf yazı tipi dosyalarının şurada olduğunu doğrulayın: Cihazda /product/fonts klasör.
  8. fonts_customization.xml adresinin şurada /product/etc/ içinde olduğunu doğrulayın: olanak tanır.

Yeni sistem yazı tipleri ailesini kullan

Yeni sistem yazı tipleri ailesini kullanmak için:

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