Propriété CSS font-language-override
La propriété CSS font-language-override permet de spécifier le système linguistique de la police. Découvrez les valeurs et des exemples.
La propriété CSS font-language-override contrôle quel ensemble de glyphes spécifiques à une langue une police utilise. De nombreuses polices incluent des formes de glyphes alternatives qui sont correctes pour une langue mais incorrectes pour une autre — le même caractère Unicode peut être dessiné différemment en turc, en danois ou en roumain. Cette propriété vous permet d'indiquer au moteur de police quelle règle typographique linguistique appliquer, indépendamment de la langue réelle du document.
Cette page explique ce que fait la propriété, quand elle est utile, les valeurs qu'elle accepte et en quoi elle diffère de l'attribut HTML lang.
Ce qu'elle fait
Les polices OpenType modernes contiennent une fonctionnalité locl (formes localisées) : une table qui substitue des glyphes adaptés à la langue en fonction de la langue avec laquelle le texte est balisé. Normalement, le navigateur récupère la langue depuis l'attribut HTML lang et la transmet à la police, qui sélectionne ensuite les glyphes correspondants.
font-language-override vous permet de remplacer ce choix automatique. Au lieu de se fier à l'attribut lang, vous fournissez à la police une balise de système linguistique OpenType explicite. C'est utile dans deux situations :
- La police possède les bons glyphes mais sous la mauvaise balise. Certaines polices n'exposent leurs formes localisées que sous une balise linguistique spécifique (par exemple, un
șroumain avec virgule en dessous peut n'apparaître que sous la balise moldave). Définirfont-language-overridepermet d'activer cette fonctionnalité. - Vous souhaitez appliquer les règles typographiques d'une autre langue. Lorsqu'une police ne dispose pas de règles appropriées pour la langue du document, vous pouvez emprunter des glyphes d'une langue apparentée qui suit des conventions similaires.
Remarque :
font-language-overridene modifie que la sélection des glyphes. Elle ne change pas la langue pour la vérification orthographique, la césure ou les lecteurs d'écran — ceux-ci dépendent toujours de l'attributlang, que vous devez toujours définir correctement.
| Valeur initiale | normal |
|---|---|
| S'applique à | Tous les éléments. S'applique également à ::first-letter et ::first-line. |
| Hérité | Oui. |
| Animable | Discret. |
| Version | CSS3 |
| Syntaxe DOM | object.style.fontLanguageOverride = "normal"; |
Syntaxe
font-language-override: normal | <string>;La valeur <string> est une balise de système linguistique OpenType entre guillemets (par exemple "ENG" pour l'anglais, "DAN" pour le danois, "TRK" pour le turc). Ces balises proviennent de la spécification OpenType et se composent généralement de trois lettres majuscules — elles ne sont pas identiques aux codes BCP 47 à deux lettres utilisés par l'attribut lang. Si la chaîne ne correspond à aucun système linguistique pris en charge par la police, la déclaration n'a aucun effet visible.
Exemple
L'exemple ci-dessous montre la propriété en action. Le premier paragraphe conserve le comportement par défaut (normal), le second force la sélection des glyphes danois.
<!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>Étant donné que la plupart des polices système n'incluent des formes localisées que pour un nombre limité de langues, vous ne constaterez souvent aucun changement dans le texte rendu — l'effet n'est visible que lorsque la police active contient réellement des glyphes alternatifs pour la langue balisée.
Valeurs
| Valeur | Description |
|---|---|
normal | Indique au navigateur d'utiliser les glyphes de police appropriés pour la langue spécifiée par l'attribut lang. Il s'agit de la valeur par défaut. |
<string> | Une balise de système linguistique OpenType entre guillemets. Indique au navigateur d'utiliser les glyphes de police associés à ce système linguistique plutôt que celui dérivé de lang. |
Compatibilité des navigateurs et remarques
- La prise en charge est limitée : cette propriété n'a historiquement fonctionné que dans Firefox. La plupart des navigateurs basés sur Chromium et WebKit l'ignorent, il ne faut donc pas s'y fier comme seul mécanisme pour une typographie localisée correcte.
- La façon fiable et compatible avec tous les navigateurs d'obtenir des glyphes spécifiques à une langue est de définir correctement l'attribut
langdans votre HTML. Utilisezfont-language-overrideuniquement comme correctif ciblé lorsqu'une police spécifique balise ses glyphes de manière non standard. - Pour un contrôle plus précis des fonctionnalités OpenType individuelles, consultez
font-feature-settings; pour des raccourcis de plus haut niveau, consultezfont-variantetfont-family.