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:
- Yazı tipi paketi oluşturma
- Cihaz yer paylaşımlı paketi oluşturma
- Eklenen sistem yazı tipleri ailesini kullanma
Ö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:
- Tüm yazı tipi
ttf
dosyalarınıvendor
bölüm. Örnek:vendor/[oem]/fonts/[oem]-sans/
- Yazı tipi paketi için
Android.mk
dosyasını oluşturun. Örnek:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- 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.
- Yazı tipi paketi için
fonts.mk
adlı bir dosya oluşturun ve ardından yazı tipini ekleyinPRODUCT_PACKAGES
klasörünettf
dosya. Örnek:vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk
Örnek:
PRODUCT_PACKAGES := \ [font name].ttf \
Cihaz yer paylaşımlı paketi oluşturma
- Derlemeye eklenecek
fonts_customization.xml
adlı bir modül yapın. Bu modül, yazı tipini içerenfonts_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
- 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çincustomizationType="new-named-family"
Her birininname
ö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 önceAndroid.mk
içinde tanımlanmıştır.Yukarıda sağlanan örnek, geçerli bir
fonts_customization.xml
dosyası içeriyor. fonts.mk
oluşturun. Örnek:vendor/[oem]/[device]_overlay/fonts/fonts.mk
PRODUCT_PACKAGES
bayrağının altınafonts_customization.xml
ekleyin.- Önceden oluşturulan yazı tipi paketlerinin her birini çağırın.
$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)
- Yazı tipi modülünü
PRODUCT_PACKAGES
altındaki derlemeye ekleyip yeniden oluşturun. Yazı tipleri sisteme yüklenir. ttf
yazı tipi dosyalarının şurada olduğunu doğrulayın: Cihazda/product/fonts
klasör.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>