Propriedade CSS font-language-override
A propriedade CSS font-language-override permite especificar o sistema de linguagem da fonte. Veja os valores e experimente exemplos.
A propriedade CSS font-language-override controla qual conjunto de glifos específicos de idioma uma fonte utiliza. Muitas fontes incluem formas alternativas de glifos que são corretas para um idioma, mas incorretas para outro — o mesmo caractere Unicode pode ser desenhado de forma diferente em textos em turco, dinamarquês ou romeno. Esta propriedade permite indicar ao mecanismo de fontes qual regra tipográfica de idioma aplicar, independentemente do idioma real do documento.
Esta página explica o que a propriedade faz, quando é útil, os valores que aceita e como ela difere do atributo HTML lang.
O que ela faz
As fontes OpenType modernas contêm um recurso locl (formas localizadas): uma tabela que substitui glifos adequados ao idioma com base na marcação de idioma do texto. Normalmente, o navegador obtém o idioma a partir do atributo HTML lang e o passa para a fonte, que então seleciona os glifos correspondentes.
font-language-override permite substituir essa escolha automática. Em vez de confiar no atributo lang, você fornece à fonte uma tag explícita de sistema de idioma OpenType. Isso é útil em duas situações:
- A fonte possui os glifos corretos, mas a tag errada. Algumas fontes expõem suas formas localizadas apenas sob uma tag de idioma específica (por exemplo, o
școm vírgula inferior romeno pode aparecer apenas sob a tag moldava). Definirfont-language-overridefaz esse recurso ser ativado. - Você quer as regras tipográficas de outro idioma. Quando um tipo de letra não possui regras adequadas para o idioma do documento, é possível tomar emprestado glifos de um idioma relacionado que segue convenções semelhantes.
Nota:
font-language-overridealtera apenas a seleção de glifos. Não altera o idioma para verificação ortográfica, hifenização ou leitores de tela — esses ainda vêm do atributolang, que você deve sempre definir corretamente.
| Valor Inicial | normal |
|---|---|
| Aplica-se a | Todos os elementos. Também se aplica a ::first-letter e ::first-line. |
| Herdado | Sim. |
| Animável | Discreto. |
| Versão | CSS3 |
| Sintaxe DOM | object.style.fontLanguageOverride = "normal"; |
Sintaxe
font-language-override: normal | <string>;O <string> é uma tag de sistema de idioma OpenType entre aspas (por exemplo, "ENG" para inglês, "DAN" para dinamarquês, "TRK" para turco). Essas tags provêm da especificação OpenType e geralmente são três letras maiúsculas — elas não são iguais aos códigos BCP 47 de duas letras usados pelo atributo lang. Se a string não corresponder a um sistema de idioma suportado pela fonte, a declaração não terá efeito visível.
Exemplo
O exemplo abaixo mostra a propriedade em ação. O primeiro parágrafo mantém o comportamento padrão (normal), o segundo força a seleção de glifos dinamarqueses.
<!DOCTYPE html>
<html>
<head>
<title>The title of the document </title>
<style>
.example1 {
font-language-override: normal;
}
.example2 {
font-language-override: "da";
}
</style>
</head>
<body>
<h2>Font-language-override property example</h2>
<p class="example1">Default language setting.</p>
<p class="example2">Here the font-language-override is set to Danish.</p>
</body>
</html>Como a maioria das fontes do sistema inclui formas localizadas apenas para um pequeno número de idiomas, muitas vezes não haverá mudança visível no texto renderizado — o efeito é visível apenas quando a fonte ativa contém glifos alternativos para o idioma marcado.
Valores
| Valor | Descrição |
|---|---|
normal | Instrui o navegador a usar glifos de fonte adequados para o idioma especificado pelo atributo lang. Este é o valor padrão. |
<string> | Uma tag de sistema de idioma OpenType entre aspas. Instrui o navegador a usar os glifos de fonte associados a esse sistema de idioma em vez do derivado de lang. |
Suporte a navegadores e observações
- O suporte é limitado: historicamente, esta propriedade funcionou apenas no Firefox. A maioria dos navegadores baseados em Chromium e WebKit a ignora, portanto não confie nela como único mecanismo para tipografia localizada correta.
- A maneira confiável e compatível com todos os navegadores de obter glifos específicos do idioma é definir corretamente o atributo
langno seu HTML. Usefont-language-overrideapenas como correção pontual quando uma fonte específica marca seus glifos de forma não padrão. - Para controle mais refinado sobre recursos OpenType individuais, consulte
font-feature-settings; para abreviações de alto nível, vejafont-variantefont-family.