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:
- Yazı tipi paketi oluşturma
- Cihaz yer paylaşımı paketi oluşturma
- Eklenen sistem yazı tipi ailesini kullanma
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:
- Tüm yazı tipi
ttf
dosyalarınıvendor
bölümündeki yazı tipi paketine ekleyin. Ö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,
etc
klasöründekiproduct
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.
- Yazı tipi paketi için
fonts.mk
adlı bir dosya oluşturun ve ardından yazı tipittf
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
- Derlemeye eklenecek
fonts_customization.xml
adlı bir modül oluşturun. Bu modül, yazı tipi ailelerini içerenfonts_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
- 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 ailesinecustomizationType="new-named-family"
ekleyin ve her birininname
özelliğine sahip olduğundan emin olun. Bu ad daha sonra yazı tipi ailesine erişmek için kullanılır. Bu dosya, daha önceAndroid.mk
içinde tanımlananfonts_customizations.xml
modülüne eklenmelidir.Yukarıda verilen örnekte geçerli bir
fonts_customization.xml
dosyası bulunmaktadır. fonts.mk
etiketini oluşturun. Örnek:vendor/[oem]/[device]_overlay/fonts/fonts.mk
PRODUCT_PACKAGES
işaretinin altınafonts_customization.xml
ekleyin.- Daha önce 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 ekleyin ve ardından yeniden derleyin. Yazı tipleri sisteme yüklenir. ttf
yazı tipi dosyalarının cihazdaki/product/fonts
klasöründe olduğundan emin olun.- 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>