W3docs

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). Definir font-language-override faz 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-override altera 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 atributo lang, que você deve sempre definir corretamente.

Valor Inicialnormal
Aplica-se aTodos os elementos. Também se aplica a ::first-letter e ::first-line.
HerdadoSim.
AnimávelDiscreto.
VersãoCSS3
Sintaxe DOMobject.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

ValorDescrição
normalInstrui 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 lang no seu HTML. Use font-language-override apenas 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, veja font-variant e font-family.

Prática

Prática
Qual é a finalidade da propriedade 'font-language-override' no CSS?
Qual é a finalidade da propriedade 'font-language-override' no CSS?
Was this page helpful?