Descripción
Usa la API de chrome.fontSettings para administrar la configuración de fuentes de Chrome.
Permisos
fontSettingsPara 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 de las 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 una familia de fuentes genérica, Chrome usa el
parámetro de 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 el parámetro de configuración de la escritura del idioma correspondiente. Si no se especifica ningún idioma, Chrome usa el parámetro de configuración para la secuencia de comandos predeterminada o global.
Las escrituras de idiomas admitidas se especifican con el código de escritura ISO 15924 y se indican en
ScriptCode. Técnicamente, la configuración de Chrome no es estrictamente por escritura, sino que también depende del idioma. 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 también para
todo lo que abarca la fuente, como el latín.
Ejemplos
El siguiente código obtiene la fuente estándar para el árabe.
browser.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.
browser.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 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"
"fantasy"
"math"
LevelOfControl
Uno de los siguientes valores:
not\_controllable: ninguna extensión puede controlar este parámetro de configuración.
controlled\_by\_other\_extensions: las extensiones con mayor prioridad controlan este parámetro de configuración.
controllable\_by\_this\_extension: esta extensión puede controlar este parámetro de configuración.
controlled\_by\_this\_extension: esta extensión controla este parámetro de configuración.
Enum
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"
ScriptCode
Es un código de escritura ISO 15924. La secuencia de comandos predeterminada o global se representa con el código de secuencia de comandos "Zyyy".
Enum
"Afak"
"Árabe"
"Aran"
"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"
"Gurú"
"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"
"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 que establece esta extensión, si lo hay.
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 que estableció esta extensión, si lo hay.
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 la fuente establecida por esta extensión, si la hay.
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 escritura para la que se debe borrar la fuente. Si se omite, se borra la 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 lo hay.
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 de 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érica dadas.
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 escritura para la que se debe recuperar la fuente. Si se omite, se recupera la configuración de fuente de 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 fuentes en el 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 de las fuentes de ancho fijo.
Parámetros
-
detalles
objeto
-
pixelSize
número
Es el 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
Es el 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érica determinadas.
Parámetros
-
detalles
objeto
-
fontId
string
Es el ID de la fuente. La cadena vacía significa que se recurre a la configuración global de la fuente de la escritura.
-
genericFamily
Es la familia de fuentes genérica para la que se debe establecer la fuente.
-
secuencia de comandos
ScriptCode opcional
Es el código de escritura para el que se debe establecer la fuente. Si se omite, se establece la configuración de 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 mínimo de la fuente.
Parámetros
-
detalles
objeto
-
pixelSize
número
Es el 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
callbackse 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 del tamaño de fuente predeterminado.
Parámetros
-
callback
función
El parámetro
callbackse 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 un parámetro de configuración de la fuente.
Parámetros
-
callback
función
El parámetro
callbackse 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 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 escritura 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 del tamaño mínimo de la fuente.
Parámetros
-
callback
función
El parámetro
callbackse 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.
-
-