chrome.fontSettings

說明

使用 chrome.fontSettings API 管理 Chrome 的字型設定。

權限

fontSettings

如要使用 Font Settings API,請在擴充功能資訊清單中聲明 "fontSettings" 權限。例如:

{
  "name": "My Font Settings Extension",
  "description": "Customize your fonts",
  "version": "0.2",
  "permissions": [
    "fontSettings"
  ],
  ...
}

概念與用途

Chrome 允許部分字型設定取決於特定通用字型系列和語言指令碼。舉例來說,用於無襯線簡體中文的字型,可能與用於襯線日文的字型不同。

Chrome 支援的通用字型系列以 CSS 通用字型系列為依據,並列於 GenericReference 下方。如果網頁指定一般字型系列,Chrome 會根據對應設定選取字型。如果未指定任何通用字型系列,Chrome 會使用「標準」通用字型系列的設定。

如果網頁指定語言,Chrome 會根據相應語言指令碼的設定選取字型。如果未指定語言,Chrome 會使用預設或全域指令碼的設定。

支援的語言文字版本由 ISO 15924 文字版本代碼指定,並列於 ScriptCode 下方。從技術上來說,Chrome 設定不完全是依據指令碼,也取決於語言。舉例來說,如果網頁指定俄文,Chrome 會選擇西里爾文字 (ISO 15924 文字版本代碼「Cyrl」) 的字型,並將此字型用於西里爾文字,以及字型涵蓋的所有內容,例如拉丁文。

範例

下列程式碼會取得阿拉伯文的標準字型。

chrome.fontSettings.getFont(
  { genericFamily: 'standard', script: 'Arab' },
  function(details) { console.log(details.fontId); }
);

下一個程式碼片段會為日文設定無襯線字型。

chrome.fontSettings.setFont(
  { genericFamily: 'sansserif', script: 'Jpan', fontId: 'MS PGothic' }
);

如要試用這項 API,請從 chrome-extension-samples 存放區安裝 fontSettings API 範例

類型

FontName

代表字型名稱。

屬性

  • displayName

    字串

    字型的顯示名稱。

  • fontId

    字串

    字型 ID。

GenericFamily

CSS 通用字型系列。

列舉

「standard」

「sansserif」

「serif」

「fixed」

「cursive」

「fantasy」

「math」

LevelOfControl

其中一個: not\_controllable:無法由任何擴充功能控制 controlled\_by\_other\_extensions:由優先順序較高的擴充功能控制 controllable\_by\_this\_extension:可由這個擴充功能控制 controlled\_by\_this\_extension:由這個擴充功能控制

列舉

「not_controllable」

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"

ScriptCode

ISO 15924 指令碼代碼。預設或全域指令碼以指令碼代碼「Zyyy」表示。

列舉

「Afak」

「阿拉伯文」

「Armi」

「Armn」

「Avst」

「Bali」

「Bamu」

「Bass」(低音)

「Batk」

「Beng」

「Blis」

「Bopo」

「Brah」

「Brai」

「Bugi」

「Buhd」

「Cakm」

「罐頭」

「Cari」

「Cham」

「Cher」

「Cirt」

「Copt」

「Cprt」

「Cyrl」

「Cyrs」

「Deva」

"Dsrt"

「Dupl」

「Egyd」

「Egyh」

「埃及」

「Elba」

「Ethi」

「Geor」

「Geok」

「Glag」

「Goth」

「Gran」

「Grek」

「Gujr」

「Guru」

「Hang」

「Hani」

「Hano」

「Hans」

「Hant」

"Hebr"

「Hluw」

「Hmng」

「Hung」

「Inds」

「Ital」

「Java」

「Jpan」

「Jurc」

「Kali」

「Khar」

"Khmr"

「Khoj」

「Knda」

「Kpel」

「Kthi」

「Lana」

「Laoo」

「Latf」

「Latg」

「Latn」

