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
|
---
title: unicode-range
slug: Web/CSS/@font-face/unicode-range
tags:
- CSS
- Descripteur
- Experimental
- Reference
translation_of: Web/CSS/@font-face/unicode-range
---
<div>{{cssref}}</div>
<p>Le descripteur <strong><code>unicode-range</code></strong>, associé à la règle @ {{cssxref("@font-face")}}, définit l'intervalle de caractères qui peuvent être représentés par cette police pour la page. Si la page n'utilise aucun caractère de cet intervalle, la police n'est pas téléchargée. Si, au contraire, elle utilise au moins un caractère appartenant à cet intervalle, toute la police est téléchargée.</p>
<p>Le but de ce descripteur est de segmenter les ressources liées aux polices afin que le navigateur puisse ne télécharger que les polices dont il a besoin pour le texte d'un document. Ainsi, un site disposant de nombreuses traductions pourrait proposer des ressources distinctes pour l'anglais, le grec et le japonais et seules les ressources nécessaires (dont les fichiers de polices) seraient téléchargées.</p>
<p>{{cssinfo}}</p>
<h2 id="Syntaxe">Syntaxe</h2>
<pre class="brush:css">/* Valeurs <unicode-range> */
unicode-range: U+26; /* un seul point de code */
unicode-range: U+0-7F;
unicode-range: U+0025-00FF; /* un intervalle spécifique */
unicode-range: U+4??; /* un intervalle de substitution */
unicode-range: U+0025-00FF, U+4??; /* plusieurs valeurs */
</pre>
<h3 id="Valeurs">Valeurs</h3>
<p>Une valeur de type <code><unicode-range></code> peut se présenter de trois façons différentes :</p>
<ul>
<li>un seul point de code
<ul>
<li>Ex : <code>U+26</code></li>
</ul>
</li>
<li>un intervalle spécifique de points de code
<ul>
<li>Ex : <code>U+0025-00FF</code> indique que l'intervalle contient tous les caractères contenus entre les points de code <code>U+0025</code> et <code>U+00FF</code></li>
</ul>
</li>
<li>un intervalle de substitution indiqué par <code>?</code>
<ul>
<li>Un intervalle de points de code Unicode indiqué par une valeur contenant un point d'interrogation. Ainsi, <code>U+4??</code> signifie « tous les caractères contenus dans l'intervalle entre les points de code <code>U+400</code> et <code>U+4FF</code>).</li>
</ul>
</li>
</ul>
<h3 id="Syntaxe_formelle">Syntaxe formelle</h3>
{{csssyntax}}
<h2 id="Exemples">Exemples</h2>
<p>Dans cet exemple, on crée un élément HTML {{HTMLElement("div")}} pour lequel on veut que l'esperluette soit mise en forme avec une police différente. Pour que le résultat soit apparent, on utilisera une police sans empattement pour le texte (<em>Helvetica</em>) et une police avec des empattements (<em>Times New Roman</em>) pour l'esperluette.</p>
<h3 id="CSS">CSS</h3>
<p>Dans la feuille de style CSS, on définit une règle {{cssxref("@font-face")}} qui n'inclue qu'un seul caractère. Cela signifie que seul ce caractère sera affiché avec cette police. On aurait également pu encadrer l'esperluette dans un élément {{HTMLElement("span")}} et appliquer une autre règle sur cet élément mais on aurait alors eu un balisage plus lourd et une règle spécifique en plus sur la feuille de style.</p>
<pre class="brush: css">@font-face {
font-family: 'Ampersand';
src: local('Times New Roman');
unicode-range: U+26;
}
div {
font-size: 4em;
font-family: Ampersand, Helvetica, sans-serif;
}</pre>
<h3 id="HTML">HTML</h3>
<pre class="brush: html"><div>Me & You = Us</div></pre>
<h3 id="Résultat_de_référence_(image_statique)">Résultat de référence (image statique)</h3>
<p><img src="https://mdn.mozillademos.org/files/6043/Refresult.png"></p>
<h3 id="Résultat_du_navigateur">Résultat du navigateur</h3>
<p>{{EmbedLiveSample("Exemples", 500,104)}}</p>
<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', '#descdef-font-face-unicode-range', 'unicode-range')}}</td>
<td>{{Spec2('CSS3 Fonts')}}</td>
<td>Définition initiale.</td>
</tr>
</tbody>
</table>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
<p>{{Compat("css.at-rules.font-face.unicode-range")}}</p>
|