La propriété font-feature-settings
permet de contrôler les fonctionnalités typographiques des polices OpenType.
font-variant
ou l'une des propriétés détaillées correspondantes parmi font-variant-ligatures
, font-variant-caps
, font-variant-east-asian
, font-variant-alternates
, font-variant-numeric
ou font-variant-position
.Cette propriété est une fonctionnalité bas-niveau permettant de gérer des cas particuliers où il n'y a aucun moyen d'accéder à une fonctionnalité OpenType donnée.
Cette propriété CSS ne devrait notamment pas être utilisée pour activer les petites majuscules.
Valeur initiale | normal |
---|---|
Applicabilité | tous les éléments. S'applique aussi à ::first-letter et ::first-line . |
Héritée | oui |
Média | visuel |
Valeur calculée | comme spécifié |
Type d'animation | discrète |
Ordre canonique | l'ordre unique et non-ambigu défini par la grammaire formelle |
Syntaxe
/* On utilise le réglage par défaut */ font-feature-settings: normal; /* On définit la valeur des étiquettes OpenType */ font-feature-settings: "smcp"; font-feature-settings: "smcp" on; font-feature-settings: "swsh" 2; font-feature-settings: "smcp", "swsh" 2; /* Valeurs globales */ font-feature-settings: inherit; font-feature-settings: initial; font-feature-settings: unset;
Valeurs
normal
- Le texte est disposé en utilisant les réglages par défaut.
<feature-tag-value>
- Lors du rendu du texte, l'étiquette de fonctionnalité OpenType est passée au moteur afin d'activer ou de désactiver certaines fonctionnalités de la police. L'étiquette est toujours une chaîne (type
<string>
) de 4 caractères ASCII. Si la chaîne contient plus ou moins de 4 caractères ou contient des caractères en dehors de l'intervalle U+20 - U+7E, la déclaration sera considérée comme invalide.
La valeur associée à l'étiquette est un entier positif. Les deux mots-cléson
etoff
sont des synonymes respectifs des valeurs1
et0
. Si aucune valeur n'est donnée pour une étiquette, la valeur par défaut sera1
. Pour les fonctionnalités OpenType qui ne sont pas booléennees, la valeur implique qu'un glyphe donné soit sélectionné.
Syntaxe formelle
normal | <feature-tag-value>#
Exemples
/* on utilise le deuxième caractère orné disponible */ .swash { font-feature-settings: "swsh" 2; } /* on active l'ensemble stylistique 7 */ .fancystyle { font-family: Gabriola; /* disponible sur Windows 7 et Mac OS */ font-feature-settings: "ss07"; }
Spécifications
Spécification | État | Commentaires |
---|---|---|
CSS Fonts Module Level 3 La définition de 'font-feature-settings' dans cette spécification. |
Candidat au statut de recommandation | Définition initiale. |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Support simple |
16.0 -webkit |
4.0 (2.0) -moz [1] 29.0 (29.0) -moz [2] 34.0 (34.0) [3] |
10.0 | 15.0 -webkit | 9.1 (prise en charge partielle pour les versions 4.0 à 6.0) |
Fonctionnalité | Android | Webview Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Support simple | 4.4 | 48.0 (unprefixed) | 48.0 (unprefixed) | 4.0 (2.0) -moz [1] 29.0 (29.0) -moz [2] 34.0 (34.0) [3] |
? | 24 | 9.3 (prise en charge partielle pour les versions 3.2 à 6.1) |
[1] Entre Gecko 2.0 (Firefox 4.0) et Gecko 14.0 (Firefox 14.0), Gecko utilisait une ancienne syntaxe, différente de la syntaxe actuelle, voir le billet Prise en charge d'OpenType Font Feature dans Firefox 4.
[2] La troisième édition d'ISO/IEC CD 14496-22 suggère d'utiliser la fonctionnalité ssty
afin de fournir les variantes ajustées des glyphes pour les scripts. À partir de Firefox 29, le moteur de rendu MathML. Elle suggère également d'appliquer la fonctionnalité dtls
sur les lettres lorsqu'on ajoute des accents mathématiques. À partir de Firefox 35, le moteur de rendu MathML gère cet aspect automatiquement.
[3] À partir de Firefox 34, la version préfixée par -moz-
est uniquement conservée pour la compatibilité ascendante. La présence de cette version est contrôlée par la préférence layout.css.prefixes.font-features
, qui vaut true
par défaut. La propriété préfixée sera retirée à l'avenir.