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