该页面翻译自 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) {...};