该页面翻译自 Google Chrome Extensions 与 Google Chrome Apps。除非特别说明,该页面的内容遵循 Creative Commons Attribution 3.0 License,代码示例遵循 BSD License。
| 描述: |
使用 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 的示例扩展程序。有关其他例子以及查看源代码的帮助,请参见示例。
"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"
"standard",
"sansserif",
"serif",
"fixed",
"cursive",
or "fantasy"
"not_controllable",
"controlled_by_other_extensions",
"controllable_by_this_extension",
or "controlled_by_this_extension"
清除当前扩展程序设置过的字体(如果有的话)。
如果您指定了 callback 参数,它应该指定一个如下形式的函数:
function() {...};
获取指定书写文字和一般字体系列对应的字体。
如果您指定了 callback 参数,它应该指定一个如下形式的函数:
function(object details) {...};
setFont 的字体不同,例如如果指定字体在当前系统中不可用。空字符串意味着使用全局书写文字的字体设置。
设置指定书写文字和一般字体系列对应的字体。
如果您指定了 callback 参数,它应该指定一个如下形式的函数:
function() {...};
获取默认字体大小。
如果您指定了 callback 参数,它应该指定一个如下形式的函数:
function(object details) {...};
获取宽度固定的字体的默认大小。
如果您指定了 callback 参数,它应该指定一个如下形式的函数:
function(object details) {...};
获取字体大小下限。
如果您指定了 callback 参数,它应该指定一个如下形式的函数:
function(object details) {...};
字体设置更改时产生。
callback 参数应该指定一个如下形式的函数:
function(object details) {...};
默认字体大小的设置更改时产生。
callback 参数应该指定一个如下形式的函数:
function(object details) {...};
默认的宽度固定的字体大小设置更改时产生。
callback 参数应该指定一个如下形式的函数:
function(object details) {...};
字体大小下限的设置更改时产生。
callback 参数应该指定一个如下形式的函数:
function(object details) {...};