Proprietà CSS font-language-override
La proprietà CSS font-language-override consente di specificare il sistema linguistico del font. Scopri i valori e prova gli esempi.
La proprietà CSS font-language-override controlla quale insieme di glifi specifici per lingua utilizza un font. Molti font includono forme alternate dei glifi che sono corrette per una lingua ma errate per un'altra — lo stesso carattere Unicode può essere disegnato in modo diverso nel testo turco, danese o romeno. Questa proprietà consente di indicare al motore del font quale insieme di regole tipografiche applicare, indipendentemente dalla lingua effettiva del documento.
Questa pagina spiega cosa fa la proprietà, quando è utile, i valori che accetta e come differisce dall'attributo HTML lang.
Cosa fa
I font OpenType moderni contengono una funzionalità locl (forme localizzate): una tabella che sostituisce i glifi appropriati alla lingua in base alla lingua con cui il testo è etichettato. Normalmente il browser ricava la lingua dall'attributo HTML lang e la passa al font, che seleziona quindi i glifi corrispondenti.
font-language-override consente di sovrascrivere questa scelta automatica. Invece di affidarsi all'attributo lang, si fornisce esplicitamente al font un tag del sistema linguistico OpenType. Questa funzionalità è utile in due situazioni:
- Il font ha i glifi giusti ma il tag errato. Alcuni font espongono le forme localizzate solo sotto un tag linguistico specifico (ad esempio, la
șromena con virgola sottostante potrebbe comparire solo sotto il tag moldavo). Impostarefont-language-overrideattiva quella funzionalità. - Si vogliono le regole tipografiche di un'altra lingua. Quando un carattere tipografico non dispone di regole adeguate per la lingua del documento, è possibile prendere in prestito i glifi da una lingua correlata che segue convenzioni simili.
Nota:
font-language-overridemodifica solo la selezione dei glifi. Non cambia la lingua per il controllo ortografico, la sillabazione o gli screen reader — questi dipendono ancora dall'attributolang, che è sempre opportuno impostare correttamente.
| Valore iniziale | normal |
|---|---|
| Si applica a | Tutti gli elementi. Si applica anche a ::first-letter e ::first-line. |
| Ereditato | Sì. |
| Animabile | Discreto. |
| Versione | CSS3 |
| Sintassi DOM | object.style.fontLanguageOverride = "normal"; |
Sintassi
font-language-override: normal | <string>;La <string> è un tag del sistema linguistico OpenType tra virgolette (ad esempio "ENG" per l'inglese, "DAN" per il danese, "TRK" per il turco). Questi tag provengono dalla specifica OpenType e di solito sono composti da tre lettere maiuscole — non coincidono con i codici BCP 47 a due lettere usati dall'attributo lang. Se la stringa non corrisponde a un sistema linguistico supportato dal font, la dichiarazione non ha effetti visibili.
Esempio
L'esempio seguente mostra la proprietà in azione. Il primo paragrafo mantiene il comportamento predefinito (normal), il secondo forza la selezione dei glifi danesi.
<!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>Poiché la maggior parte dei font di sistema include forme localizzate solo per un numero limitato di lingue, spesso non si osserverà alcuna variazione nel testo renderizzato — l'effetto è visibile solo quando il font attivo contiene glifi alternativi per la lingua specificata.
Valori
| Valore | Descrizione |
|---|---|
normal | Indica al browser di utilizzare i glifi del font appropriati per la lingua specificata dall'attributo lang. Questo è il valore predefinito. |
<string> | Un tag del sistema linguistico OpenType tra virgolette. Indica al browser di utilizzare i glifi del font associati a quel sistema linguistico anziché quello derivato da lang. |
Supporto browser e note
- Il supporto è limitato: storicamente questa proprietà ha funzionato solo in Firefox. La maggior parte dei browser basati su Chromium e WebKit la ignora, pertanto non bisogna affidarsi ad essa come unico meccanismo per una tipografia localizzata corretta.
- Il metodo affidabile e cross-browser per ottenere glifi specifici per lingua è impostare correttamente l'attributo
langsull'HTML. Ricorrere afont-language-overridesolo come correzione mirata quando un font specifico taggha i propri glifi in modo non standard. - Per un controllo più granulare delle singole funzionalità OpenType, vedere
font-feature-settings; per shorthand di livello superiore vederefont-variantefont-family.