說明
請使用 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 會選擇 Cyrillic (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 範例。
類型
FontName
代表字型名稱。
屬性
-
displayName
字串
字型的顯示名稱。
-
fontId
字串
字型 ID。
GenericFamily
CSS 一般字型系列。
列舉
"sansserif"
LevelOfControl
其中一個 not\_controllable
:無法由任何擴充功能 controlled\_by\_other\_extensions
控管:由優先順序較高的擴充功能 controllable\_by\_this\_extension
:可由這個擴充功能 controlled\_by\_this\_extension
:由這個擴充功能控管
列舉
"not_controllable"
"controllable_by_this_extension"
ScriptCode
ISO 15924 指令碼程式碼。預設 (或全域指令碼) 會以指令碼程式碼「Zyyy」表示。
列舉
"Afak"
"Armi"
"Brai"
"Cari"
"Cham"
"Cprt"
"Cyrl"
"Cyrs"
"Egyd"
"Egyh"
"Egyp"
"Ethi"
"Geor"
"Gran"
"Gujr"
"Hani"
"Hans"
"Hant"
"Jpan"
"Jurc"
"Khar"
"Khoj"
"Kthi"
"Laoo"
"Mero"
"Mlym"
"Mymr"
"Nbat"
"Nkgb"
"Nshu"
"Ogam"
"Palm"
"Plrd"
"Rjng"
"Roro"
"Samr"
"Sara"
"Saur"
"Shaw"
"Shrd"
"Sora"
"Sylo"
"Syrc"
"Syrj"
"Syrn"
"Tagb"
"Telu"
"Tfng"
"Tirh"
"Ugar"
"Wole"
"Zsym"
方法
clearDefaultFixedFontSize()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
callback?: function,
)
清除這個擴充功能設定的預設字型大小 (如果有的話)。
參數
-
詳細資料
物件選用
目前未使用此參數。
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
)
清除這個擴充功能設定的預設字型大小 (如有)。
參數
-
詳細資料
物件選用
目前未使用此參數。
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
clearFont()
chrome.fontSettings.clearFont(
details: object,
callback?: function,
)
清除這個擴充功能設定的字型 (如果有的話)。
參數
-
詳細資料
物件
-
genericFamily
應該清除字型的一般字型系列。
-
文字
ScriptCode 選用
要清除字型的指令碼。如果省略,系統會清除全域指令碼字型設定。
-
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
)
清除這個擴充功能設定的字型大小下限 (如果有的話)。
參數
-
詳細資料
物件選用
目前未使用此參數。
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
)
取得固定寬度字型的預設大小。
參數
-
詳細資料
物件選用
目前未使用此參數。
-
回呼
函式選用
callback
參數如下所示:(details: object) => void
-
詳細資料
物件
-
levelOfControl
這項擴充功能所套用的設定控制層級。
-
pixelSize
號碼
字型大小 (以像素為單位)。
-
-
傳回
-
Promise<object>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
)
取得預設字型大小。
參數
-
詳細資料
物件選用
目前未使用此參數。
-
回呼
函式選用
callback
參數如下所示:(details: object) => void
-
詳細資料
物件
-
levelOfControl
這項擴充功能所套用的設定控制層級。
-
pixelSize
號碼
字型大小 (以像素為單位)。
-
-
傳回
-
Promise<object>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
getFont()
chrome.fontSettings.getFont(
details: object,
callback?: function,
)
取得指定指令碼和一般字型系列的字型。
參數
-
詳細資料
物件
-
genericFamily
系統擷取該字型的一般字型系列。
-
文字
ScriptCode 選用
要擷取字型的指令碼。如果省略,系統會擷取全域指令碼的字型設定 (指令碼代碼「Zyyy」)。
-
-
回呼
函式選用
callback
參數如下所示:(details: object) => void
-
詳細資料
物件
-
fontId
字串
字型 ID。這可能是系統解析偏好設定值所使用的字型 ID,而不是常值字型 ID 偏好設定值。舉例來說,如果系統沒有可用的字型,
fontId
就可以與傳遞至setFont
的字型不同。空白字串代表成為全域指令碼字型設定的備用。 -
levelOfControl
這項擴充功能所套用的設定控制層級。
-
-
傳回
-
Promise<object>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
getFontList()
chrome.fontSettings.getFontList(
callback?: function,
)
取得系統字型清單。
傳回
-
Promise<FontName[]>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
)
取得字型大小下限。
參數
-
詳細資料
物件選用
目前未使用此參數。
-
回呼
函式選用
callback
參數如下所示:(details: object) => void
-
詳細資料
物件
-
levelOfControl
這項擴充功能所套用的設定控制層級。
-
pixelSize
號碼
字型大小 (以像素為單位)。
-
-
傳回
-
Promise<object>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
callback?: function,
)
設定固定寬度字型的預設大小。
參數
-
詳細資料
物件
-
pixelSize
號碼
字型大小 (以像素為單位)。
-
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
)
設定預設字型大小。
參數
-
詳細資料
物件
-
pixelSize
號碼
字型大小 (以像素為單位)。
-
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
setFont()
chrome.fontSettings.setFont(
details: object,
callback?: function,
)
設定指定指令碼和一般字型系列的字型。
參數
-
詳細資料
物件
-
fontId
字串
字型 ID。空白字串代表系統會改用全域指令碼字型設定。
-
genericFamily
應該設定字型的一般字型系列。
-
文字
ScriptCode 選用
應設定字型的指令碼程式碼。如果省略,系統會設定全域指令碼的字型設定 (指令碼代碼「Zyyy」)。
-
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
callback?: function,
)
設定字型大小下限。
參數
-
詳細資料
物件
-
pixelSize
號碼
字型大小 (以像素為單位)。
-
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Chrome 96 以上版本Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
活動
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
號碼
字型大小 (以像素為單位)。
-
-