Descrição
Use a API chrome.fontSettings
para gerenciar as configurações de fonte do Chrome.
Permissões
fontSettings
Manifesto
Para 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"
],
...
}
Famílias de fontes e scripts genéricos
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 do CSS e estão listadas na referência da API abaixo. 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 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 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 na referência da API abaixo. 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 o cirílico (código de escrita ISO 15924 "Cyrl") quando uma página da Web especifica o idioma russo e usa essa fonte não apenas para a escrita cirílica, mas para tudo o que ela abrange, como o latim.
Exemplos
O código a seguir recebe a fonte padrão para árabe.
chrome.fontSettings.getFont(
{ genericFamily: 'standard', script: 'Arab' },
function(details) { console.log(details.fontId); }
);
O snippet a seguir define a fonte sem serifa para japonês.
chrome.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 um nome de 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 do CSS.
Enumeração
"padrão"
"sansserif"
"serif"
"fixed"
"cursiva"
"fantasia"
"math"
LevelOfControl
Um destes:
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 "Zyyy".
Enumeração
"Afak"
"Árabe"
"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"
"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"
"Membro"
"Lina"
"Linb"
"Lisu"
"Loma"
Lyci
Lydi
"Mand"
"Mani"
"Maya"
"Mend"
"Merc"
"Mero"
"Mlym"
"Lua"
"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,
callback?: function,
): Promise<void>
Limpa o tamanho padrão fixo da fonte definido por esta extensão, se houver.
Parâmetros
-
detalhes
objeto opcional
Este parâmetro não está sendo usado no momento.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
): Promise<void>
Limpa o tamanho da fonte padrão definido por esta extensão, se houver.
Parâmetros
-
detalhes
objeto opcional
Este parâmetro não está sendo usado no momento.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
clearFont()
chrome.fontSettings.clearFont(
details: object,
callback?: function,
): Promise<void>
Limpa a fonte definida por esta extensão, se houver.
Parâmetros
-
detalhes
objeto
-
genericFamily
A família de fontes genérica para a qual a fonte precisa ser limpa.
-
script
ScriptCode opcional
O script para o qual a fonte precisa ser limpa. Se omitida, a configuração global de fonte de script será limpa.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
): Promise<void>
Limpa o tamanho mínimo da fonte definido por esta extensão, se houver.
Parâmetros
-
detalhes
objeto opcional
Este parâmetro não está sendo usado no momento.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
): Promise<object>
Recebe o tamanho padrão para fontes de largura fixa.
Parâmetros
-
detalhes
objeto opcional
Este parâmetro não está sendo usado no momento.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(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.
-
-
Retorna
-
Promise<object>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
): Promise<object>
Recebe o tamanho da fonte padrão.
Parâmetros
-
detalhes
objeto opcional
Este parâmetro não está sendo usado no momento.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(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.
-
-
Retorna
-
Promise<object>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getFont()
chrome.fontSettings.getFont(
details: object,
callback?: function,
): Promise<object>
Recebe a fonte para 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 deve 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 do script "Zyyy") será recuperada.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(details: object) => void
-
detalhes
objeto
-
fontId
string
O ID da fonte. Em vez do valor literal da preferência de ID da fonte, pode ser o ID da fonte para que o sistema resolve o valor de preferência. Assim,
fontId
pode ser diferente da fonte transmitida parasetFont
se, por exemplo, a fonte não estiver disponível no sistema. A string vazia significa o retorno à configuração global de fonte de script. -
levelOfControl
O nível de controle que essa extensão tem sobre a configuração.
-
-
Retorna
-
Promise<object>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getFontList()
chrome.fontSettings.getFontList(
callback?: function,
): Promise<FontName[]>
Recebe uma lista de fontes no sistema.
Parâmetros
Retorna
-
Promise<FontName[]>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
): Promise<object>
Recebe o tamanho mínimo da fonte.
Parâmetros
-
detalhes
objeto opcional
Este parâmetro não está sendo usado no momento.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(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.
-
-
Retorna
-
Promise<object>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
callback?: function,
): 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.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
): Promise<void>
Define o tamanho da fonte padrão.
Parâmetros
-
detalhes
objeto
-
pixelSize
número
O tamanho da fonte em pixels.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setFont()
chrome.fontSettings.setFont(
details: object,
callback?: function,
): 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 voltar à configuração global de fonte de script.
-
genericFamily
A família de fontes genérica para a qual a fonte será 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 do script "Zyyy") será definida.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
callback?: function,
): Promise<void>
Define o tamanho mínimo da fonte.
Parâmetros
-
detalhes
objeto
-
pixelSize
número
O tamanho da fonte em pixels.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
Eventos
onDefaultFixedFontSizeChanged
chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
callback: function,
)
Disparado quando a configuração padrão de tamanho de fonte fixa muda.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(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,
)
Disparado quando a configuração padrão de tamanho da fonte muda.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(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,
)
Disparado quando uma configuração de fonte muda.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(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 a qual 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
tem esta aparência:(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.
-
-