Descrição
Use a API chrome.fontSettings para gerenciar as configurações de fonte do Chrome.
Permissões
fontSettingsPara usar a API Font Settings, declare a permissão "fontSettings" no manifesto da
extensão. Exemplo:
{
"name": "My Font Settings Extension",
"description": "Customize your fonts",
"version": "0.2",
"permissions": [
"fontSettings"
],
...
}
Conceitos e uso
O Chrome permite que algumas configurações de fonte dependam de determinadas famílias de fontes genéricas e scripts de idioma. Por exemplo, a fonte usada para chinês simplificado sem serifa pode ser diferente da fonte usada para japonês com serifa.
As famílias de fontes genéricas compatíveis com o Chrome são baseadas em famílias de fontes genéricas de CSS e estão
listadas em GenericReference. Quando uma página da Web especifica uma família de fontes genérica, o Chrome seleciona
a fonte com base na configuração correspondente. Se nenhuma família de fontes genérica for especificada, o Chrome vai usar a
configuração da família de fontes genérica "padrão".
Quando uma página da Web especifica um idioma, o Chrome seleciona a fonte com base na configuração do script de idioma correspondente. Se nenhum idioma for especificado, o Chrome vai usar a configuração do script padrão ou global.
Os scripts de idioma compatíveis são especificados pelo código de script ISO 15924 e listados em
ScriptCode. Tecnicamente, as configurações do Chrome não são estritamente por script, mas também dependem do
idioma. Por exemplo, o Chrome escolhe a fonte para cirílico (código de script ISO 15924 "Cyrl") quando uma
página da Web especifica o idioma russo e usa essa fonte não apenas para o script cirílico, mas para
tudo o que a fonte abrange, como o latim.
Exemplos
O código a seguir recebe a fonte padrão para o árabe.
browser.fontSettings.getFont(
{ genericFamily: 'standard', script: 'Arab' },
function(details) { console.log(details.fontId); }
);
O próximo snippet define a fonte sem serifa para japonês.
browser.fontSettings.setFont(
{ genericFamily: 'sansserif', script: 'Jpan', fontId: 'MS PGothic' }
);
Para testar essa API, instale o exemplo da API fontSettings do repositório chrome-extension-samples.
Tipos
FontName
Representa o nome de uma fonte.
Propriedades
-
displayName
string
O nome de exibição da fonte.
-
fontId
string
O ID da fonte.
GenericFamily
Uma família de fontes genérica de CSS.
Enumeração
"standard"
"sansserif"
"serif"
"fixed"
"cursive"
"fantasy"
"math"
LevelOfControl
Um dos seguintes:
not\_controllable: não pode ser controlado por nenhuma extensão
controlled\_by\_other\_extensions: controlado por extensões com maior precedência
controllable\_by\_this\_extension: pode ser controlado por esta extensão
controlled\_by\_this\_extension: controlado por esta extensão
Enumeração
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"
ScriptCode
Um código de script ISO 15924. O script padrão ou global é representado pelo código de script "Zyyy".
Enumeração
"Afak"
"Árabe"
"Aran"
"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"
"Gótico"
"Gran"
"Grek"
"Gujr"
"Guru"
"Hang"
"Hani"
"Hano"
"Hans"
"Hant"
"Hebr"
"Hluw"
"Hmng"
"Travado"
"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"
Métodos
clearDefaultFixedFontSize()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
): Promise<void>
Limpa o tamanho de fonte fixo padrão definido por esta extensão, se houver.
Parâmetros
-
detalhes
objeto optional
Este parâmetro não é usado no momento.
Retorna
-
Promessa<void>
Chrome 96+
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
): Promise<void>
Limpa o tamanho de fonte padrão definido por esta extensão, se houver.
Parâmetros
-
detalhes
objeto optional
Este parâmetro não é usado no momento.
Retorna
-
Promessa<void>
Chrome 96 ou mais recente
clearFont()
chrome.fontSettings.clearFont(
details: object,
): Promise<void>
Limpa a fonte definida por essa extensão, se houver.
Parâmetros
-
detalhes
objeto
-
genericFamily
A família de fontes genérica para que a fonte seja limpa.
-
script
ScriptCode opcional
O script para o qual a fonte deve ser limpa. Se omitido, a configuração global de fonte de script será apagada.
-
Retorna
-
Promessa<void>
Chrome 96 ou mais recente
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
): Promise<void>
Limpa o tamanho mínimo da fonte definido por essa extensão, se houver.
Parâmetros
-
detalhes
objeto optional
Este parâmetro não é usado no momento.
Retorna
-
Promessa<void>
Chrome 96+
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
): Promise<object>
Recebe o tamanho padrão para fontes de largura fixa.
Parâmetros
-
detalhes
objeto optional
Este parâmetro não é usado no momento.
Retorna
-
Promise<object>
Chrome 96+
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
): Promise<object>
Recebe o tamanho de fonte padrão.
Parâmetros
-
detalhes
objeto optional
Este parâmetro não é usado no momento.
Retorna
-
Promise<object>
Chrome 96 ou mais recente
getFont()
chrome.fontSettings.getFont(
details: object,
): Promise<object>
Recebe a fonte de um determinado script e família de fontes genérica.
Parâmetros
-
detalhes
objeto
-
genericFamily
A família de fontes genérica para a qual a fonte precisa ser recuperada.
-
script
ScriptCode opcional
O script para o qual a fonte deve ser recuperada. Se omitido, a configuração de fonte do script global (código de script "Zyyy") será recuperada.
-
Retorna
-
Promise<object>
Chrome 96 ou mais recente
getFontList()
chrome.fontSettings.getFontList(): Promise<FontName[]>
Recebe uma lista de fontes no sistema.
Retorna
-
Promise<FontName[]>
Chrome 96 ou mais recente
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
): Promise<object>
Recebe o tamanho mínimo da fonte.
Parâmetros
-
detalhes
objeto optional
Este parâmetro não é usado no momento.
Retorna
-
Promise<object>
Chrome 96+
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
): Promise<void>
Define o tamanho padrão para fontes de largura fixa.
Parâmetros
-
detalhes
objeto
-
pixelSize
número
O tamanho da fonte em pixels.
-
Retorna
-
Promessa<void>
Chrome 96+
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
): Promise<void>
Define o tamanho padrão da fonte.
Parâmetros
-
detalhes
objeto
-
pixelSize
número
O tamanho da fonte em pixels.
-
Retorna
-
Promessa<void>
Chrome 96 ou mais recente
setFont()
chrome.fontSettings.setFont(
details: object,
): Promise<void>
Define a fonte para um determinado script e família de fontes genérica.
Parâmetros
-
detalhes
objeto
-
fontId
string
O ID da fonte. A string vazia significa que a configuração de fonte de script global será usada como substituta.
-
genericFamily
A família de fontes genérica para que a fonte seja definida.
-
script
ScriptCode opcional
O código do script em que a fonte precisa ser definida. Se omitido, a configuração de fonte para o script global (código de script "Zyyy") será definida.
-
Retorna
-
Promessa<void>
Chrome 96 ou mais recente
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
): Promise<void>
Define o tamanho mínimo da fonte.
Parâmetros
-
detalhes
objeto
-
pixelSize
número
O tamanho da fonte em pixels.
-
Retorna
-
Promessa<void>
Chrome 96 ou mais recente
Eventos
onDefaultFixedFontSizeChanged
chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
callback: function,
)
Disparado quando a configuração padrão de tamanho de fonte fixo muda.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(details: object) => void
-
detalhes
objeto
-
levelOfControl
O nível de controle que essa extensão tem sobre a configuração.
-
pixelSize
número
O tamanho da fonte em pixels.
-
-
onDefaultFontSizeChanged
chrome.fontSettings.onDefaultFontSizeChanged.addListener(
callback: function,
)
Acionado quando a configuração de tamanho de fonte padrão muda.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(details: object) => void
-
detalhes
objeto
-
levelOfControl
O nível de controle que essa extensão tem sobre a configuração.
-
pixelSize
número
O tamanho da fonte em pixels.
-
-
onFontChanged
chrome.fontSettings.onFontChanged.addListener(
callback: function,
)
Acionado quando uma configuração de fonte muda.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(details: object) => void
-
detalhes
objeto
-
fontId
string
O ID da fonte. Consulte a descrição em
getFont. -
genericFamily
A família de fontes genérica para que a configuração de fonte foi alterada.
-
levelOfControl
O nível de controle que essa extensão tem sobre a configuração.
-
script
ScriptCode opcional
O código do script para o qual a configuração de fonte foi alterada.
-
-
onMinimumFontSizeChanged
chrome.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
Disparado quando a configuração de tamanho mínimo da fonte muda.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(details: object) => void
-
detalhes
objeto
-
levelOfControl
O nível de controle que essa extensão tem sobre a configuração.
-
pixelSize
número
O tamanho da fonte em pixels.
-
-