// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. [ { "namespace": "fontSettings", "description": "Use the <code>chrome.fontSettings</code> API to manage Chrome's font settings.", "types": [ { "id": "FontName", "type": "object", "description": "Represents a font name.", "properties": { "fontId": { "type": "string", "description": "The font ID." }, "displayName": { "type": "string", "description": "The display name of the font." } } }, { "id": "ScriptCode", "type": "string", "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", "Zyyy" ], "description": "An ISO 15924 script code. The default, or global, script is represented by script code \"Zyyy\"." }, { "id": "GenericFamily", "type": "string", "enum": ["standard", "sansserif", "serif", "fixed", "cursive", "fantasy"], "description": "A CSS generic font family." }, { "id": "LevelOfControl", "description": "One of<br><var>not_controllable</var>: cannot be controlled by any extension<br><var>controlled_by_other_extensions</var>: controlled by extensions with higher precedence<br><var>controllable_by_this_extension</var>: can be controlled by this extension<br><var>controlled_by_this_extension</var>: controlled by this extension", "type": "string", "enum": ["not_controllable", "controlled_by_other_extensions", "controllable_by_this_extension", "controlled_by_this_extension"] } ], "functions": [ { "name": "clearFont", "description": "Clears the font set by this extension, if any.", "parameters": [ { "name": "details", "type": "object", "properties": { "script": { "$ref": "ScriptCode", "description": "The script for which the font should be cleared. If omitted, the global script font setting is cleared.", "optional": true }, "genericFamily": { "$ref": "GenericFamily", "description": "The generic font family for which the font should be cleared." } } }, { "type": "function", "name": "callback", "optional": true, "parameters": [] } ] }, { "name": "getFont", "description": "Gets the font for a given script and generic font family.", "parameters": [ { "name": "details", "type": "object", "properties": { "script": { "$ref": "ScriptCode", "description": "The script for which the font should be retrieved. If omitted, the font setting for the global script (script code \"Zyyy\") is retrieved.", "optional": true }, "genericFamily": { "$ref": "GenericFamily", "description": "The generic font family for which the font should be retrieved." } } }, { "type": "function", "name": "callback", "optional": true, "parameters": [ { "name": "details", "type": "object", "properties": { "fontId": { "type": "string", "description": "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, <var>fontId</var> can differ from the font passed to <code>setFont</code>, if, for example, the font is not available on the system. The empty string signifies fallback to the global script font setting." }, "levelOfControl": { "$ref": "LevelOfControl", "description": "The level of control this extension has over the setting." } } } ] } ] }, { "name": "setFont", "description": "Sets the font for a given script and generic font family.", "parameters": [ { "name": "details", "type": "object", "properties": { "script": { "$ref": "ScriptCode", "description": "The script code which the font should be set. If omitted, the font setting for the global script (script code \"Zyyy\") is set.", "optional": true }, "genericFamily": { "$ref": "GenericFamily", "description": "The generic font family for which the font should be set." }, "fontId": { "type": "string", "description": "The font ID. The empty string means to fallback to the global script font setting." } } }, { "type": "function", "name": "callback", "optional": true, "parameters": [] } ] }, { "name": "getFontList", "description": "Gets a list of fonts on the system.", "parameters": [ { "type": "function", "name": "callback", "parameters": [ { "name": "results", "type": "array", "items": { "$ref": "FontName" } } ] } ] }, { "name": "clearDefaultFontSize", "description": "Clears the default font size set by this extension, if any.", "parameters": [ { "name": "details", "type": "object", "optional": true, "description": "This parameter is currently unused.", "properties": {} }, { "type": "function", "name": "callback", "optional": true, "parameters": [] } ] }, { "name": "getDefaultFontSize", "description": "Gets the default font size.", "parameters": [ { "name": "details", "type": "object", "optional": true, "description": "This parameter is currently unused.", "properties": {} }, { "name": "callback", "type": "function", "optional": true, "parameters": [ { "name": "details", "type": "object", "properties": { "pixelSize": { "type": "integer", "description": "The font size in pixels." }, "levelOfControl": { "$ref": "LevelOfControl", "description": "The level of control this extension has over the setting." } } } ] } ] }, { "name": "setDefaultFontSize", "description": "Sets the default font size.", "parameters": [ { "name": "details", "type": "object", "properties": { "pixelSize": { "type": "integer", "description": "The font size in pixels." } } }, { "type": "function", "name": "callback", "optional": true, "parameters": [] } ] }, { "name": "clearDefaultFixedFontSize", "description": "Clears the default fixed font size set by this extension, if any.", "parameters": [ { "name": "details", "type": "object", "optional": true, "description": "This parameter is currently unused.", "properties": {} }, { "type": "function", "name": "callback", "optional": true, "parameters": [] } ] }, { "name": "getDefaultFixedFontSize", "description": "Gets the default size for fixed width fonts.", "parameters": [ { "name": "details", "type": "object", "optional": true, "description": "This parameter is currently unused.", "properties": {} }, { "name": "callback", "type": "function", "optional": true, "parameters": [ { "name": "details", "type": "object", "properties": { "pixelSize": { "type": "integer", "description": "The font size in pixels." }, "levelOfControl": { "$ref": "LevelOfControl", "description": "The level of control this extension has over the setting." } } } ] } ] }, { "name": "setDefaultFixedFontSize", "description": "Sets the default size for fixed width fonts.", "parameters": [ { "name": "details", "type": "object", "properties": { "pixelSize": { "type": "integer", "description": "The font size in pixels." } } }, { "type": "function", "name": "callback", "optional": true, "parameters": [] } ] }, { "name": "clearMinimumFontSize", "description": "Clears the minimum font size set by this extension, if any.", "parameters": [ { "name": "details", "type": "object", "optional": true, "description": "This parameter is currently unused.", "properties": {} }, { "type": "function", "name": "callback", "optional": true, "parameters": [] } ] }, { "name": "getMinimumFontSize", "description": "Gets the minimum font size.", "parameters": [ { "name": "details", "type": "object", "optional": true, "description": "This parameter is currently unused.", "properties": {} }, { "name": "callback", "type": "function", "optional": true, "parameters": [ { "name": "details", "type": "object", "properties": { "pixelSize": { "type": "integer", "description": "The font size in pixels." }, "levelOfControl": { "$ref": "LevelOfControl", "description": "The level of control this extension has over the setting." } } } ] } ] }, { "name": "setMinimumFontSize", "description": "Sets the minimum font size.", "parameters": [ { "name": "details", "type": "object", "properties": { "pixelSize": { "type": "integer", "description": "The font size in pixels." } } }, { "type": "function", "name": "callback", "optional": true, "parameters": [] } ] } ], "events": [ { "name": "onFontChanged", "description": "Fired when a font setting changes.", "parameters": [ { "type": "object", "name": "details", "properties": { "fontId": { "type": "string", "description": "The font ID. See the description in <code>getFont</code>." }, "script": { "$ref": "ScriptCode", "description": "The script code for which the font setting has changed.", "optional": true }, "genericFamily": { "$ref": "GenericFamily", "description": "The generic font family for which the font setting has changed." }, "levelOfControl": { "$ref": "LevelOfControl", "description": "The level of control this extension has over the setting." } } } ] }, { "name": "onDefaultFontSizeChanged", "description": "Fired when the default font size setting changes.", "parameters": [ { "type": "object", "name": "details", "properties": { "pixelSize": { "type": "integer", "description": "The font size in pixels." }, "levelOfControl": { "$ref": "LevelOfControl", "description": "The level of control this extension has over the setting." } } } ] }, { "name": "onDefaultFixedFontSizeChanged", "description": "Fired when the default fixed font size setting changes.", "parameters": [ { "type": "object", "name": "details", "properties": { "pixelSize": { "type": "integer", "description": "The font size in pixels." }, "levelOfControl": { "$ref": "LevelOfControl", "description": "The level of control this extension has over the setting." } } } ] }, { "name": "onMinimumFontSizeChanged", "description": "Fired when the minimum font size setting changes.", "parameters": [ { "type": "object", "name": "details", "properties": { "pixelSize": { "type": "integer", "description": "The font size in pixels." }, "levelOfControl": { "$ref": "LevelOfControl", "description": "The level of control this extension has over the setting." } } } ] } ] } ]