पसंद के मुताबिक फ़ॉन्ट जोड़ना

अब फ़ॉन्ट बदलने के लिए, रनटाइम रिसॉर्स ओवरले (आरआरओ) का इस्तेमाल किया जा सकता है. फ़ॉन्ट पैकेज बनाने के लिए पसंद के मुताबिक फ़ॉन्ट जोड़कर, थीम में फ़ॉन्ट का इस्तेमाल किया जा सकता है. साथ ही, पसंद के मुताबिक बदलाव करने के लिए आरआरओ का इस्तेमाल किया जा सकता है.

ये टास्क पूरे करें:

custom-fonts.zip में, फ़ाइल के स्ट्रक्चर और फ़ाइलों के सैंपल दिए गए हैं. अपने इस्तेमाल के लिए, इस फ़ाइल को डाउनलोड करें और फिर उसे लोकल स्टोरेज में निकालें.

फ़ॉन्ट पैकेज बनाना

फ़ॉन्ट पैकेज बनाने के लिए:

  1. vendor पार्टीशन में मौजूद फ़ॉन्ट पैकेज में, सभी फ़ॉन्ट ttf फ़ाइलें जोड़ें. उदाहरण के लिए:

    vendor/[oem]/fonts/[oem]-sans/

  2. फ़ॉन्ट पैकेज के लिए Android.mk फ़ाइल बनाएं. उदाहरण के लिए:

    vendor/[oem]/fonts/[oem]-[fontname]/Android.mk

  3. पक्का करें कि मॉड्यूल, etc फ़ोल्डर में product पार्टीशन में इंस्टॉल किया जाएगा. ऐसा करने के लिए, पुष्टि करें कि मॉड्यूल में ये फ़्लैग मौजूद हों:
    LOCAL_MODULE_CLASS := ETC
    LOCAL_PRODUCT_MODULE := true
    LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts

    ऊपर दिए गए सैंपल कोड में, फ़ॉन्ट पैकेज मॉड्यूल की पूरी जानकारी दी गई है.

  4. फ़ॉन्ट पैकेज के लिए fonts.mk नाम की फ़ाइल बनाएं. इसके बाद, PRODUCT_PACKAGES में फ़ॉन्ट ttf फ़ाइलें जोड़ें. उदाहरण के लिए:

    vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk

    उदाहरण के लिए:

    PRODUCT_PACKAGES := \
    [font name].ttf \

डिवाइस ओवरले पैकेज बनाना

  1. बिल्ड में जोड़ने के लिए, fonts_customization.xml नाम का मॉड्यूल बनाएं. यह मॉड्यूल, fonts_customization.xml फ़ाइल पर ले जाता है, जिसमें फ़ॉन्ट फ़ैमिली होती हैं. साथ ही, यह सभी फ़ॉन्ट पैकेज की मेक फ़ाइलों को कॉल करता है. उदाहरण के लिए:

    vendor/[oem]/[device]_overlay/fonts/Android.mk

  2. फ़ॉन्ट फ़ैमिली बनाएं:

    vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml

    फ़ाइल का रूट लेवल, fonts-modification टैग होना चाहिए. इस एलिमेंट में, हर फ़ॉन्ट पैकेज के लिए फ़ॉन्ट फ़ैमिली जोड़ें. इसके अलावा, हर फ़ॉन्ट फ़ैमिली में customizationType="new-named-family" जोड़ें और पक्का करें कि हर फ़ॉन्ट फ़ैमिली में name एट्रिब्यूट हो. इस नाम का इस्तेमाल बाद में, फ़ॉन्ट फ़ैमिली को ऐक्सेस करने के लिए किया जाता है. इस फ़ाइल को Android.mk में पहले से तय किए गए fonts_customizations.xml मॉड्यूल में जोड़ना होगा.

    ऊपर दिए गए सैंपल में, मान्य fonts_customization.xml फ़ाइल शामिल है.

  3. fonts.mk बनाएं. उदाहरण के लिए:

    vendor/[oem]/[device]_overlay/fonts/fonts.mk

  4. PRODUCT_PACKAGES फ़्लैग के नीचे fonts_customization.xml जोड़ें.
  5. पहले से बनाए गए हर फ़ॉन्ट पैकेज को कॉल करें.

    $(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)

  6. PRODUCT_PACKAGES में जाकर, फ़ॉन्ट मॉड्यूल को बिल्ड में जोड़ें. इसके बाद, फिर से बिल्ड करें. फ़ॉन्ट, सिस्टम पर इंस्टॉल हो जाएंगे.
  7. पुष्टि करें कि ttf फ़ॉन्ट फ़ाइलें, डिवाइस पर /product/fonts फ़ोल्डर में हों.
  8. पुष्टि करें कि डिवाइस पर fonts_customization.xml, /product/etc/ में है.

नई सिस्टम फ़ॉन्ट फ़ैमिली का इस्तेमाल करना

सिस्टम की नई फ़ॉन्ट फ़ैमिली का इस्तेमाल करने के लिए:

<style name="customstyle">
    <item name="android:fontFamily">customfontfamily</item>
</style>