अब फ़ॉन्ट बदलने के लिए, रनटाइम रिसॉर्स ओवरले (आरआरओ) का इस्तेमाल किया जा सकता है. कस्टम जोड़ें फ़ॉन्ट पैकेज बनाने के लिए, आप थीम में फ़ॉन्ट का इस्तेमाल कर सकते हैं और RRO का इस्तेमाल करके पसंद के मुताबिक बनाया जा सकता है.
ये काम पूरे करें:
सैंपल फ़ाइल स्ट्रक्चर और सैंपल फ़ाइलें यहां दी गई हैं custom-fonts.zip. डाउनलोड करें और फिर इस फ़ाइल को अपने इस्तेमाल के लिए स्थानीय तौर पर एक्सट्रैक्ट करें.
एक फ़ॉन्ट पैकेज बनाएं
फ़ॉन्ट पैकेज बनाने के लिए:
- यहां दी गई सभी फ़ॉन्ट
ttf
फ़ाइलों को फ़ॉन्ट पैकेज में जोड़ेंvendor
विभाजन. उदाहरण के लिए:vendor/[oem]/fonts/[oem]-sans/
- फ़ॉन्ट पैकेज के लिए
Android.mk
फ़ाइल बनाएं. उदाहरण के लिए:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- पक्का करें कि मॉड्यूल को
product
etc
फ़ोल्डर. ऐसा करने के लिए, पुष्टि करें कि मॉड्यूल में नीचे दिए गए फ़्लैग मौजूद हैं: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
एट्रिब्यूट मौजूद हो. इस नाम का इस्तेमाल बाद में फ़ॉन्ट फ़ैमिली. इस फ़ाइल कोfonts_customizations.xml
में जोड़ना ज़रूरी है मॉड्यूल पहलेAndroid.mk
में परिभाषित किया गया था.ऊपर दिए गए नमूने में एक मान्य
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>