1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
---
title: font-feature-settings
slug: Web/CSS/font-feature-settings
tags:
- CSS
- Propriété
- Reference
translation_of: Web/CSS/font-feature-settings
---
<div>{{CSSRef}}</div>
<p>La propriété <strong><code>font-feature-settings</code></strong> permet de contrôler les fonctionnalités typographiques des polices OpenType.</p>
<div>{{EmbedInteractiveExample("pages/css/font-feature-settings.html")}}</div>
<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
<div class="note"><strong>Note :</strong> Lorsque c'est possible, les auteurs devraient utiliser la propriété raccourcie {{cssxref("font-variant")}} ou l'une des propriétés détaillées correspondantes parmi {{cssxref("font-variant-ligatures")}}, {{cssxref("font-variant-caps")}}, {{cssxref("font-variant-east-asian")}}, {{cssxref("font-variant-alternates")}}, {{cssxref("font-variant-numeric")}} ou {{cssxref("font-variant-position")}}.<br>
<br>
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.</div>
<h2 id="Syntaxe">Syntaxe</h2>
<pre class="brush:css no-line-numbers">/* 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;
</pre>
<h3 id="Valeurs">Valeurs</h3>
<dl>
<dt><code>normal</code></dt>
<dd>Le texte est disposé en utilisant les réglages par défaut.</dd>
<dt><code><feature-tag-value></code></dt>
<dd>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 {{cssxref("<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.<br>
La valeur associée à l'étiquette est un entier positif. Les deux mots-clés <code>on</code> et <code>off</code> sont des synonymes respectifs des valeurs <code>1</code> et <code>0</code>. Si aucune valeur n'est donnée pour une étiquette, la valeur par défaut sera <code>1</code>. Pour les fonctionnalités OpenType qui ne sont pas booléennees, la valeur implique qu'un glyphe donné soit sélectionné.</dd>
</dl>
<h3 id="Syntaxe_formelle">Syntaxe formelle</h3>
{{csssyntax}}
<h2 id="Exemples">Exemples</h2>
<pre class="brush:css">/* 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";
}
</pre>
<h2 id="Spécifications">Spécifications</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Spécification</th>
<th scope="col">État</th>
<th scope="col">Commentaires</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('CSS3 Fonts', '#propdef-font-feature-settings', 'font-feature-settings')}}</td>
<td>{{Spec2('CSS3 Fonts')}}</td>
<td>Définition initiale.</td>
</tr>
</tbody>
</table>
<p>{{cssinfo}}</p>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<p>{{Compat("css.properties.font-feature-settings")}}</p>
<h2 id="Voir_aussi">Voir aussi</h2>
<ul>
<li><a href="https://www.microsoft.com/typography/otspec/featurelist.htm" title="http://www.microsoft.com/typography/otspec/featurelist.htm">La liste des fonctionnalités OpenType</a></li>
<li><a href="http://blogs.msdn.com/b/ie/archive/2012/01/09/css-corner-using-the-whole-font.aspx"><em>Using the whole font</em>, un article MSDN en anglais</a></li>
</ul>
|