अब फ़ॉन्ट बदलने के लिए, रनटाइम रिसॉर्स ओवरले (आरआरओ) का इस्तेमाल किया जा सकता है. फ़ॉन्ट पैकेज बनाने के लिए पसंद के मुताबिक फ़ॉन्ट जोड़कर, थीम में फ़ॉन्ट का इस्तेमाल किया जा सकता है. साथ ही, पसंद के मुताबिक बदलाव करने के लिए आरआरओ का इस्तेमाल किया जा सकता है.
ये टास्क पूरे करें:
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.mk
PRODUCT_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>