अब फ़ॉन्ट बदलने के लिए, रनटाइम रिसॉर्स ओवरले (आरआरओ) का इस्तेमाल किया जा सकता है. फ़ॉन्ट पैकेज बनाने के लिए पसंद के मुताबिक फ़ॉन्ट जोड़कर, थीम में फ़ॉन्ट का इस्तेमाल किया जा सकता है. साथ ही, पसंद के मुताबिक बदलाव करने के लिए आरआरओ का इस्तेमाल किया जा सकता है.
ये टास्क पूरे करें:
custom-fonts.zip में, फ़ाइल के स्ट्रक्चर और फ़ाइलों के सैंपल दिए गए हैं. अपने इस्तेमाल के लिए, इस फ़ाइल को डाउनलोड करें और फिर उसे लोकल स्टोरेज में निकालें.
फ़ॉन्ट पैकेज बनाना
फ़ॉन्ट पैकेज बनाने के लिए:
vendorपार्टीशन में मौजूद फ़ॉन्ट पैकेज में, सभी फ़ॉन्टttfफ़ाइलें जोड़ें. उदाहरण के लिए:vendor/[oem]/fonts/[oem]-sans/- फ़ॉन्ट पैकेज के लिए
Android.mkफ़ाइल बनाएं. उदाहरण के लिए:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk - पक्का करें कि मॉड्यूल,
etcफ़ोल्डर मेंproductपार्टीशन में इंस्टॉल किया जाएगा. ऐसा करने के लिए, पुष्टि करें कि मॉड्यूल में ये फ़्लैग मौजूद हों:LOCAL_MODULE_CLASS := ETC LOCAL_PRODUCT_MODULE := true LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
ऊपर दिए गए सैंपल कोड में, फ़ॉन्ट पैकेज मॉड्यूल की पूरी जानकारी दी गई है.
- फ़ॉन्ट पैकेज के लिए
fonts.mkनाम की फ़ाइल बनाएं. इसके बाद,PRODUCT_PACKAGESमें फ़ॉन्टttfफ़ाइलें जोड़ें. उदाहरण के लिए:vendor/[oem]/fonts/[oem]-[fontname]/fonts.mkउदाहरण के लिए:
PRODUCT_PACKAGES := \ [font name].ttf \
डिवाइस ओवरले पैकेज बनाना
- बिल्ड में जोड़ने के लिए,
fonts_customization.xmlनाम का मॉड्यूल बनाएं. यह मॉड्यूल,fonts_customization.xmlफ़ाइल पर ले जाता है, जिसमें फ़ॉन्ट फ़ैमिली होती हैं. साथ ही, यह सभी फ़ॉन्ट पैकेज की मेक फ़ाइलों को कॉल करता है. उदाहरण के लिए:vendor/[oem]/[device]_overlay/fonts/Android.mk - फ़ॉन्ट फ़ैमिली बनाएं:
vendor/[oem]/[device]_overlay/fonts/fonts_customization.xmlफ़ाइल का रूट लेवल,
fonts-modificationटैग होना चाहिए. इस एलिमेंट में, हर फ़ॉन्ट पैकेज के लिए फ़ॉन्ट फ़ैमिली जोड़ें. इसके अलावा, हर फ़ॉन्ट फ़ैमिली मेंcustomizationType="new-named-family"जोड़ें और पक्का करें कि हर फ़ॉन्ट फ़ैमिली मेंnameएट्रिब्यूट हो. इस नाम का इस्तेमाल बाद में, फ़ॉन्ट फ़ैमिली को ऐक्सेस करने के लिए किया जाता है. इस फ़ाइल कोAndroid.mkमें पहले से तय किए गएfonts_customizations.xmlमॉड्यूल में जोड़ना होगा.ऊपर दिए गए सैंपल में, मान्य
fonts_customization.xmlफ़ाइल शामिल है. fonts.mkबनाएं. उदाहरण के लिए:vendor/[oem]/[device]_overlay/fonts/fonts.mkPRODUCT_PACKAGESफ़्लैग के नीचेfonts_customization.xmlजोड़ें.- पहले से बनाए गए हर फ़ॉन्ट पैकेज को कॉल करें.
$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk) PRODUCT_PACKAGESमें जाकर, फ़ॉन्ट मॉड्यूल को बिल्ड में जोड़ें. इसके बाद, फिर से बिल्ड करें. फ़ॉन्ट, सिस्टम पर इंस्टॉल हो जाएंगे.- पुष्टि करें कि
ttfफ़ॉन्ट फ़ाइलें, डिवाइस पर/product/fontsफ़ोल्डर में हों. - पुष्टि करें कि डिवाइस पर
fonts_customization.xml,/product/etc/में है.
नई सिस्टम फ़ॉन्ट फ़ैमिली का इस्तेमाल करना
सिस्टम की नई फ़ॉन्ट फ़ैमिली का इस्तेमाल करने के लिए:
<style name="customstyle">
<item name="android:fontFamily">customfontfamily</item>
</style>