chrome.fontSettings
Description
使用 chrome.fontSettings
API 来管理 Chrome 的字体设置。
Permissions
fontSettings
# Manifest
要使用字体设置 API,您必须在扩展清单中声明“fontSettings
”权限。例如:
{
"name": "My Font Settings Extension",
"description": "Customize your fonts",
"version": "0.2",
"permissions": [
"fontSettings"
],
...
}
# Generic Font Families and Scripts(通用字体系列和脚本)
Chrome 允许某些字体设置依赖于某些通用字体系列和语言脚本。例如,用于 sans-serif Simplified Chinese
的字体可能与用于 serif Japanese
的字体不同。
Chrome 支持的通用字体系列基于 CSS 通用字体(CSS generic font families)系列,并在下面的 API 参考中列出。当网页指定通用字体系列时,Chrome 会根据相应的设置选择字体。如果未指定通用字体系列,Chrome 将使用“标准”通用字体系列的设置。
当网页指定语言时,Chrome 会根据相应语言脚本的设置选择字体。如果未指定语言,Chrome 将使用默认或全局脚本的设置。
支持的语言脚本由 ISO 15924 脚本代码指定,并在下面的 API 参考中列出。从技术上讲,Chrome 设置并非严格按照脚本进行设置,还取决于语言。例如,当网页指定俄语时,Chrome 会选择西里尔文字体(ISO 15924 脚本代码“Cyrl”),并且不仅将这种字体用于西里尔文脚本,还用于字体涵盖的所有内容,例如拉丁文。
# Examples
以下代码获取阿拉伯语的标准字体。
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' }
);
您可以在 examples/api/fontSettings 目录中找到使用字体设置 API 的示例扩展。有关其他示例和查看源代码的帮助,请参阅示例Samples。
Summary
Types
Methods
Events
Types
FontName
表示字体名称。
PROPERTIES
displayName
string
字体的显示名称。
fontId
string
字体标识。
GenericFamily
CSS 通用字体系列。
TYPE
"standard", "sansserif", "serif", "fixed", "cursive", or "fantasy"
LevelOfControl
not\_controllable
之一:不能被任何扩展控制
controlled\_by\_other\_extensions
:由具有更高优先级的扩展控制
controllable\_by\_this\_extension
:可以由这个扩展控制
controlled\_by\_this\_extension
:由这个扩展控制
TYPE
"not_controllable", "controlled_by_other_extensions", "controllable_by_this_extension", or "controlled_by_this_extension"
ScriptCode
ISO 15924 脚本代码。默认或全局脚本由脚本代码“Zyyy”表示。
TYPE
"Afak", "Arab", "Armi", "Armn", "Avst", "Bali", "Bamu", "Bass", "Batk", "Beng", "Blis", "Bopo", "Brah", "Brai", "Bugi", "Buhd", "Cakm", "Cans", "Cari", "Cham", "Cher", "Cirt", "Copt", "Cprt", "Cyrl", "Cyrs", "Deva", "Dsrt", "Dupl", "Egyd", "Egyh", "Egyp", "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", "Lisu", "Loma", "Lyci", "Lydi", "Mand", "Mani", "Maya", "Mend", "Merc", "Mero", "Mlym", "Moon", "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", "Thai", "Tibt", "Tirh", "Ugar", "Vaii", "Visp", "Wara", "Wole", "Xpeo", "Xsux", "Yiii", "Zmth", "Zsym", or "Zyyy"
Methods
clearDefaultFixedFontSize
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
callback?: function,
)
Promise
清除此扩展设置的默认固定字体大小(如果有)。
PARAMETERS
details
object optional
该参数当前未使用。
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
clearDefaultFontSize
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
)
Promise
清除此扩展程序设置的默认字体大小(如果有)。
PARAMETERS
details
object optional
该参数当前未使用。
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
clearFont
chrome.fontSettings.clearFont(
details: object,
callback?: function,
)
Promise
清除此扩展设置的字体(如果有)。
PARAMETERS
details
object
genericFamily
应清除字体的通用字体系列。
script
ScriptCode optional
应清除字体的脚本。如果省略,则清除全局脚本字体设置。
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
clearMinimumFontSize
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
)
Promise
清除此扩展程序设置的最小字体大小(如果有)。
PARAMETERS
details
object optional
该参数当前未使用。
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
getDefaultFixedFontSize
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
)
Promise
获取固定宽度字体的默认大小。
PARAMETERS
details
object optional
该参数当前未使用。
callback
function optional
The
callback
parameter looks like:(details: object) => void
details
object
levelOfControl
此扩展程序对设置的控制级别。
pixelSize
number
以像素为单位的字体大小。
RETURNS
Promise<object>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
getDefaultFontSize
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
)
Promise
获取默认字体大小。
PARAMETERS
details
object optional
该参数当前未使用。
callback
function optional
The
callback
parameter looks like:(details: object) => void
details
object
levelOfControl
此扩展程序对设置的控制级别。
pixelSize
number
以像素为单位的字体大小。
RETURNS
Promise<object>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
getFont
chrome.fontSettings.getFont(
details: object,
callback?: function,
)
Promise
获取给定脚本和通用字体系列的字体。
PARAMETERS
details
object
genericFamily
应为其检索字体的通用字体系列。
script
ScriptCode optional
应为其检索字体的脚本。如果省略,则检索全局脚本(脚本代码“Zyyy”)的字体设置。
callback
function optional
The
callback
parameter looks like:(details: object) => void
details
object
fontId
string
字体标识。这可能是系统将首选项值解析为的字体的 ID,而不是文字字体 ID 首选项值。因此,
fontId
可能与传递给setFont
的字体不同,例如,如果该字体在系统上不可用。空字符串表示回退到全局脚本字体设置。levelOfControl
此扩展程序对设置的控制级别。
RETURNS
Promise<object>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
getFontList
chrome.fontSettings.getFontList(
callback?: function,
)
Promise
获取系统上的字体列表。
PARAMETERS
callback
function optional
The
callback
parameter looks like:(results: FontName[]) => void
results
FontName[]
RETURNS
Promise<FontName[]>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
getMinimumFontSize
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
)
Promise
获取最小字体大小。
PARAMETERS
details
object optional
该参数当前未使用。
callback
function optional
The
callback
parameter looks like:(details: object) => void
details
object
levelOfControl
此扩展程序对设置的控制级别。
pixelSize
number
以像素为单位的字体大小。
RETURNS
Promise<object>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
setDefaultFixedFontSize
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
callback?: function,
)
Promise
设置固定宽度字体的默认大小。
PARAMETERS
details
object
pixelSize
number
以像素为单位的字体大小。
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
setDefaultFontSize
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
)
Promise
设置默认字体大小。
PARAMETERS
details
object
pixelSize
number
以像素为单位的字体大小
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
setFont
chrome.fontSettings.setFont(
details: object,
callback?: function,
)
Promise
设置给定脚本和通用字体系列的字体。
PARAMETERS
details
object
fontId
string
字体标识。空字符串意味着回退到全局脚本字体设置。
genericFamily
应为其设置字体的通用字体系列。
script
ScriptCode optional
应设置字体的脚本代码。如果省略,则设置全局脚本(脚本代码“Zyyy”)的字体设置。
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
setMinimumFontSize
chrome.fontSettings.setMinimumFontSize(
details: object,
callback?: function,
)
Promise
设置最小字体大小。
PARAMETERS
details
object
pixelSize
number
以像素为单位的字体大小
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定回调参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与回调的第一个参数相同。
Events
onDefaultFixedFontSizeChanged
chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
callback: function,
)
当默认的固定字体大小设置更改时触发。
PARAMETERS
callback
function
The
callback
parameter looks like:(details: object) => void
details
object
levelOfControl
此扩展程序对设置的控制级别。
pixelSize
number
以像素为单位的字体大小。
onDefaultFontSizeChanged
chrome.fontSettings.onDefaultFontSizeChanged.addListener(
callback: function,
)
当默认字体大小设置更改时触发。
PARAMETERS
callback
function
The
callback
parameter looks like:(details: object) => void
details
object
levelOfControl
此扩展程序对设置的控制级别。
pixelSize
number
以像素为单位的字体大小。
onFontChanged
chrome.fontSettings.onFontChanged.addListener(
callback: function,
)
当字体设置改变时触发。
PARAMETERS
callback
function
The
callback
parameter looks like:(details: object) => void
details
object
fontId
string
字体标识。请参阅
getFont
中的说明。genericFamily
字体设置已更改的通用字体系列。
levelOfControl
此扩展程序对设置的控制级别。
script
ScriptCode optional
字体设置已更改的脚本代码。
onMinimumFontSizeChanged
chrome.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
当最小字体大小设置更改时触发。
PARAMETERS
callback
function
The
callback
parameter looks like:(details: object) => void
details
object
levelOfControl
此扩展程序对设置的控制级别。
pixelSize
number
以像素为单位的字体大小。
By.一粒技术服务.