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

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

    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. צריך להוסיף את מודול הגופן ל-build בקטע PRODUCT_PACKAGES, ואז ליצור מחדש. הגופנים יותקנו במערכת.
  7. יש לוודא שקובצי הגופנים של ttf נמצאים ב תיקייה אחת (/product/fonts) במכשיר.
  8. יש לוודא שהכתובת fonts_customization.xml נמצאת ב/product/etc/ בתאריך במכשיר.

שימוש במשפחת הגופנים החדשה של המערכת

כדי להשתמש במשפחת הגופנים החדשה של המערכת:

<style name="customstyle">
    <item name="android:fontFamily">customfontfamily</item>
</style>