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 允許部分字型設定依特定的一般字型系列和語言 指令碼舉例來說,Sans-Serif 簡體中文使用的字型可能與字型不同 Serif 日文。

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); }
);

下一個程式碼片段會為日文設定 Sans-Serif 字型。

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

如要試用這個 API,請安裝 chrome-extension-samples 提供的 fontSettings API 範例 Cloud Storage 也提供目錄同步處理功能

類型

FontName

代表字型名稱。

屬性

  • displayName

    字串

    字型的顯示名稱。

  • fontId

    字串

    字型 ID。

GenericFamily

CSS 泛型字型系列。

列舉

"標準"

"sansSerif"

"Serif"

「固定」

"cursive"

"Fantasy"

「數學」

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 指令碼。預設或全域指令碼,是以指令碼程式碼「Zyy」表示。

列舉

「Afak」

「阿拉伯」

"Armi"

"Armn"

Avst

「Bali」

"Bamu"

「低音」

"Batk"

"Beng"

「Blis」

「Bopo」

「Brah」

「英國」

「大明」

「好友」

"Cakm"

"Cans"

「Cari」

「Cham」

"Cher"

「Cirt」

「轉機」

"選舉"

「Cyrl」

"Cyrs"

「Deva」

「Dsrt」

「Dupl」

"Egyd"

Egyh

"Egyp"

「Elba」

「Ethi」

「Geor」

「地理區域」

Glag

「哥斯」

格蘭

「Grek」

「Gujr」

"大師"

「稍後」

「Hani」

"Hano"

"Hans"

「Hant」

"希伯來文"

「Hluw」

"Hmng"

「匈牙利」

"Inds"

"義大利式"

「Java」

"Jpan"

「Jurc」

"喀裡"

"Khar"

「公里」

"Khoj"

"Knda"

"Kpel"

「Kthi」

Lana

「Laoo」

"Latf"

「緯度」

「拉丁美洲」

"Lepc"

「Limb」

「Lina」

「Linb」

「Lisu」

"羅馬"

"Lyci"

「Lydi」

"曼文"

"阿曼"

「馬雅」

「修改」

「麥基」

"Mero"

"Mlym"

「月球」

"蒙文"

「Mroo」

「Mtei」

「Mymr」

"Narb"

"Nbat"

"Nkgb"

"Nkoo"

"Nshu"

「Ogam」

「奧克」

"Orkh"

「奧雅」

"奧斯馬"

"Palm"

「Perm」

「巴格」

「Phli」

「Phlp」

「Phlv」

「Phnx」

「Plrd」

「Prti」

"Rjng"

「Roro」

「執行者」

Samr」

「小莎」

"沙利文"

Saur」

「Sgnw」

"Shaw"

Shrd」

"Sind"

平安」

"Sora"

"Sund"

「Sylo」

"球形"

「敘爾」

"西爾文"

Syrn

「標記」

"Takr"

「Tale」

"泰盧文

"Taml"

"Tang"

「電視」

"泰盧文

「Teng」

"Tfng"

「Tglg」

「泰文」

「泰文」

「Tibt」

「Tirh」

「超加」

"Vaii"

「Visp」

「小威」

"Wole"

"Xpeo"

"Xsux"

"Yiii"

「Zmth」

"Zsym"

「Zyy」

方法

clearDefaultFixedFontSize()

Promise
chrome.fontSettings.clearDefaultFixedFontSize(
  details?: object,
  callback?: function,
)

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

參數

  • 詳細資料

    物件 optional

    目前未使用這個參數。

  • 回呼

    函式 選用

    callback 參數如下所示:

    () => void

傳回

  • 承諾<void>

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

clearDefaultFontSize()

Promise
chrome.fontSettings.clearDefaultFontSize(
  details?: object,
  callback?: function,
)

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

參數

  • 詳細資料

    物件 optional

    目前未使用這個參數。

  • 回呼

    函式 選用

    callback 參數如下所示:

    () => void

傳回

  • 承諾<void>

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

clearFont()

Promise
chrome.fontSettings.clearFont(
  details: object,
  callback?: function,
)

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

參數

  • 詳細資料

    物件

    • genericFamily

      應清除字型的一般字型系列。

    • 文字

      ScriptCode 選用

      應清除字型的指令碼。省略時,系統會清除全域指令碼字型設定。

  • 回呼

    函式 選用

    callback 參數如下所示:

    () => void

傳回

  • 承諾<void>

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

clearMinimumFontSize()

Promise
chrome.fontSettings.clearMinimumFontSize(
  details?: object,
  callback?: function,
)

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

參數

  • 詳細資料

    物件 optional

    目前未使用這個參數。

  • 回呼

    函式 選用

    callback 參數如下所示:

    () => void

傳回

  • 承諾<void>

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

getDefaultFixedFontSize()

Promise
chrome.fontSettings.getDefaultFixedFontSize(
  details?: object,
  callback?: function,
)

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

