chrome.fontSettings

描述 使用 chrome.fontSettings API 管理 Chrome 浏览器的字体设置。
可用版本 从 Chrome 22 开始支持。
权限 "fontSettings"

清单文件

要使用字体设置 API,您必须在扩展程序的清单文件中声明 "fontSettings" 权限。例如:

      {
        "name": "我的字体设置扩展程序",
        "description": "自定义您的字体",
        "version": "0.2",
        "permissions": [
          "fontSettings"
        ],
        ...
      }
      

一般字体系列及书写文字

Chrome 浏览器提供了取决于某些一般字体系列与语言书写文字的字体设置。例如,用于简体中文的 Sans-serif 字体可能与用于日语的 Serif 字体不同。

Chrome 浏览器支持的一般字体系列基于 CSS 一般字体系列,已在下面的 API 参考中列出。当网页指定一种一般字体系列时,Chrome 浏览器会基于相应的设置选择字体。如果没有指定一般字体系列,Chrome 浏览器会使用“标准”一般字体系列的设置。

当网页指定语言时,Chrome 浏览器基于相应语言书写文字的设置选择字体。如果没有指定语言,Chrome 浏览器会使用默认或全局书写文字的设置。

支持的语言书写文字基于 ISO 15924 书写文字代码,已在下面的 API 参考中列出。从技术上说,Chrome 浏览器的设置并不是严格地按照书写文字区分,也和语言相关。例如,当网页指定韩语时,Chrome 浏览器会选择用于谚文(ISO 15924 的书写文字代码为 "Hang")的字体,而且不仅针对谚文,对于这种字体包含的所有文字,例如韩文汉字,也会使用这种字体。

例子

如下代码获取阿拉伯语的标准字体:

      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 的示例扩展程序。有关其他例子以及查看源代码的帮助,请参见示例

摘要

类型
FontName
ScriptCode
GenericFamily
LevelOfControl
方法
clearFont chrome.fontSettings.clearFont(object details, function callback)
getFont chrome.fontSettings.getFont(object details, function callback)
setFont chrome.fontSettings.setFont(object details, function callback)
getFontList chrome.fontSettings.getFontList(function callback)
clearDefaultFontSize chrome.fontSettings.clearDefaultFontSize(object details, function callback)
getDefaultFontSize chrome.fontSettings.getDefaultFontSize(object details, function callback)
setDefaultFontSize chrome.fontSettings.setDefaultFontSize(object details, function callback)
clearDefaultFixedFontSize chrome.fontSettings.clearDefaultFixedFontSize(object details, function callback)
getDefaultFixedFontSize chrome.fontSettings.getDefaultFixedFontSize(object details, function callback)
setDefaultFixedFontSize chrome.fontSettings.setDefaultFixedFontSize(object details, function callback)
clearMinimumFontSize chrome.fontSettings.clearMinimumFontSize(object details, function callback)
getMinimumFontSize chrome.fontSettings.getMinimumFontSize(object details, function callback)
setMinimumFontSize chrome.fontSettings.setMinimumFontSize(object details, function callback)
事件
onFontChanged
onDefaultFontSizeChanged
onDefaultFixedFontSizeChanged
onMinimumFontSizeChanged

类型

FontName

代表字体名称。
属性
string fontId

字体标识符。

string displayName

用于显示的字体名称。

ScriptCode

ISO 15924 书写文字代码,书写文字代码 "Zyyy" 代表默认或全局书写文字。
枚举
"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"

GenericFamily

CSS 一般字体系列。
枚举
"standard", "sansserif", "serif", "fixed", "cursive", or "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", or "controlled_by_this_extension"

方法

clearFont

chrome.fontSettings.clearFont(object details, function callback)

清除当前扩展程序设置过的字体(如果有的话)。

参数
object details
ScriptCode (可选)
script

要清除字体设置的书写文字。如果省略,则清除全局书写文字的字体设置。

GenericFamily genericFamily

要清除字体设置的一般字体系列。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

getFont

chrome.fontSettings.getFont(object details, function callback)

获取指定书写文字和一般字体系列对应的字体。

参数
object details
ScriptCode (可选)
script

要获取对应字体的书写文字。如果省略,则获取全局书写文字(书写文字代码为 "Zyyy")对应的字体。

GenericFamily genericFamily

要获取对应字体的一般字体系列。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function(object details) {...};
object details
string fontId