「Lepc」

「Limb」

「Lina」

「Linb」

「傈僳文」

「Loma」

「Lyci」

「Lydi」

「Mand」

「Mani」

「Maya」

「修復」

「Merc」

「Mero」

「Mlym」

「月亮」

「Mong」

「Mroo」

「Mtei」

「Mymr」

「Narb」

「Nbat」

「Nkgb」

「Nkoo」

「Nshu」

「Ogam」

「Olck」

「Orkh」

「Orya」

「Osma」

「Palm」

「Perm」

「Phag」

「Phli」

「Phlp」

「Phlv」

「Phnx」

「Plrd」

「Prti」

「Rjng」

「Roro」

「Runr」

「Samr」

「Sara」

「Sarb」

「Saur」

「Sgnw」

「Shaw」

「Shrd」

「Sind」

「Sinh」

「Sora」

「Sund」

「Sylo」

「Syrc」

「Syre」

「Syrj」

「Syrn」

「Tagb」

「Takr」

「Tale」

「Talu」

「Taml」

「Tang」

「Tavt」

「Telu」

「Teng」

「Tfng」

「Tglg」

「Thaa」

「泰文」

「Tibt」

「Tirh」

「Ugar」

「Vaii」

「Visp」

「Wara」

「Wole」

「Xpeo」

「Xsux」

「Yiii」

「Zmth」

「Zsym」

「Zyyy」

方法

clearDefaultFixedFontSize()

chrome.fontSettings.clearDefaultFixedFontSize(
  details?: object,
)
: Promise<void>

清除這個擴充功能設定的預設固定字型大小 (如有)。

參數

  • 詳細資料

    object 選填

    目前未使用這個參數。

傳回

  • Promise<void>

    Chrome 96 以上版本

clearDefaultFontSize()

chrome.fontSettings.clearDefaultFontSize(
  details?: object,
)
: Promise<void>

清除這個擴充功能設定的預設字型大小 (如有)。

參數

  • 詳細資料

    object 選填

    目前未使用這個參數。

傳回

  • Promise<void>

    Chrome 96 以上版本

clearFont()

chrome.fontSettings.clearFont(
  details: object,
)
: Promise<void>

清除這項擴充功能設定的字型 (如有)。

參數

  • 詳細資料

    物件

    • genericFamily

      要清除字型的通用字型系列。

    • 文字

      ScriptCode 選填

      要清除字型的指令碼。如果省略這項資訊,系統會清除全域指令碼字型設定。

傳回

  • Promise<void>

    Chrome 96 以上版本

clearMinimumFontSize()

chrome.fontSettings.clearMinimumFontSize(
  details?: object,
)
: Promise<void>

清除這項擴充功能設定的最小字型大小 (如有)。

參數

  • 詳細資料

    object 選填

    目前未使用這個參數。

傳回

  • Promise<void>

    Chrome 96 以上版本

getDefaultFixedFontSize()

chrome.fontSettings.getDefaultFixedFontSize(
  details?: object,
)
: Promise<object>

取得固定寬度字型的預設大小。

參數

  • 詳細資料

    object 選填

    目前未使用這個參數。

傳回

  • Promise<object>

    Chrome 96 以上版本

getDefaultFontSize()

chrome.fontSettings.getDefaultFontSize(
  details?: object,
)
: Promise<object>

取得預設字型大小。

參數

  • 詳細資料

    object 選填

    目前未使用這個參數。

傳回

  • Promise<object>

    Chrome 96 以上版本

getFont()

chrome.fontSettings.getFont(
  details: object,
)
: Promise<object>

取得特定指令碼和一般字型系列的字型。

參數

  • 詳細資料

    物件

    • genericFamily

      要擷取字型的通用字型系列。

    • 文字

      ScriptCode 選填

      要擷取字型的指令碼。如果省略這項資訊,系統會擷取全球指令碼 (指令碼代碼「Zyyy」) 的字型設定。

