This page was saved using WebZIP 7.0.3.1030 offline browser on 12/24/13 11:31:36.
Address: https://crxdoc-zh.appspot.com/extensions/fontSettings.html
Title: chrome.fontSettings - Google Chrome 扩展程序开发文档(非官方中文版)  •  Size: 96095

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

chrome.fontSettings 参考

类型

FontName

代表字体名称。

FontName 的属性

fontId ( string )

字体标识符。

displayName ( string )

用于显示的字体名称。

ScriptCode

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

GenericFamily

enum of "standard", "sansserif", "serif", "fixed", "cursive", or "fantasy"
CSS 一般字体系列。

LevelOfControl

enum of "not_controllable", "controlled_by_other_extensions", "controllable_by_this_extension", or "controlled_by_this_extension"
以下值之一:
"not_controllable":无法由任何扩展程序控制。
"controlled_by_other_extensions":由优先级更高的扩展程序控制。
"controllable_by_this_extension":可以由该扩展程序控制。
"controlled_by_this_extension":由该扩展程序控制。

方法

clearFont

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

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

参数

details ( object )

属性

script ( optional ScriptCode )

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

genericFamily ( GenericFamily )

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

callback ( optional function )

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

function() {...};

getFont

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

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

参数

details ( object )

属性

script ( optional ScriptCode )

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

genericFamily ( GenericFamily )

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

callback ( optional function )

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

function(object details) {...};

details ( object )

属性

fontId ( string )

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

levelOfControl ( LevelOfControl )

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

setFont

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

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

参数

details ( object )

属性

script ( optional ScriptCode )

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

genericFamily ( GenericFamily )

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

fontId ( string )

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

callback ( optional function )

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

function() {...};

getFontList

chrome.fontSettings.getFontList(function callback)

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

参数

callback ( function )

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

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

results ( array of FontName )

clearDefaultFontSize

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

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

参数

details ( optional object )

该参数当前未使用。

callback ( optional function )

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

function() {...};

getDefaultFontSize

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

获取默认字体大小。

参数

details ( optional object )

该参数当前未使用。

callback ( optional function )

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

function(object details) {...};

details ( object )

属性

pixelSize ( integer )

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

levelOfControl ( LevelOfControl )

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

setDefaultFontSize

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

设置默认字体大小。

参数

details ( object )

属性

pixelSize ( integer )

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

callback ( optional function )

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

function() {...};

clearDefaultFixedFontSize

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

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

参数

details ( optional object )

该参数当前未使用。

callback ( optional function )

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

function() {...};

getDefaultFixedFontSize

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

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

参数

details ( optional object )

该参数当前未使用。

callback ( optional function )

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

function(object details) {...};

details ( object )

属性

pixelSize ( integer )

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

levelOfControl ( LevelOfControl )

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

setDefaultFixedFontSize

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

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

参数

details ( object )

属性

pixelSize ( integer )

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

callback ( optional function )

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

function() {...};

clearMinimumFontSize

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

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

参数

details ( optional object )

该参数当前未使用。

callback ( optional function )

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

function() {...};

getMinimumFontSize

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

获取字体大小下限。

参数

details ( optional object )

该参数当前未使用。

callback ( optional function )

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

function(object details) {...};

details ( object )

属性

pixelSize ( integer )

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

levelOfControl ( LevelOfControl )

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

setMinimumFontSize

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

设置字体大小下限。

参数

details ( object )

属性

pixelSize ( integer )

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

callback ( optional function )

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

function() {...};

事件

onFontChanged

字体设置更改时产生。

addListener

chrome.fontSettings.onFontChanged.addListener(function callback)

参数

callback ( function )

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

function(object details) {...};

details ( object )

属性

fontId ( string )

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

script ( optional ScriptCode )

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

genericFamily ( GenericFamily )

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

levelOfControl ( LevelOfControl )

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

onDefaultFontSizeChanged

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

addListener

chrome.fontSettings.onDefaultFontSizeChanged.addListener(function callback)

参数

callback ( function )

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

function(object details) {...};

details ( object )

属性

pixelSize ( integer )

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

levelOfControl ( LevelOfControl )

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

onDefaultFixedFontSizeChanged

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

addListener

chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(function callback)

参数

callback ( function )

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

function(object details) {...};

details ( object )

属性

pixelSize ( integer )

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

levelOfControl ( LevelOfControl )

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

onMinimumFontSizeChanged

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

addListener

chrome.fontSettings.onMinimumFontSizeChanged.addListener(function callback)

参数

callback ( function )

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

function(object details) {...};

details ( object )

属性

pixelSize ( integer )

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

levelOfControl ( LevelOfControl )

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