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

يمكنك الآن استخدام تراكبات موارد وقت التشغيل (RROs) لتغيير الخطوط. من خلال إضافة خطوط مخصصة لإنشاء حزمة خطوط، يمكنك استخدام الخطوط في السمات واستخدام RROs لتطبيق التخصيصات.

أكمل هذه المهام:

يتم توفير بنية ملف نموذجية وملفات نموذجية في 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>