Descripción
Usa la API de chrome.fontSettings
para administrar la configuración de fuentes de Chrome.
Permisos
fontSettings
Manifiesto
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"
],
...
}
Familias y secuencias de comandos de fuentes genéricas
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 compatibles con Chrome se basan en las familias de fuentes genéricas de CSS y se enumeran en la referencia de la API que se incluye a continuación. 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.
Los sistemas de escritura de idiomas admitidos se especifican con el código de escritura ISO 15924 y se enumeran en la referencia de la API que se incluye a continuación. 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,
callback?: function,
): 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.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
): 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.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
clearFont()
chrome.fontSettings.clearFont(
details: object,
callback?: function,
): 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.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
): 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.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
): 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.
-
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
Tamaño de la fuente en píxeles.
-
-
Muestra
-
Promise<object>
Chrome 96 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
): Promise<object>
Obtiene el tamaño de fuente predeterminado.
Parámetros
-
detalles
objeto opcional
Este parámetro no se utiliza actualmente.
-
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
Tamaño de la fuente en píxeles.
-
-
Muestra
-
Promise<object>
Chrome 96 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getFont()
chrome.fontSettings.getFont(
details: object,
callback?: function,
): 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").
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(details: object) => void
-
detalles
objeto
-
fontId
string
Es el ID de la fuente. En lugar del valor literal de preferencia del ID de fuente, puede ser el ID de la fuente a la 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 que se recurre al parámetro de configuración de fuente de 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 solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getFontList()
chrome.fontSettings.getFontList(
callback?: function,
): Promise<FontName[]>
Obtiene una lista de las fuentes del sistema.
Parámetros
Muestra
-
Promise<FontName[]>
Chrome 96 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
): Promise<object>
Obtiene el tamaño de fuente mínimo.
Parámetros
-
detalles
objeto opcional
Este parámetro no se utiliza actualmente.
-
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
Tamaño de la fuente en píxeles.
-
-
Muestra
-
Promise<object>
Chrome 96 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
callback?: function,
): 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.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
): Promise<void>
Establece el tamaño de fuente predeterminado.
Parámetros
-
detalles
objeto
-
pixelSize
número
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 solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
setFont()
chrome.fontSettings.setFont(
details: object,
callback?: function,
): 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").
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
callback?: function,
): 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.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones 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
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.
-
-