إضافة خطوط مخصّصة

يمكنك الآن استخدام تراكبات موارد وقت التشغيل (RRO) لتغيير الخطوط. من خلال إضافة خيار التخصيص والخطوط لإنشاء حزمة خطوط، يمكنك استخدام الخطوط في النُسُق واستخدام 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" لحزمة الخطوط ثم أضِف الخط. ttf ملف إلى PRODUCT_PACKAGES مثلاً:

    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. إضافة fonts_customization.xml ضمن علامة PRODUCT_PACKAGES
  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>