字体标识符。有可能是系统根据首选项的值解析出的字体标识符,而不一定是字面的字体标识符首选项值,所以 fontId 可能和传递给 setFont 的字体不同,例如如果指定字体在当前系统中不可用。空字符串意味着使用全局书写文字的字体设置。

LevelOfControl levelOfControl

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

setFont

chrome.fontSettings.setFont(object details, function callback)

设置指定书写文字和一般字体系列对应的字体。

参数
object details
ScriptCode (可选)
script

要设置对应字体的书写文字。如果省略,则设置全局书写文字(书写文字代码为 "Zyyy")对应的字体。

GenericFamily genericFamily

要设置对应字体的一般字体系列。

string fontId

字体标识符。空字符串意味着使用全局书写文字的字体设置。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

getFontList

chrome.fontSettings.getFontList(function callback)

获取系统中所有字体的列表。

参数
function callback

callback 参数应该是一个如下形式的函数:

function(array of FontName results) {...};
array of FontName results

clearDefaultFontSize

chrome.fontSettings.clearDefaultFontSize(object details, function callback)

清除当前扩展程序设置过的默认字体大小。

参数
object (可选)
details

该参数当前未使用。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

getDefaultFontSize

chrome.fontSettings.getDefaultFontSize(object details, function callback)

获取默认字体大小。

参数
object (可选)
details

该参数当前未使用。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function(object details) {...};
object details
integer pixelSize

以像素为单位的字体大小。

LevelOfControl levelOfControl

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

setDefaultFontSize

chrome.fontSettings.setDefaultFontSize(object details, function callback)

设置默认字体大小。

参数
object details
integer pixelSize

以像素为单位的字体大小。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

clearDefaultFixedFontSize

chrome.fontSettings.clearDefaultFixedFontSize(object details, function callback)

清除当前扩展程序设置过的默认的宽度固定的字体的大小。

参数
object (可选)
details

该参数当前未使用。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

getDefaultFixedFontSize

chrome.fontSettings.getDefaultFixedFontSize(object details, function callback)

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

参数
object (可选)
details

该参数当前未使用。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function(object details) {...};
object details
integer pixelSize

以像素为单位的字体大小。

LevelOfControl levelOfControl

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

setDefaultFixedFontSize

chrome.fontSettings.setDefaultFixedFontSize(object details, function callback)

设置宽度固定的字体的默认大小。

参数
object details
integer pixelSize

以像素为单位的字体大小。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

clearMinimumFontSize

chrome.fontSettings.clearMinimumFontSize(object details, function callback)

清除当前扩展程序设置过的字体大小下限。

参数
object (可选)
details

该参数当前未使用。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

getMinimumFontSize

chrome.fontSettings.getMinimumFontSize(object details, function callback)

获取字体大小下限。

参数
object (可选)
details

该参数当前未使用。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function(object details) {...};
object details
integer pixelSize

以像素为单位的字体大小。

LevelOfControl levelOfControl

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

setMinimumFontSize

chrome.fontSettings.setMinimumFontSize(object details, function callback)

设置字体大小下限。

参数
object details
integer pixelSize

以像素为单位的字体大小。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

事件

onFontChanged

字体设置更改时产生。

addListener

chrome.fontSettings.onFontChanged.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function(object details) {...};
object details
string fontId

字体标识符,参见 getFont 中的描述。

ScriptCode (可选)
script

更改的字体设置对应的书写文字。

GenericFamily genericFamily

更改的字体设置对应的一般字体系列。

LevelOfControl levelOfControl

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

onDefaultFontSizeChanged

默认字体大小的设置更改时产生。

addListener

chrome.fontSettings.onDefaultFontSizeChanged.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function(object details) {...};
object details
integer pixelSize

以像素为单位的字体大小。

LevelOfControl levelOfControl

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

onDefaultFixedFontSizeChanged

默认的宽度固定的字体大小设置更改时产生。

addListener

chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function(object details) {...};
object details
integer pixelSize

以像素为单位的字体大小。

LevelOfControl levelOfControl

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

onMinimumFontSizeChanged

字体大小下限的设置更改时产生。

addListener

chrome.fontSettings.onMinimumFontSizeChanged.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function(object details) {...};
object details
integer pixelSize

以像素为单位的字体大小。

LevelOfControl levelOfControl

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

示例扩展程序