Descripción
Usa la API de chrome.fontSettings
para administrar la configuración de la fuente 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 la fuente dependan de ciertas familias de fuentes genéricas y secuencias de comandos de idioma. Por ejemplo, la fuente que se usa para el chino simplificado Sans Serif puede ser diferente de la fuente 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 la configuración correspondiente. Si no se especifica una familia de fuentes genérica, Chrome usa la configuración de la familia de fuentes genérica “estándar”.
Cuando una página web especifica un idioma, Chrome selecciona la fuente según la configuración de la escritura correspondiente. Si no se especifica un idioma, Chrome usa la configuración de la secuencia de comandos predeterminada o global.
Las secuencias de comandos de idioma compatibles se especifican según 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 lenguaje. Por ejemplo, Chrome elige la fuente para cirílico (código de escritura ISO 15924 "Cyrl") cuando una página web especifica el idioma ruso y usa esta fuente no solo para la escritura cirílica, sino para todo lo que abarca, como el latín.
Ejemplos
El siguiente código obtiene la fuente estándar para el á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 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 chrome-extension-samples.
Tipos
FontName
Representa un nombre de fuente.
Propiedades
-
displayName
string
Es el nombre visible de la fuente.
-
fontId
string
El ID de la fuente
GenericFamily
Es una familia de fuentes genérica de CSS.
Enum
"standard"
"sansserif"
"serif"
"fixed"
"cursive"
"fantasy"
"math"
LevelOfControl
Uno de los siguientes:
not\_controllable
: No se puede controlar con ninguna extensión.
controlled\_by\_other\_extensions
: Se controla con extensiones con una prioridad más alta.
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
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"
“Arabe”
"Armi"
"Armn"
"Avst"
"Bali"
"Bamu"
"Bajo"
"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”
"Reparar"
"Merc"
"Mero"
"Mlym"
"Luna"
"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"
"Tailandés"
"Tibet"
"Tirh"
"Ugar"
"Vaii"
"Visp"
"Wara"
"Wole"
"Xpeo"
"Xsux"
"Yiii"
"Zmth"
"Zsym"
"Zyyy"
Métodos
clearDefaultFixedFontSize()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
callback?: function,
)
Borra el tamaño de fuente fijo predeterminado que establece esta extensión, si corresponde.
Parámetros
-
detalles
objeto opcional
Actualmente, este parámetro no se utiliza.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
)
Borra el tamaño de fuente predeterminado que estableció esta extensión, si corresponde.
Parámetros
-
detalles
objeto opcional
Actualmente, este parámetro no se utiliza.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
clearFont()
chrome.fontSettings.clearFont(
details: object,
callback?: function,
)
Borra la fuente que estableció esta extensión, si corresponde.
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 la secuencia de comandos para la que se debe borrar la fuente. Si se omite, se borra la configuración de la fuente de la secuencia de comandos global.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
)
Borra el tamaño de fuente mínimo establecido por esta extensión, si corresponde.
Parámetros
-
detalles
objeto opcional
Actualmente, este parámetro no se utiliza.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
)
Obtiene el tamaño predeterminado para las fuentes de ancho fijo.
Parámetros
-
detalles
objeto opcional
Actualmente, este parámetro no se utiliza.
-
callback
función opcional
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
Es el tamaño de la fuente en píxeles.
-
-
Muestra
-
Promise<object>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
)
Obtiene el tamaño de fuente predeterminado.
Parámetros
-
detalles
objeto opcional
Actualmente, este parámetro no se utiliza.
-
callback
función opcional
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
Es el tamaño de la fuente en píxeles.
-
-
Muestra
-
Promise<object>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
getFont()
chrome.fontSettings.getFont(
details: object,
callback?: function,
)
Obtiene la fuente de una escritura determinada y una familia de fuentes genérica.
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 la configuración de la fuente para la secuencia de comandos global (código de secuencia de comandos "Zyyy").
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(details: object) => void
-
detalles
objeto
-
fontId
string
El ID de la fuente En lugar del valor de preferencia de ID de fuente literal, este puede ser el ID de la fuente al que el sistema resuelve el valor de preferencia. Por lo tanto,
fontId
puede diferir de la fuente que se pasa asetFont
si, por ejemplo, la fuente no está disponible en el sistema. La cadena vacía indica el resguardo al parámetro de configuración de fuente de la secuencia de comandos global. -
levelOfControl
Es el nivel de control que tiene esta extensión sobre el parámetro de configuración.
-
-
Muestra
-
Promise<object>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
getFontList()
chrome.fontSettings.getFontList(
callback?: function,
)
Obtiene una lista de las fuentes del sistema.
Parámetros
Muestra
-
Promise<FontName[]>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
)
Obtiene el tamaño de fuente mínimo.
Parámetros
-
detalles
objeto opcional
Actualmente, este parámetro no se utiliza.
-
callback
función opcional
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
Es el tamaño de la fuente en píxeles.
-
-
Muestra
-
Promise<object>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
callback?: function,
)
Establece el tamaño predeterminado para las fuentes de ancho fijo.
Parámetros
-
detalles
objeto
-
pixelSize
número
Es el tamaño de la fuente en píxeles.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
)
Establece el tamaño de fuente predeterminado.
Parámetros
-
detalles
objeto
-
pixelSize
número
Es el tamaño de la fuente en píxeles.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
setFont()
chrome.fontSettings.setFont(
details: object,
callback?: function,
)
Establece la fuente para una escritura determinada y una familia de fuentes genérica.
Parámetros
-
detalles
objeto
-
fontId
string
El ID de la fuente La cadena vacía significa que se debe recurrir a la configuración de fuente de la secuencia de comandos global.
-
genericFamily
Es la familia de fuentes genérica para la que se debe configurar la fuente.
-
secuencia de comandos
ScriptCode opcional
Es el código de la secuencia de comandos en el que se debe establecer la fuente. Si se omite, se establece la configuración de la fuente para la secuencia de comandos global (código de secuencia de comandos "Zyyy").
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
callback?: function,
)
Establece el tamaño de fuente mínimo.
Parámetros
-
detalles
objeto
-
pixelSize
número
Es el tamaño de la fuente en píxeles.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
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
Es el 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 la 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
Es el tamaño de la fuente en píxeles.
-
-
onFontChanged
chrome.fontSettings.onFontChanged.addListener(
callback: function,
)
Se activa cuando cambia la configuración de una fuente.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(details: object) => void
-
detalles
objeto
-
fontId
string
El ID de la fuente Consulta la descripción en
getFont
. -
genericFamily
Es la familia de fuentes genérica para la que cambió la 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 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 de 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
Es el tamaño de la fuente en píxeles.
-
-