कस्टम फ़ॉन्ट जोड़ें

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

इन कार्यों को पूरा करें:

एक नमूना फ़ाइल संरचना और नमूना फ़ाइलें 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 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>