參數

  • 詳細資料

    物件 optional

    目前未使用這個參數。

  • 回呼

    函式 選用

    callback 參數如下所示:

    (details: object) => void

    • 詳細資料

      物件

      • levelOfControl

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

      • pixelSize

        數字

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

傳回

  • Promise&lt;object&gt;

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

getDefaultFontSize()

Promise
chrome.fontSettings.getDefaultFontSize(
  details?: object,
  callback?: function,
)

取得預設字型大小。

參數

  • 詳細資料

    物件 optional

    目前未使用這個參數。

  • 回呼

    函式 選用

    callback 參數如下所示:

    (details: object) => void

    • 詳細資料

      物件

      • levelOfControl

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

      • pixelSize

        數字

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

傳回

  • Promise&lt;object&gt;

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

getFont()

Promise
chrome.fontSettings.getFont(
  details: object,
  callback?: function,
)

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

參數

  • 詳細資料

    物件

    • genericFamily

      應擷取字型的一般字型系列。

    • 文字

      ScriptCode 選用

      應擷取字型的指令碼。如果省略,系統會擷取全域指令碼 (指令碼碼「Zyy」) 的字型設定。

  • 回呼

    函式 選用

    callback 參數如下所示:

    (details: object) => void

    • 詳細資料

      物件

      • fontId

        字串

        字型 ID。這可以是系統解析偏好設定值的目標字型 ID,而不是常值的字型 ID 偏好設定值。因此,如果系統沒有字型,fontId 可能會與傳遞至 setFont 的字型不同。空字串表示採用全域指令碼字型設定的備用選項。

      • levelOfControl

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

傳回

  • Promise&lt;object&gt;

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

getFontList()

Promise
chrome.fontSettings.getFontList(
  callback?: function,
)

取得系統上的字型清單。

參數

  • 回呼

    函式 選用

    callback 參數如下所示:

    (results: FontName[]) => void

傳回

  • Promise&lt;FontName[]&gt;

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

getMinimumFontSize()

Promise
chrome.fontSettings.getMinimumFontSize(
  details?: object,
  callback?: function,
)

取得字型大小下限。

參數

  • 詳細資料

    物件 optional

    目前未使用這個參數。

  • 回呼

    函式 選用

    callback 參數如下所示:

    (details: object) => void

    • 詳細資料

      物件

      • levelOfControl

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

      • pixelSize

        數字

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

傳回

  • Promise&lt;object&gt;

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

setDefaultFixedFontSize()

Promise
chrome.fontSettings.setDefaultFixedFontSize(
  details: object,
  callback?: function,
)

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

參數

  • 詳細資料

    物件

    • pixelSize

      數字

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

  • 回呼

    函式 選用

    callback 參數如下所示:

    () => void

傳回

  • 承諾<void>

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

setDefaultFontSize()

Promise
chrome.fontSettings.setDefaultFontSize(
  details: object,
  callback?: function,
)

設定預設字型大小。

參數

  • 詳細資料

    物件

    • pixelSize

      數字

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

  • 回呼

    函式 選用

    callback 參數如下所示:

    () => void

傳回

  • 承諾<void>

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

setFont()

Promise
chrome.fontSettings.setFont(
  details: object,
  callback?: function,
)

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

參數

  • 詳細資料

    物件

    • fontId

      字串

      字型 ID。空字串代表採用全域指令碼字型設定。

    • genericFamily

      應設定字型的一般字型系列。

    • 文字

      ScriptCode 選用

      應設定字型的指令碼程式碼。如果省略,系統會設定全域指令碼 (指令碼代碼「Zyy」) 的字型設定。

  • 回呼

    函式 選用

    callback 參數如下所示:

    () => void

傳回

  • 承諾<void>

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

setMinimumFontSize()

Promise
chrome.fontSettings.setMinimumFontSize(
  details: object,
  callback?: function,
)

設定字型大小下限。

參數

  • 詳細資料

    物件

    • pixelSize

      數字

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

  • 回呼

    函式 選用

    callback 參數如下所示:

    () => void

傳回

  • 承諾<void>

    Chrome 96 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

活動

onDefaultFixedFontSizeChanged

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

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

參數

  • 回呼

    函式

    callback 參數如下所示:

    (details: object) => void

    • 詳細資料

      物件

      • levelOfControl

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

      • pixelSize

        數字

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

onDefaultFontSizeChanged

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

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

參數

  • 回呼

    函式

    callback 參數如下所示:

    (details: object) => void

    • 詳細資料

      物件

      • levelOfControl

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

      • pixelSize

        數字

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

onFontChanged

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

字型設定變更時觸發。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (details: object) => void

    • 詳細資料

      物件

      • fontId

        字串

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

      • genericFamily

        字型設定變更的一般字型系列。

      • levelOfControl

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

      • 文字

        ScriptCode 選用

        字型設定變更的指令碼程式碼。

onMinimumFontSizeChanged

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

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

參數

  • 回呼

    函式

    callback 參數如下所示:

    (details: object) => void

    • 詳細資料

      物件

      • levelOfControl

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

      • pixelSize

        數字

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