עכשיו אפשר להשתמש בשכבות-על של משאבים בסביבת זמן הריצה (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>