Descripción
Usa la API de chrome.fontSettings
para administrar la configuración de fuentes de Chrome.
Permisos
fontSettings
Para usar la API de Font Settings, debes declarar el permiso "fontSettings"
en el manifiesto de la extensión. Por ejemplo:
{ "name": "My Font Settings Extension", "description": "Customize your fonts", "version": "0.2", "permissions": [ "fontSettings" ], ... }
Conceptos y uso
Chrome permite que algunos parámetros de configuración de fuentes dependan de ciertas familias de fuentes genéricas y escrituras de idiomas. Por ejemplo, la fuente que se usa para el chino simplificado sans-serif puede ser diferente de la que se usa para el japonés serif.
Las familias de fuentes genéricas que admite Chrome se basan en las familias de fuentes genéricas de CSS y se enumeran en GenericReference
. Cuando una página web especifica una familia de fuentes genérica, Chrome selecciona la fuente según el parámetro de configuración correspondiente. Si no se especifica ninguna familia de fuentes genérica, Chrome usa el parámetro de configuración para la familia de fuentes genérica "estándar".
Cuando una página web especifica un idioma, Chrome selecciona la fuente según el parámetro de configuración del script de idioma correspondiente. Si no se especifica un idioma, Chrome usa el parámetro de configuración del lenguaje de escritura predeterminado o global.
Las secuencias de comandos de idiomas admitidas se especifican con el código de secuencia de comandos ISO 15924 y se enumeran en ScriptCode
. Técnicamente, la configuración de Chrome no es estrictamente por secuencia de comandos, sino que también depende del idioma. Por ejemplo, Chrome elige la fuente para el alfabeto cirílico (código de secuencia de comandos ISO 15924 "Cyrl") cuando una página web especifica el idioma ruso y usa esta fuente no solo para el alfabeto cirílico, sino para todo lo que abarca la fuente, como el alfabeto latino.
Ejemplos
El siguiente código obtiene la fuente estándar para árabe.
chrome.fontSettings.getFont( { genericFamily: 'standard', script: 'Arab' }, function(details) { console.log(details.fontId); } );
En el siguiente fragmento, se establece la fuente Sans Serif para el japonés.
chrome.fontSettings.setFont( { genericFamily: 'sansserif', script: 'Jpan', fontId: 'MS PGothic' } );
Para probar esta API, instala el ejemplo de la API de fontSettings desde el repositorio de chrome-extension-samples.
Tipos
FontName
Representa el nombre de una fuente.
Propiedades
- displayName
string
Es el nombre visible de la fuente.
- fontId
string
Es el ID de la fuente.
GenericFamily
Es una familia de fuentes genérica de CSS.
Enum
"standard"
"sansserif"
"serif"
"fixed"
"cursive"
"fantasía"
"math"
LevelOfControl
Uno de los siguientes valores: not\_controllable
: No se puede controlar con ninguna extensión controlled\_by\_other\_extensions
: Se controla con extensiones de mayor prioridad controllable\_by\_this\_extension
: Se puede controlar con esta extensión controlled\_by\_this\_extension
: Se controla con esta extensión
Enum
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"
ScriptCode
Es un código de secuencia de comandos ISO 15924. La secuencia de comandos predeterminada o global se representa con el código de secuencia de comandos "Zyyy".
Enum
"Afak"
"Árabe"
"Armi"
"Armn"
"Avst"
"Bali"
"Bamu"
"Bass"
"Batk"
"Beng"
"Blis"
"Bopo"
"Brah"
"Brai"
"Bugi"
"Buhd"
"Cakm"
“Latas”
"Cari"
"Cham"
"Cher"
"Cirt"
"Copt"
"Cprt"
"Cyrl"
"Cyrs"
"Deva"
"Dsrt"
"Dupl"
"Egyd"
"Egyh"
"Egyp"
"Elba"
"Ethi"
"Geor"
"Geok"
"Glag"
"Goth"
"Gran"
"Grek"
"Gujr"
"Guru"
"Colgar"
"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"
"Cuento"
"Talu"
"Taml"
"Tang"
"Tavt"
"Telu"
"Teng"
"Tfng"
"Tglg"
"Thaa"
“Tailandés”
"Tibt"
"Tirh"
"Ugar"
"Vaii"
"Visp"
"Wara"
"Wole"
"Xpeo"
"Xsux"
"Yiii"
"Zmth"
"Zsym"
"Zyyy"
Métodos
clearDefaultFixedFontSize()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
): Promise<void>
Borra el tamaño de fuente fijo predeterminado establecido por esta extensión, si existe.
Parámetros
- detalles
objeto opcional
Este parámetro no se utiliza actualmente.
Muestra
-
Promise<void>
Chrome 96 y versiones posteriores
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
): Promise<void>
Borra el tamaño de fuente predeterminado establecido por esta extensión, si existe.
Parámetros
- detalles
objeto opcional
Este parámetro no se utiliza actualmente.
Muestra
-
Promise<void>
Chrome 96 y versiones posteriores
clearFont()
chrome.fontSettings.clearFont(
details: object,
): Promise<void>
Borra el conjunto de fuentes establecido por esta extensión, si existe.
Parámetros
- detalles
objeto
- genericFamily
Es la familia de fuentes genérica para la que se debe borrar la fuente.
- secuencia de comandos
ScriptCode opcional
Es el script para el que se debe borrar la fuente. Si se omite, se borrará el parámetro de configuración global de la fuente de la secuencia de comandos.
-
Muestra
-
Promise<void>
Chrome 96 y versiones posteriores
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
): Promise<void>
Borra el tamaño de fuente mínimo establecido por esta extensión, si existe.
Parámetros
- detalles
objeto opcional
Este parámetro no se utiliza actualmente.
Muestra
-
Promise<void>
Chrome 96 y versiones posteriores
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
): Promise<object>
Obtiene el tamaño predeterminado para las fuentes de ancho fijo.
Parámetros
- detalles
objeto opcional
Este parámetro no se utiliza actualmente.
Muestra
-
Promise<object>
Chrome 96 y versiones posteriores
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
): Promise<object>
Obtiene el tamaño de fuente predeterminado.
Parámetros
- detalles
objeto opcional
Este parámetro no se utiliza actualmente.
Muestra
-
Promise<object>
Chrome 96 y versiones posteriores
getFont()
chrome.fontSettings.getFont(
details: object,
): Promise<object>
Obtiene la fuente para una secuencia de comandos y una familia de fuentes genéricas determinadas.
Parámetros
- detalles
objeto
- genericFamily
Es la familia de fuentes genérica para la que se debe recuperar la fuente.
- secuencia de comandos
ScriptCode opcional
Es la secuencia de comandos para la que se debe recuperar la fuente. Si se omite, se recupera el parámetro de configuración de la fuente para la secuencia de comandos global (código de secuencia de comandos "Zyyy").
-
Muestra
-
Promise<object>
Chrome 96 y versiones posteriores
getFontList()
chrome.fontSettings.getFontList(): Promise<FontName[]>
Obtiene una lista de las fuentes del sistema.
Muestra
-
Promise<FontName[]>
Chrome 96 y versiones posteriores
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
): Promise<object>
Obtiene el tamaño de fuente mínimo.
Parámetros
- detalles
objeto opcional
Este parámetro no se utiliza actualmente.
Muestra
-
Promise<object>
Chrome 96 y versiones posteriores
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
): Promise<void>
Establece el tamaño predeterminado para las fuentes de ancho fijo.
Parámetros
- detalles
objeto
- pixelSize
número
Tamaño de la fuente en píxeles.
-
Muestra
-
Promise<void>
Chrome 96 y versiones posteriores
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
): Promise<void>
Establece el tamaño de fuente predeterminado.
Parámetros
- detalles
objeto
- pixelSize
número
Tamaño de la fuente en píxeles.
-
Muestra
-
Promise<void>
Chrome 96 y versiones posteriores
setFont()
chrome.fontSettings.setFont(
details: object,
): Promise<void>
Establece la fuente para una secuencia de comandos y una familia de fuentes genéricas determinadas.
Parámetros
- detalles
objeto
- fontId
string
Es el ID de la fuente. La cadena vacía significa que se debe volver a la configuración global de la fuente de la secuencia de comandos.
- genericFamily
Familia de fuentes genérica para la que se debe establecer la fuente.
- secuencia de comandos
ScriptCode opcional
Es el código de secuencia de comandos en el que se debe establecer la fuente. Si se omite, se establece el parámetro de configuración de la fuente para la secuencia de comandos global (código de secuencia de comandos "Zyyy").
-
Muestra
-
Promise<void>
Chrome 96 y versiones posteriores
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
): Promise<void>
Establece el tamaño de fuente mínimo.
Parámetros
- detalles
objeto
- pixelSize
número
Tamaño de la fuente en píxeles.
-
Muestra
-
Promise<void>
Chrome 96 y versiones posteriores
Eventos
onDefaultFixedFontSizeChanged
chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
callback: function,
)
Se activa cuando cambia el parámetro de configuración predeterminado del tamaño de fuente fijo.
Parámetros
- callback
función
El parámetro
callback
se ve de la siguiente manera:(details: object) => void
- detalles
objeto
- levelOfControl
Es el nivel de control que tiene esta extensión sobre el parámetro de configuración.
- pixelSize
número
Tamaño de la fuente en píxeles.
-
-
onDefaultFontSizeChanged
chrome.fontSettings.onDefaultFontSizeChanged.addListener(
callback: function,
)
Se activa cuando cambia el parámetro de configuración predeterminado del tamaño de fuente.
Parámetros
- callback
función
El parámetro
callback
se ve de la siguiente manera:(details: object) => void
- detalles
objeto
- levelOfControl
Es el nivel de control que tiene esta extensión sobre el parámetro de configuración.
- pixelSize
número
Tamaño de la fuente en píxeles.
-
-
onFontChanged
chrome.fontSettings.onFontChanged.addListener(
callback: function,
)
Se activa cuando cambia un parámetro de configuración de la fuente.
Parámetros
- callback
función
El parámetro
callback
se ve de la siguiente manera:(details: object) => void
- detalles
objeto
- fontId
string
Es el ID de la fuente. Consulta la descripción en
getFont
. - genericFamily
Es la familia de fuentes genérica para la que se cambió el parámetro de configuración de la fuente.
- levelOfControl
Es el nivel de control que tiene esta extensión sobre el parámetro de configuración.
- secuencia de comandos
ScriptCode opcional
Es el código de la secuencia de comandos para el que se cambió el parámetro de configuración de la fuente.
-
-
onMinimumFontSizeChanged
chrome.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
Se activa cuando cambia el parámetro de configuración del tamaño de fuente mínimo.
Parámetros
- callback
función
El parámetro
callback
se ve de la siguiente manera:(details: object) => void
- detalles
objeto
- levelOfControl
Es el nivel de control que tiene esta extensión sobre el parámetro de configuración.
- pixelSize
número
Tamaño de la fuente en píxeles.
-
-