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 示例

类型

FontName

表示字体名称。

属性

  • displayName

    string

    字体的显示名称。

  • fontId

    string

    字体 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 脚本代码。默认或全局脚本由脚本代码“Zyyy”表示。

枚举

"Avst"

"Bamu"

"Beng"

"Blis"

"Bugi"

"Cans"

"Cyrs"

"Egyd"

"Egyh"

"Ethi"

"Gran"

"Grek"

"Gujr"

"Hans"

"Hmng"

"Jpan"

"Kali"

"Khar"

"Khmr"

"Knda"

"Kpel"

"Kthi"

"Lepc"

"Lina"

"Lyci"

"Mtei"

"Mymr"

"Nkgb"

"Ogam"

"Orya"

"Osma"

"Phli"

"Phlp"

"Phlv"

"Plrd"

"Prti"

"Rjng"

"Samr"

"Sara"

"Sind"

"Syre"

"Syrj"

"Taml"

"Telu"

"Teng"

"Tfng"

"Tibt"

"Wole"

"Xpeo"

"Zmth"

方法

clearDefaultFixedFontSize()

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

清除此扩展程序设置的默认固定字号(如果有)。

参数

  • 明细

    对象(可选)

    此参数目前未使用。

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

clearDefaultFontSize()

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

清除此扩展程序设置的默认字体大小(如果有)。

参数

  • 明细

    对象(可选)

    此参数目前未使用。

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

clearFont()

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

清除此扩展程序设置的字体(如果有)。

参数

  • 明细

    对象

    • genericFamily

      应清除其字体的通用字体系列。

    • 文字

      ScriptCode 可选

      应清除其字体的脚本。如果省略,则系统会清除全局脚本字体设置。

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

clearMinimumFontSize()

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

清除此扩展程序设置的最小字体大小(如果有)。

参数

  • 明细

    对象(可选)

    此参数目前未使用。

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

getDefaultFixedFontSize()

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

获取固定宽度字体的默认大小。

参数

  • 明细

    对象(可选)

    此参数目前未使用。

  • callback

    函数(可选)

    callback 参数如下所示:

    (details: object)=>void

    • 明细

      对象

      • levelOfControl

        此扩展程序对设置的控制级别。

      • pixelSize

        number

        字体大小(以像素为单位)。

返回

  • Promise<object>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

getDefaultFontSize()

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

获取默认字体大小。

参数

  • 明细

    对象(可选)

    此参数目前未使用。

  • callback

    函数(可选)

    callback 参数如下所示:

    (details: object)=>void

    • 明细

      对象

      • levelOfControl

        此扩展程序对设置的控制级别。

      • pixelSize

        number

        字体大小(以像素为单位)。

返回

  • Promise<object>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

getFont()

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

获取指定脚本和通用字体系列的字体。

参数

  • 明细

    对象

    • genericFamily

      应检索其字体的通用字体系列。

    • 文字

      ScriptCode 可选

      应检索其字体的脚本。如果省略此参数,则系统会检索全局脚本(脚本代码“Zyyy”)的字体设置。

  • callback

    函数(可选)

    callback 参数如下所示:

    (details: object)=>void

    • 明细

      对象

      • fontId

        string

        字体 ID。这可能是系统将偏好设置值解析为的字体的 ID,而不是字面字体 ID 偏好设置值。因此,fontId 可能与传递给 setFont 的字体不同(例如,如果系统中没有相应字体)。空字符串表示回退到全局脚本字体设置。

      • levelOfControl

        此扩展程序对设置的控制级别。

返回

  • Promise<object>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

getFontList()

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

获取系统上的字体列表。

参数

  • callback

    函数(可选)

    callback 参数如下所示:

    (results: FontName[])=>void

返回

  • Promise<FontName[]>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

getMinimumFontSize()

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

获取最小字体大小。

参数

  • 明细

    对象(可选)

    此参数目前未使用。

  • callback

    函数(可选)

    callback 参数如下所示:

    (details: object)=>void

    • 明细

      对象

      • levelOfControl

        此扩展程序对设置的控制级别。

      • pixelSize

        number

        字体大小(以像素为单位)。

返回

  • Promise<object>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

setDefaultFixedFontSize()

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

设置等宽字体的默认大小。

参数

  • 明细

    对象

    • pixelSize

      number

      字体大小(以像素为单位)。

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

setDefaultFontSize()

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

设置默认字体大小。

参数

  • 明细

    对象

    • pixelSize

      number

      字体大小(以像素为单位)。

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

setFont()

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

设置给定脚本和通用字体系列的字体。

参数

  • 明细

    对象

    • fontId

      string

      字体 ID。空字符串表示回退到全局脚本字体设置。

    • genericFamily

      应为其设置字体的通用字体系列。

    • 文字

      ScriptCode 可选

      应设置字体的脚本代码。如果省略此参数,则会设置全局脚本(脚本代码“Zyyy”)的字体设置。

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

setMinimumFontSize()

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

设置字体大小下限。

参数

  • 明细

    对象

    • pixelSize

      number

      字体大小(以像素为单位)。

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

活动

onDefaultFixedFontSizeChanged

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

在默认的固定字体大小设置发生变化时触发。

参数

  • callback

    功能

    callback 参数如下所示:

    (details: object)=>void

    • 明细

      对象

      • levelOfControl

        此扩展程序对设置的控制级别。

      • pixelSize

        number

        字体大小(以像素为单位)。

onDefaultFontSizeChanged

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

在默认字体大小设置更改时触发。

参数

  • callback

    功能

    callback 参数如下所示:

    (details: object)=>void

    • 明细

      对象

      • levelOfControl

        此扩展程序对设置的控制级别。

      • pixelSize

        number

        字体大小(以像素为单位)。

onFontChanged

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

在字体设置发生变化时触发。

参数

  • callback

    功能

    callback 参数如下所示:

    (details: object)=>void

    • 明细

      对象

      • fontId

        string

        字体 ID。请参阅 getFont 中的说明。

      • genericFamily

        字体设置发生更改的通用字体系列。

      • levelOfControl

        此扩展程序对设置的控制级别。

      • 文字

        ScriptCode 可选

        字体设置已更改的脚本代码。

onMinimumFontSizeChanged

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

在最小字体大小设置更改时触发。

参数

  • callback

    功能

    callback 参数如下所示:

    (details: object)=>void

    • 明细

      对象

      • levelOfControl

        此扩展程序对设置的控制级别。

      • pixelSize

        number

        字体大小(以像素为单位)。