傳回

  • Promise<object>

    Chrome 96 以上版本

getFontList()

chrome.fontSettings.getFontList(): Promise<FontName[]>

取得系統上的字型清單。

傳回

  • Promise<FontName[]>

    Chrome 96 以上版本

getMinimumFontSize()

chrome.fontSettings.getMinimumFontSize(
  details?: object,
)
: Promise<object>

取得最小字型大小。

參數

  • 詳細資料

    object 選填

    目前未使用這個參數。

傳回

  • Promise<object>

    Chrome 96 以上版本

setDefaultFixedFontSize()

chrome.fontSettings.setDefaultFixedFontSize(
  details: object,
)
: Promise<void>

設定固定寬度字型的預設大小。

參數

  • 詳細資料

    物件

    • pixelSize

      數字

      字型大小 (以像素為單位)。

傳回

  • Promise<void>

    Chrome 96 以上版本

setDefaultFontSize()

chrome.fontSettings.setDefaultFontSize(
  details: object,
)
: Promise<void>

設定預設字型大小。

參數

  • 詳細資料

    物件

    • pixelSize

      數字

      字型大小 (以像素為單位)。

傳回

  • Promise<void>

    Chrome 96 以上版本

setFont()

chrome.fontSettings.setFont(
  details: object,
)
: Promise<void>

為特定指令碼和通用字型系列設定字型。

參數

  • 詳細資料

    物件

    • fontId

      字串

      字型 ID。空白字串表示要改回使用全域指令碼字型設定。

    • genericFamily

      應設定字型的通用字型系列。

    • 文字

      ScriptCode 選填

      應設定字型的指令碼代碼。如果省略這項資訊,系統會設定全域指令碼 (指令碼代碼「Zyyy」) 的字型。

傳回

  • Promise<void>

    Chrome 96 以上版本

setMinimumFontSize()

chrome.fontSettings.setMinimumFontSize(
  details: object,
)
: Promise<void>

設定最小字型大小。

參數

  • 詳細資料

    物件

    • pixelSize

      數字

      字型大小 (以像素為單位)。

傳回

  • Promise<void>

    Chrome 96 以上版本

事件

onDefaultFixedFontSizeChanged

chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
  callback: function,
)

預設固定字型大小設定變更時觸發。

參數

  • callback

    函式

    callback 參數如下:

    (details: object) => void

    • 詳細資料

      物件

      • levelOfControl

        擴充功能對設定的控制層級。

      • pixelSize

        數字

        字型大小 (以像素為單位)。

onDefaultFontSizeChanged

chrome.fontSettings.onDefaultFontSizeChanged.addListener(
  callback: function,
)

在預設字型大小設定變更時觸發。

參數

  • callback

    函式

    callback 參數如下:

    (details: object) => void

    • 詳細資料

      物件

      • levelOfControl

        擴充功能對設定的控制層級。

      • pixelSize

        數字

        字型大小 (以像素為單位)。

onFontChanged

chrome.fontSettings.onFontChanged.addListener(
  callback: function,
)

字型設定變更時觸發。

參數

  • callback

    函式

    callback 參數如下:

    (details: object) => void

    • 詳細資料

      物件

      • fontId

        字串

        字型 ID。請參閱 getFont 中的說明。

      • genericFamily

        字型設定已變更的通用字型系列。

      • levelOfControl

        擴充功能對設定的控制層級。

      • 文字

        ScriptCode 選填

        字型設定已變更的指令碼代碼。

onMinimumFontSizeChanged

chrome.fontSettings.onMinimumFontSizeChanged.addListener(
  callback: function,
)

字型大小下限設定變更時觸發。

參數

  • callback

    函式

    callback 參數如下:

    (details: object) => void

    • 詳細資料

      物件

      • levelOfControl

        擴充功能對設定的控制層級。

      • pixelSize

        數字

        字型大小 (以像素為單位)。