whale.fontSettings

Description: Use the whale.fontSettings API to manage Chrome's font settings.
Availability: Since Chrome 22.
Permissions: "fontSettings"
## Manifest To use the Font Settings API, you must declare the "fontSettings" permission in the [extension manifest](manifest). For example:
      {
        "name": "My Font Settings Extension",
        "description": "Customize your fonts",
        "version": "0.2",
        **"permissions": [
          "fontSettings"
        ]**,
        ...
      }
      
## Generic Font Families and Scripts Chrome allows for some font settings to depend on certain generic font families and language scripts. For example, the font used for sans-serif Simplified Chinese may be different than the font used for serif Japanese. The generic font families supported by Chrome are based on [CSS generic font families](http://www.w3.org/TR/CSS21/fonts.html#generic-font-families) and are listed in the API reference below. When a webpage specifies a generic font family, Chrome selects the font based on the corresponding setting. If no generic font family is specified, Chrome uses the setting for the "standard" generic font family. When a webpage specifies a language, Chrome selects the font based on the setting for the corresponding language script. If no language is specified, Chrome uses the setting for the default, or global, script. The supported language scripts are specified by ISO 15924 script code and listed in the API reference below. Technically, Chrome settings are not strictly per-script but also depend on language. For example, Chrome chooses the font for Cyrillic (ISO 15924 script code "Cyrl") when a webpage specifies the Russian language, and uses this font not just for Cyrillic script but for everything the font covers, such as Latin. ## Examples The following code gets the standard font for Arabic.
      whale.fontSettings.getFont(
        { genericFamily: 'standard', script: 'Arab' },
        function(details) { console.log(details.fontId); }
      );
      
The next snippet sets the sans-serif font for Japanese.
      whale.fontSettings.setFont(
        { genericFamily: 'sansserif', script: 'Jpan', fontId: 'MS PGothic' }
      );
      
