新增自訂字型

您現在可以使用執行階段資源重疊 (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 檔案 系列並呼叫所有字型套件的組成檔案。例如:

    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. PRODUCT_PACKAGES 標記下新增 fonts_customization.xml
  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>