עכשיו אפשר להשתמש בשכבות-על של משאבים בסביבת זמן הריצה (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
שמכיל את משפחות הגופנים, וקורא לקובצי ה-make של כל חבילות הגופנים. לדוגמה: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>