La propriété font-feature-settings permet de contrôler les fonctionnalités typographiques des polices OpenType.

Note : Lorsque c'est possible, les auteurs devraient utiliser la propriété raccourcie 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.

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és on et off sont des synonymes respectifs des valeurs 1 et 0. Si aucune valeur n'est donnée pour une étiquette, la valeur par défaut sera 1. 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>#


<feature-tag-value> = <string> [ <integer> | on | off ]?

Exemples

/* on utilise les glyphes alternatifs en small-cap */
.smallcaps { font-feature-settings: "smcp" on; }

/* on convertit les majuscules et minuscules en petites
   capitales */
.allsmallcaps { font-feature-settings: "c2sc", "smcp"; }

/* on utilise les zéros barrés d'une barre oblique afin de 
   les différencier de "O" */
.nicezero { font-feature-settings: "zero"; }

/* on active les formes historiques */
.hist { font-feature-settings: "hist"; }

/* on désactive les ligatures communément utilisées */
.noligs { font-feature-settings: "liga" 0; }

/* on active les chiffres tabulaires (chasse fixe) */
td.tabular { font-feature-settings: "tnum"; }

/* on active les fractions automatiques */
.fractions { font-feature-settings: "frac"; }

/* on utilise le deuxième caractère de « swash » */
.swash { font-feature-settings: "swsh" 2; }

/* On active l'ensemble stylistique 7 */
.fancystyle {
  font-family: Gabriola; /* Windows 7 et Mac OS */
  font-feature-settings: "ss07";
}

Spécificat​ions

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.

Valeur initialenormal
Applicabilitétous les éléments. S'applique aussi à ::first-letter et ::first-line.
Héritéeoui
Médiavisuel
Valeur calculéecomme spécifié
Type d'animationdiscrète
Ordre canoniquel'ordre unique et non-ambigu défini par la grammaire formelle

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung Internet
Support simpleChrome Support complet 48
Support complet 48
Support complet 16
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : -webkit-
Edge Support complet 15Firefox Support complet 34
Notes
Support complet 34
Notes
Notes The ISO/IEC CD 14496-22 3rd edition suggests using the ssty feature to provide glyph variants more suitable for use in scripts (for example primes used as superscripts). Starting with Firefox 29, this is done automatically by the MathML rendering engine. The ISO/IEC CD 14496-22 3rd edition also suggests applying the dtls feature to letters when placing mathematical accents to get dotless forms (for example dotless i, j with a hat). Starting with Firefox 35, this is done automatically by the MathML rendering engine. You can override the default values determined by the MathML rendering engine with CSS.
Support complet 15
Préfixée Notes
Préfixée Nécessite l'utilisation d'un préfixe : -moz-
Notes From Firefox 4 to Firefox 14 (inclusive), Firefox supported an older, slightly different syntax. See OpenType Font Feature support in Firefox 4.
IE Support complet 10Opera Support complet 35
Support complet 35
Support complet 15
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : -webkit-
Safari Support complet 9.1
Support complet 9.1
Aucun support 4 — 6
WebView Android Support complet 4.4Chrome Android Support complet 48Edge Mobile Support complet OuiFirefox Android Support complet 34
Notes
Support complet 34
Notes
Notes The ISO/IEC CD 14496-22 3rd edition suggests using the ssty feature to provide glyph variants more suitable for use in scripts (for example primes used as superscripts). Starting with Firefox 29, this is done automatically by the MathML rendering engine. The ISO/IEC CD 14496-22 3rd edition also suggests applying the dtls feature to letters when placing mathematical accents to get dotless forms (for example dotless i, j with a hat). Starting with Firefox 35, this is done automatically by the MathML rendering engine. You can override the default values determined by the MathML rendering engine with CSS.
Support complet 15
Préfixée Notes
Préfixée Nécessite l'utilisation d'un préfixe : -moz-
Notes From Firefox 4 to Firefox 14 (inclusive), Firefox supported an older, slightly different syntax. See OpenType Font Feature support in Firefox 4.
Opera Android Support complet OuiSafari iOS Support complet 9.3
Support complet 9.3
Aucun support 3.2 — 6.1
Samsung Internet Android Support complet 5.0

Légende

Support complet  
Support complet
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Cette fonctionnalité nécessite un préfixe particulier ou utilise un autre nom.
Cette fonctionnalité nécessite un préfixe particulier ou utilise un autre nom.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : SphinxKnight, Krenair, Sebastianz, teoli, FredB
Dernière mise à jour par : SphinxKnight,