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
ttfdosyalarınıvendorbölümündeki yazı tipi paketine ekleyin. Örnek:vendor/[oem]/fonts/[oem]-sans/ - Yazı tipi paketi için
Android.mkdosyasını oluşturun. Örnek:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk - Modülün,
etcklasöründekiproductbö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.mkadlı bir dosya oluşturun ve ardından yazı tipittfdosyaları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.xmladlı bir modül oluşturun. Bu modül, yazı tipi ailelerini içerenfonts_customization.xmldosyası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.xmlDosyanın kök düzeyi bir
fonts-modificationetiketi 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.mkiçinde tanımlananfonts_customizations.xmlmodülüne eklenmelidir.Yukarıda verilen örnekte geçerli bir
fonts_customization.xmldosyası bulunmaktadır. fonts.mketiketini oluşturun. Örnek:vendor/[oem]/[device]_overlay/fonts/fonts.mkPRODUCT_PACKAGESişaretinin altınafonts_customization.xmlekleyin.- 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_PACKAGESaltındaki derlemeye ekleyin ve ardından yeniden derleyin. Yazı tipleri sisteme yüklenir. ttfyazı tipi dosyalarının cihazdaki/product/fontsklasö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>