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

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

ये काम पूरे करें:

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

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

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

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

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

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

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

  3. पक्का करें कि मॉड्यूल कोproduct etc फ़ोल्डर. ऐसा करने के लिए, पुष्टि करें कि मॉड्यूल में नीचे दिए गए फ़्लैग मौजूद हैं:
    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 एट्रिब्यूट मौजूद हो. इस नाम का इस्तेमाल बाद में फ़ॉन्ट फ़ैमिली. इस फ़ाइल को fonts_customizations.xml में जोड़ना ज़रूरी है मॉड्यूल पहले Android.mk में परिभाषित किया गया था.

    ऊपर दिए गए नमूने में एक मान्य 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>