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

يمكنك الآن استخدام تراكب الموارد في وقت التشغيل (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>