يمكنك الآن استخدام تراكب الموارد في وقت التشغيل (RRO) لتغيير الخطوط. من خلال إضافة خطوط مخصّصة لإنشاء حزمة خطوط، يمكنك استخدام الخطوط في المظاهر واستخدام حِزم RRO لتطبيق التصاميم المخصّصة.
أكمِل المهام التالية:
يتم توفير نموذج لبنية الملفات ونماذج للملفات في ملف custom-fonts.zip. نزِّل هذا الملف ثم استخرِجه على الجهاز لاستخدامك الشخصي.
إنشاء حزمة خطوط
لإنشاء حِزمة خطوط:
- أضِف جميع ملفات
ttf
الخط إلى حزمة الخط في القسمvendor
. مثلاً:vendor/[oem]/fonts/[oem]-sans/
- أنشئ ملف
Android.mk
لحزمة الخط. مثلاً:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- تأكَّد من أنّه سيتم تثبيت الوحدة في قسم
product
في المجلدetc
. لإجراء ذلك، تأكَّد من أنّ الوحدة تتضمّن العلامات التالية:LOCAL_MODULE_CLASS := ETC LOCAL_PRODUCT_MODULE := true LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
يوضّح نموذج الرمز البرمجي المقدَّم أعلاه تعريفًا كاملاً لمكوّن حزمة الخط.
- أنشئ ملفًا باسم
fonts.mk
لحزمة الخطوط، ثم أضِف ملفات الخطوطttf
إلىPRODUCT_PACKAGES
. مثلاً:vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk
مثلاً:
PRODUCT_PACKAGES := \ [font name].ttf \
إنشاء حزمة تراكب الجهاز
- أنشئ وحدة باسم
fonts_customization.xml
لإضافتها إلى الإصدار. تشير هذه الوحدة إلى ملفfonts_customization.xml
الذي يحتوي على ملفّات عائلات الخطوط وتستدعي ملفات الإنشاء لجميع حِزم الخطوط. مثلاً:vendor/[oem]/[device]_overlay/fonts/Android.mk
- أنشئ مجموعات الخطوط:
vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml
يجب أن يكون المستوى الجذر للملف علامة
fonts-modification
. أضِف عائلات الخطوط لكل حزمة خطوط ضمن هذا العنصر. بالإضافة إلى ذلك، أضِفcustomizationType="new-named-family"
إلى كل مجموعة خطوط، وتأكَّد من أنّ كل مجموعة تحتوي على سمةname
. ويُستخدَم هذا الاسم لاحقًا للوصول إلى مجموعة الخطوط. يجب إضافة هذا الملف إلى وحدةfonts_customizations.xml
التي تم تحديدها سابقًا فيAndroid.mk
.يحتوي العيّنة المقدَّمة أعلاه على ملف
fonts_customization.xml
صالح. - أنشئ
fonts.mk
. مثلاً:vendor/[oem]/[device]_overlay/fonts/fonts.mk
- أضِف
fonts_customization.xml
تحت علامةPRODUCT_PACKAGES
. - اتصل بكل حزمة من حِزم الخطوط التي تم إنشاؤها سابقًا.
$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)
- أضِف وحدة الخط إلى الإصدار ضمن
PRODUCT_PACKAGES
، ثم أعِد الإنشاء. سيتم تثبيت الخطوط على النظام. - تأكَّد من أنّ ملفات خطوط
ttf
موجودة في المجلد/product/fonts
على الجهاز. - تأكَّد من أنّ
fonts_customization.xml
في/product/etc/
على الجهاز.
استخدام مجموعة خطوط النظام الجديدة
لاستخدام مجموعة خطوط النظام الجديدة، اتّبِع الخطوات التالية:
<style name="customstyle"> <item name="android:fontFamily">customfontfamily</item> </style>