You can find a sample extension using the Font Settings API in the [examples/api/fontSettings](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/docs/examples/api/fontSettings/) directory. For other examples and for help in viewing the source code, see [Samples](samples).
## Summary | Types | |---| | [FontName](#type-FontName) | | [ScriptCode](#type-ScriptCode) | | [GenericFamily](#type-GenericFamily) | | [LevelOfControl](#type-LevelOfControl) | | Methods | | [clearFont](#method-clearFont) − `whale.fontSettings.clearFont(object details, function callback)` | | [getFont](#method-getFont) − `whale.fontSettings.getFont(object details, function callback)` | | [setFont](#method-setFont) − `whale.fontSettings.setFont(object details, function callback)` | | [getFontList](#method-getFontList) − `whale.fontSettings.getFontList(function callback)` | | [clearDefaultFontSize](#method-clearDefaultFontSize) − `whale.fontSettings.clearDefaultFontSize(object details, function callback)` | | [getDefaultFontSize](#method-getDefaultFontSize) − `whale.fontSettings.getDefaultFontSize(object details, function callback)` | | [setDefaultFontSize](#method-setDefaultFontSize) − `whale.fontSettings.setDefaultFontSize(object details, function callback)` | | [clearDefaultFixedFontSize](#method-clearDefaultFixedFontSize) − `whale.fontSettings.clearDefaultFixedFontSize(object details, function callback)` | | [getDefaultFixedFontSize](#method-getDefaultFixedFontSize) − `whale.fontSettings.getDefaultFixedFontSize(object details, function callback)` | | [setDefaultFixedFontSize](#method-setDefaultFixedFontSize) − `whale.fontSettings.setDefaultFixedFontSize(object details, function callback)` | | [clearMinimumFontSize](#method-clearMinimumFontSize) − `whale.fontSettings.clearMinimumFontSize(object details, function callback)` | | [getMinimumFontSize](#method-getMinimumFontSize) − `whale.fontSettings.getMinimumFontSize(object details, function callback)` | | [setMinimumFontSize](#method-setMinimumFontSize) − `whale.fontSettings.setMinimumFontSize(object details, function callback)` | | Events | | [onFontChanged](#event-onFontChanged) | | [onDefaultFontSizeChanged](#event-onDefaultFontSizeChanged) | | [onDefaultFixedFontSizeChanged](#event-onDefaultFixedFontSizeChanged) | | [onMinimumFontSizeChanged](#event-onMinimumFontSizeChanged) |
## Types
### FontName
Represents a font name.
| properties | |---| | string | fontId | The font ID. | | string | displayName | The display name of the font. |
### ScriptCode
An ISO 15924 script code. The default, or global, script is represented by script code "Zyyy".
| Enum | |---| | `"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
A CSS generic font family.
| Enum | |---| | `"standard"`, `"sansserif"`, `"serif"`, `"fixed"`, `"cursive"`, or `"fantasy"` |
### LevelOfControl
One of not_controllable: cannot be controlled by any extension controlled_by_other_extensions: controlled by extensions with higher precedence controllable_by_this_extension: can be controlled by this extension controlled_by_this_extension: controlled by this extension
| Enum | |---| | `"not_controllable"`, `"controlled_by_other_extensions"`, `"controllable_by_this_extension"`, or `"controlled_by_this_extension"` |
## Methods
### clearFont
`whale.fontSettings.clearFont(object details, function callback)`
Clears the font set by this extension, if any. | Parameters | |---| | object | details | | [ScriptCode](/extensions/fontSettings#type-ScriptCode) | (optional) script | |---|---| The script for which the font should be cleared. If omitted, the global script font setting is cleared. | | [GenericFamily](/extensions/fontSettings#type-GenericFamily) | genericFamily | The generic font family for which the font should be cleared. | | | function | (optional) callback | If you specify the _callback_ parameter, it should be a function that looks like this: `function() {...};` |
### getFont
`whale.fontSettings.getFont(object details, function callback)`
Gets the font for a given script and generic font family. | Parameters | |---| | object | details | | [ScriptCode](/extensions/fontSettings#type-ScriptCode) | (optional) script | |---|---| The script for which the font should be retrieved. If omitted, the font setting for the global script (script code "Zyyy") is retrieved. | | [GenericFamily](/extensions/fontSettings#type-GenericFamily) | genericFamily | The generic font family for which the font should be retrieved. | | | function | (optional) callback | If you specify the _callback_ parameter, it should be a function that looks like this: `function(object details) {...};` | object | details | |---|---| | string | fontId | |---|---| The font ID. Rather than the literal font ID preference value, this may be the ID of the font that the system resolves the preference value to. So, fontId can differ from the font passed to `setFont`, if, for example, the font is not available on the system. The empty string signifies fallback to the global script font setting. | | [LevelOfControl](/extensions/fontSettings#type-LevelOfControl) | levelOfControl | The level of control this extension has over the setting. | | |
### setFont
`whale.fontSettings.setFont(object details, function callback)`
Sets the font for a given script and generic font family. | Parameters | |---| | object | details | | [ScriptCode](/extensions/fontSettings#type-ScriptCode) | (optional) script | |---|---| The script code which the font should be set. If omitted, the font setting for the global script (script code "Zyyy") is set. | | [GenericFamily](/extensions/fontSettings#type-GenericFamily) | genericFamily | The generic font family for which the font should be set. | | string | fontId | The font ID. The empty string means to fallback to the global script font setting. | | | function | (optional) callback | If you specify the _callback_ parameter, it should be a function that looks like this: `function() {...};` |
### getFontList
`whale.fontSettings.getFontList(function callback)`
Gets a list of fonts on the system. | Parameters | |---| | function | callback | The _callback_ parameter should be a function that looks like this: `function(array of [FontName](/extensions/fontSettings#type-FontName) results) {...};` | array of [FontName](/extensions/fontSettings#type-FontName) | results | | |---|---|---| |
### clearDefaultFontSize
`whale.fontSettings.clearDefaultFontSize(object details, function callback)`
Clears the default font size set by this extension, if any. | Parameters | |---| | object | (optional) details | This parameter is currently unused. | | function | (optional) callback | If you specify the _callback_ parameter, it should be a function that looks like this: `function() {...};` |
### getDefaultFontSize
`whale.fontSettings.getDefaultFontSize(object details, function callback)`
Gets the default font size. | Parameters | |---| | object | (optional) details | This parameter is currently unused. | | function | (optional) callback | If you specify the _callback_ parameter, it should be a function that looks like this: `function(object details) {...};` | object | details | |---|---| | integer | pixelSize | |---|---| The font size in pixels. | | [LevelOfControl](/extensions/fontSettings#type-LevelOfControl) | levelOfControl | The level of control this extension has over the setting. | | |
### setDefaultFontSize
`whale.fontSettings.setDefaultFontSize(object details, function callback)`
Sets the default font size. | Parameters | |---| | object | details | | integer | pixelSize | |---|---| The font size in pixels. | | | function | (optional) callback | If you specify the _callback_ parameter, it should be a function that looks like this: `function() {...};` |
### clearDefaultFixedFontSize
`whale.fontSettings.clearDefaultFixedFontSize(object details, function callback)`
Clears the default fixed font size set by this extension, if any. | Parameters | |---| | object | (optional) details | This parameter is currently unused. | | function | (optional) callback | If you specify the _callback_ parameter, it should be a function that looks like this: `function() {...};` |
### getDefaultFixedFontSize
`whale.fontSettings.getDefaultFixedFontSize(object details, function callback)`
Gets the default size for fixed width fonts. | Parameters | |---| | object | (optional) details | This parameter is currently unused. | | function | (optional) callback | If you specify the _callback_ parameter, it should be a function that looks like this: `function(object details) {...};` | object | details | |---|---| | integer | pixelSize | |---|---| The font size in pixels. | | [LevelOfControl](/extensions/fontSettings#type-LevelOfControl) | levelOfControl | The level of control this extension has over the setting. | | |
### setDefaultFixedFontSize
`whale.fontSettings.setDefaultFixedFontSize(object details, function callback)`
Sets the default size for fixed width fonts. | Parameters | |---| | object | details | | integer | pixelSize | |---|---| The font size in pixels. | | | function | (optional) callback | If you specify the _callback_ parameter, it should be a function that looks like this: `function() {...};` |
### clearMinimumFontSize
`whale.fontSettings.clearMinimumFontSize(object details, function callback)`
Clears the minimum font size set by this extension, if any. | Parameters | |---| | object | (optional) details | This parameter is currently unused. | | function | (optional) callback | If you specify the _callback_ parameter, it should be a function that looks like this: `function() {...};` |
### getMinimumFontSize
`whale.fontSettings.getMinimumFontSize(object details, function callback)`
Gets the minimum font size. | Parameters | |---| | object | (optional) details | This parameter is currently unused. | | function | (optional) callback | If you specify the _callback_ parameter, it should be a function that looks like this: `function(object details) {...};` | object | details | |---|---| | integer | pixelSize | |---|---| The font size in pixels. | | [LevelOfControl](/extensions/fontSettings#type-LevelOfControl) | levelOfControl | The level of control this extension has over the setting. | | |
### setMinimumFontSize
`whale.fontSettings.setMinimumFontSize(object details, function callback)`
Sets the minimum font size. | Parameters | |---| | object | details | | integer | pixelSize | |---|---| The font size in pixels. | | | function | (optional) callback | If you specify the _callback_ parameter, it should be a function that looks like this: `function() {...};` |
## Events
### onFontChanged
Fired when a font setting changes.
#### addListener
`whale.fontSettings.onFontChanged.addListener(function callback)`
| Parameters | |---| | function | callback | The _callback_ parameter should be a function that looks like this: `function(object details) {...};` | object | details | |---|---| | string | fontId | |---|---| The font ID. See the description in `getFont`. | | [ScriptCode](/extensions/fontSettings#type-ScriptCode) | (optional) script | The script code for which the font setting has changed. | | [GenericFamily](/extensions/fontSettings#type-GenericFamily) | genericFamily | The generic font family for which the font setting has changed. | | [LevelOfControl](/extensions/fontSettings#type-LevelOfControl) | levelOfControl | The level of control this extension has over the setting. | | |
### onDefaultFontSizeChanged
Fired when the default font size setting changes.
#### addListener
`whale.fontSettings.onDefaultFontSizeChanged.addListener(function callback)`
| Parameters | |---| | function | callback | The _callback_ parameter should be a function that looks like this: `function(object details) {...};` | object | details | |---|---| | integer | pixelSize | |---|---| The font size in pixels. | | [LevelOfControl](/extensions/fontSettings#type-LevelOfControl) | levelOfControl | The level of control this extension has over the setting. | | |
### onDefaultFixedFontSizeChanged
Fired when the default fixed font size setting changes.
#### addListener
`whale.fontSettings.onDefaultFixedFontSizeChanged.addListener(function callback)`
| Parameters | |---| | function | callback | The _callback_ parameter should be a function that looks like this: `function(object details) {...};` | object | details | |---|---| | integer | pixelSize | |---|---| The font size in pixels. | | [LevelOfControl](/extensions/fontSettings#type-LevelOfControl) | levelOfControl | The level of control this extension has over the setting. | | |
### onMinimumFontSizeChanged
Fired when the minimum font size setting changes.
#### addListener
`whale.fontSettings.onMinimumFontSizeChanged.addListener(function callback)`
| Parameters | |---| | function | callback | The _callback_ parameter should be a function that looks like this: `function(object details) {...};` | object | details | |---|---| | integer | pixelSize | |---|---| The font size in pixels. | | [LevelOfControl](/extensions/fontSettings#type-LevelOfControl) | levelOfControl | The level of control this extension has over the setting. | | |

results matching ""

    No results matching ""