הוספת גופנים מותאמים אישית

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

    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>