// 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", "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
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", "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, 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": { "$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 getFont." }, "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." } } } ] } ] } ]