Fonctionnalités des polices OpenType
Mise à jour : novembre 2007
Cette rubrique fournit une vue d'ensemble de quelques-unes des fonctionnalités clés de la technologie des polices OpenType dans Windows Presentation Foundation (WPF).
Cette rubrique comprend les sections suivantes.
- Format des polices OpenType
- Variantes
- Majuscules
- Ligatures
- Paraphes
- Remplaçants
- Styles numériques
- Classe de typographie
- Rubriques connexes
Format des polices OpenType
Le format de police OpenType est une extension du format des polices TrueType®, qui ajoute la prise en charge des données des polices PostScript. Le format de police OpenType a été développé conjointement par Microsoft et Adobe Corporation. Les polices OpenType et les services de système d'exploitation qui prennent en charge des polices OpenType fournissent aux utilisateurs une manière simple pour installer et utiliser des polices, que celles-ci contiennent des plans TrueType ou des plans CFF (PostScript).
Le format de police OpenType répond aux problèmes suivants des développeurs :
Prise en charge multi-plateformes élargi.
Meilleure prise en charge des jeux de caractères internationaux.
Meilleure protection pour les données de police.
Tailles des fichiers plus réduites permettant une distribution plus efficace des polices.
Prise en charge élargie des contrôles typographiques avancés.
Remarque : |
---|
Le Kit de développement logiciel Windows contient un jeu d'exemples de polices OpenType que vous pouvez utiliser avec les applications Windows Presentation Foundation (WPF). Ces polices assurent la plupart des fonctionnalités illustrées dans le reste de cette rubrique. Pour plus d'informations, consultez Exemple de pack de polices OpenType. |
Consultez Open pour des détails du format de police OpenType.
Extensions typographiques avancées
Les tableaux typographiques avancés (tableaux de disposition OpenType) étendent les fonctionnalités de polices avec des plans TrueType ou des plans CFF. Les polices de mise en page OpenType contiennent des informations supplémentaires qui étendent les fonctionnalités des polices pour prendre en charge la typographie internationale de haute qualité. La plupart des polices OpenType exposent uniquement un sous-ensemble des fonctionnalités OpenType totales disponibles. Les polices OpenType fournissent les fonctionnalités suivantes.
Mappage riche entre caractères et glyphes prenant en charge des ligatures, des formulaires de position, des remplaçants et autres substitutions de polices.
Prise en charge du positionnement à deux dimensions et des pièces jointes de glyphes.
La police contient des informations explicites de script et de langage, de sorte qu'une application de traitement de texte peut ajuster son comportement en conséquence.
Les tableaux de disposition OpenType sont décrits plus en détail dans la section "Font File Tables" de la spécification OpenType.
Le reste de cette vue d'ensemble introduit l'éventail et la flexibilité de quelques-unes des fonctionnalités OpenType visuellement intéressantes exposées par les propriétés de l'objet Typography. Pour plus d'informations sur cet objet, consultez Classe de typographie.
Variantes
Les variantes sont utilisées pour restituer différents styles typographiques, tels que les exposants et indices.
Exposants et indices
La propriété Variants vous permet de définir des valeurs d'exposant et d'indice pour une police OpenType.
Le texte suivant affiche des exposants pour la police Palatino Linotype.
Texte utilisant des exposants OpenType
L'exemple de balise suivant montre comment définir des exposants pour la police Palatino Linotype, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Palatino Linotype">
2<Run Typography.Variants="Superscript">3</Run>
14<Run Typography.Variants="Superscript">th</Run>
</Paragraph>
Le texte suivant affiche des indices pour la police Palatino Linotype.
Texte utilisant des indices OpenType
L'exemple de balise suivant montre comment définir des indices pour la police Palatino Linotype, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Palatino Linotype">
H<Run Typography.Variants="Subscript">2</Run>O
Footnote<Run Typography.Variants="Subscript">4</Run>
</Paragraph>
Utilisations décoratives d'exposants et d'indices
Vous pouvez également utiliser des exposants et des indices pour créer des effets décoratifs de texte de casse mixte. Le texte suivant affiche du texte en exposant et en indice pour la police Linotype Palatino. Notez que les majuscules ne sont pas affectées.
Texte utilisant des exposants et des indices OpenType
L'exemple de balise suivant montre comment définir des exposants et des indices pour une police, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Superscript">
Chapter One
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Subscript">
Chapter One
</Paragraph>
Majuscules
Les majuscules sont un jeu de formats typographiques qui restituent le texte dans des glyphes de type majuscule. En général, lorsque le texte est restitué tout en majuscules, l'espacement entre les lettres peut apparaître trop serré, et le poids et la proportion des lettres trop lourd. OpenType prend en charge plusieurs formats de style pour les majuscules, y compris les petites majuscules, les majuscules menues, les caractères de titres et l'espacement des majuscules. Ces formats de style vous permettent de contrôler l'apparence de majuscules.
Le texte suivant affiche des majuscules standard pour la police Pescadero, suivies de lettres dont le style est « SmallCaps » et « AllSmallCaps ». Dans ce cas, la même taille de police est utilisée pour les trois mots.
Texte utilisant des majuscules OpenType
L'exemple de balise suivant montre comment définir des majuscules pour la Utilisation des polices OpenType, exemple, à l'aide des propriétés de l'objet Typography. En format « SmallCaps », toute majuscule principale est ignorée.
<Paragraph FontFamily="Pescadero" FontSize="48">
<Run>CAPITALS</Run>
<Run Typography.Capitals="SmallCaps">Capitals</Run>
<Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
Majuscules de titres
Les majuscules de titre présentent un poids et une proportion moins importants et sont conçues pour être plus élégantes que les majuscules normales. Elles sont généralement utilisées sous forme d'en-têtes, dans une taille de police supérieure. Le texte suivant affiche des majuscules normales et des majuscules de titre pour la police Pescadero. Remarquez les traits plus fins du texte sur la deuxième ligne.
Texte utilisant des majuscules de titres OpenType
L'exemple de balise suivant montre comment définir des majuscules de titres pour la police Pescadero, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Pescadero">
<Run Typography.Capitals="Titling">chapter one</Run>
</Paragraph>
Espacement des majuscules
L'espacement des majuscules est une fonctionnalité qui vous permet de fournir plus d'espacement lors de l'utilisation de texte tout en majuscules. Les majuscules sont conçues en général pour fusionner avec les lettres minuscules. L'espacement qui apparaît attirant entre une majuscule et une minuscule peut sembler trop serré lorsque toutes les majuscules sont utilisées. Le texte suivant affiche l'espacement normal et l'espacement des majuscules pour la police Pescadero.
Texte utilisant l'espacement des majuscules OpenType
L'exemple de balise suivant montre comment définir l'espacement des majuscules pour la police Pescadero, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Pescadero">
<Run Typography.CapitalSpacing="True">CHAPTER ONE</Run>
</Paragraph>
Ligatures
Les ligatures sont deux ou plusieurs glyphes regroupés en un glyphe unique afin de créer un texte plus lisible ou attirant. Les polices OpenType prennent en charge quatre types de ligatures :
Ligatures standard. Conçues pour améliorer la lisibilité. Les ligatures standard incluent "fi", "fl" et "ff."
Ligatures contextuelles. Conçues pour améliorer la lisibilité en fournissant un meilleur comportement de jointure entre les caractères qui composent la ligature.
Ligatures discrétionnaires. Conçues pour être ornementales, plutôt que spécifiquement pour la lisibilité.
Ligatures historiques Conçues pour être historiques, plutôt que spécifiquement pour la lisibilité.
Le texte suivant affiche des glyphes de ligature standard pour la police Pericles.
Texte utilisant des ligatures standard OpenType
L'exemple de balise suivant montre comment définir des glyphes de ligature standard pour la police Pericles, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Pericles" Typography.StandardLigatures="True">
<Run Typography.StylisticAlternates="1">FI</Run>
<Run Typography.StylisticAlternates="1">FL</Run>
<Run Typography.StylisticAlternates="1">TH</Run>
<Run Typography.StylisticAlternates="1">TT</Run>
<Run Typography.StylisticAlternates="1">TV</Run>
<Run Typography.StylisticAlternates="1">TW</Run>
<Run Typography.StylisticAlternates="1">TY</Run>
<Run Typography.StylisticAlternates="1">VT</Run>
<Run Typography.StylisticAlternates="1">WT</Run>
<Run Typography.StylisticAlternates="1">YT</Run>
</Paragraph>
Le texte suivant affiche des glyphes de ligatures discrétionnaires pour la police Pericles.
Texte utilisant des ligatures discrétionnaires OpenType
L'exemple de balise suivant montre comment définir des ligatures discrétionnaires pour la police Pericles, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Pericles" Typography.DiscretionaryLigatures="True">
<Run Typography.StylisticAlternates="1">CO</Run>
<Run Typography.StylisticAlternates="1">LA</Run>
<Run Typography.StylisticAlternates="1">LE</Run>
<Run Typography.StylisticAlternates="1">LI</Run>
<Run Typography.StylisticAlternates="1">LL</Run>
<Run Typography.StylisticAlternates="1">LO</Run>
<Run Typography.StylisticAlternates="1">LU</Run>
</Paragraph>
Par défaut, les polices OpenType dans Windows Presentation Foundation (WPF) activent des ligatures standard. Par exemple, si vous utilisez la police Palatino Linotype, les ligatures standard « fi », « ff » et « fl » apparaissent comme un glyphe de caractères combinés. Remarquez que les deux caractères de chaque ligature standard se touchent l'un et l'autre.
Texte utilisant des ligatures standard OpenType
Toutefois, vous pouvez désactiver les fonctionnalités de ligature standard afin qu'une ligature standard telle que « ff » s'affiche comme deux glyphes séparés plutôt que comme un glyphe de caractères combinés.
Texte utilisant des ligatures standard OpenType désactivées
L'exemple de balise suivant montre comment désactiver des glyphes de ligature standard pour la police Palatino Linotype, à l'aide des propriétés de l'objet Typography.
<!-- Set standard ligatures to false in order to disable feature. -->
<Paragraph Typography.StandardLigatures="False" FontFamily="Palatino Linotype" FontSize="72">
fi ff fl
</Paragraph>
Paraphes
Les paraphes sont des glyphes décoratifs qui utilisent une ornementation élaborée souvent associée à la calligraphie. Le texte suivant affiche des glyphes standard et des glyphes de paraphe pour la police Pescadero.
Texte utilisant des glyphes de paraphe et des glyphes standard OpenType
Les paraphes sont souvent utilisés comme éléments décoratifs dans des expressions courtes telles que les annonces d'événement. Le texte suivant utilise des paraphes pour accentuer les majuscules du nom de l'événement.
Texte utilisant des paraphes OpenType
L'exemple de balise suivant montre comment définir des paraphes pour une police, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Pescadero" TextBlock.TextAlignment="Center">
Wishing you a<LineBreak/>
<Run Typography.StandardSwashes="1" FontSize="36">Happy New Year!</Run>
</Paragraph>
Paraphes contextuels
Certaines combinaisons de glyphes de paraphe peuvent provoquer une apparence peu attrayante, telle que les hampes inférieures chevauchant les lettres adjacentes. L'utilisation d'un paraphe contextuel vous permet d'utiliser un glyphe de paraphe de substitution qui produit une meilleure apparence. Le texte suivant affiche le même mot avant et après l'application d'un paraphe contextuel.
Texte utilisant des paraphes contextuels OpenType
L'exemple de balise suivant montre comment définir un paraphe contextuel pour la police Pescadero, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Pescadero" Typography.StandardSwashes="1">
Lyon <Run Typography.ContextualSwashes="1">L</Run>yon
</Paragraph>
Remplaçants
Les remplaçants sont des glyphes qui peuvent être substitués à un glyphe standard. Les polices OpenType, telles que la police Pericles utilisées dans les exemples suivants, peuvent contenir des glyphes de remplaçants que vous pouvez utiliser pour créer des aspects différents pour le texte. Le texte suivant affiche des glyphes standard pour la police Pericles.
Texte utilisant des glyphes standard OpenType
La police OpenType Pericles contient des glyphes supplémentaires qui offrent des remplaçants stylistiques pour le jeu de glyphes standard. Le texte suivant affiche des glyphes de styles de substitution.
Texte utilisant des glyphes de remplaçants stylistiques OpenType
L'exemple de balise suivant montre comment définir des ligature discrétionnaires pour la police Pericles, à l'aide de propriétés de l'objet Typography.
<Paragraph FontFamily="Pericles">
<Run Typography.StylisticAlternates="1">A</Run>NCIENT
GR<Run Typography.StylisticAlternates="1">EE</Run>K
MYTH<Run Typography.StylisticAlternates="1">O</Run>LOGY
</Paragraph>
Le texte suivant affiche plusieurs autres glyphes de remplaçants stylistiques pour la police Pericles.
Texte utilisant des glyphes de remplaçants stylistiques OpenType
L'exemple de balise suivant montre comment définir ces autres glyphes de remplaçants stylistiques.
<Paragraph FontFamily="Pericles">
<Run Typography.StylisticAlternates="1">A</Run>
<Run Typography.StylisticAlternates="2">A</Run>
<Run Typography.StylisticAlternates="3">A</Run>
<Run Typography.StylisticAlternates="1">C</Run>
<Run Typography.StylisticAlternates="1">E</Run>
<Run Typography.StylisticAlternates="1">G</Run>
<Run Typography.StylisticAlternates="1">O</Run>
<Run Typography.StylisticAlternates="1">Q</Run>
<Run Typography.StylisticAlternates="1">R</Run>
<Run Typography.StylisticAlternates="2">R</Run>
<Run Typography.StylisticAlternates="1">S</Run>
<Run Typography.StylisticAlternates="1">Y</Run>
</Paragraph>
Remplaçants contextuels aléatoires
Les remplaçants contextuels aléatoires fournissent plusieurs glyphes de substitution pour un caractère unique. En cas d'implémentation avec les polices d'écriture, cette fonctionnalité peut simuler l'écriture manuscrite en utilisant un jeu de glyphes choisis au hasard avec des différences légères dans l'apparence. Le texte suivant utilise des remplaçants contextuels aléatoires pour la police Lindsey. Vous remarquerez que l'aspect de la lettre « a » varie légèrement
Texte utilisant des remplaçants contextuels aléatoires OpenType
L'exemple de balise suivant montre comment définir des remplaçants contextuels aléatoires pour la police Lindsey, à l'aide des propriétés de l'objet Typography.
<TextBlock FontFamily="Lindsey">
<Run Typography.ContextualAlternates="True">
a banana in a cabana
</Run>
</TextBlock>
Formats historiques
Les formats historiques sont des conventions typographiques qui étaient courantes dans le passé. Le texte suivant affiche l'expression, « Boston, Massachusetts », à l'aide d'un format historique de glyphes pour la police Palatino Linotype.
Texte utilisant des formats historiques OpenType
L'exemple de balise suivant montre comment définir des formats historiques pour la police Palatino Linotype, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Palatino Linotype">
<Run Typography.HistoricalForms="True">Boston, Massachusetts</Run>
</Paragraph>
Styles numériques
Les polices OpenType prennent en charge un grand nombre des fonctionnalités pouvant être utilisées avec des valeurs numériques dans du texte.
Fractions
Les polices OpenType prennent en charge les styles pour les fractions, y compris barré et sur deux lignes.
Le texte suivant affiche des styles de fraction pour la police Palatino Linotype.
Texte utilisant des fractions OpenType barrées et sur deux lignes
L'exemple de balise suivant montre comment définir des styles de fractions pour la police Palatino Linotype, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Palatino Linotype" Typography.Fraction="Slashed">
1/8 1/4 3/8 1/2 5/8 3/4 7/8
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Fraction="Stacked">
1/8 1/4 3/8 1/2 5/8 3/4 7/8
</Paragraph>
Chiffres de style ancien
Les polices OpenType prennent en charge un format numérique de style ancien. Ce format est utile pour afficher des chiffres dans des styles qui ne sont plus standard. Le texte suivant affiche une date du 18e siècle aux formats standard et numérique ancien pour la police Palatino Linotype.
Texte utilisant des chiffres OpenType de style ancien
Le texte suivant affiche des chiffres standard pour la police Palatino Linotype, suivi par des chiffres de style ancien.
Texte utilisant des jeux de chiffres OpenType de style ancien
L'exemple de balise suivant montre comment définir des chiffres de style ancien pour la police Palatino Linotype, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Palatino Linotype">
<Run Typography.NumeralStyle="Normal">1234567890</Run>
<Run Typography.NumeralStyle="OldStyle">1234567890</Run>
</Paragraph>
Nombres proportionnels et disposés en table
Les polices OpenType prennent en charge une fonctionnalité de nombres proportionnels et disposés en table pour contrôler l'alignement des largeurs lors de l'utilisation de chiffres. Les nombres proportionnels traitent chaque chiffre comme ayant une largeur différente (« 1 » est plus étroit que « 5 »). Les chiffres disposés en table sont traités comme des chiffres de largeur égale afin qu'ils s'alignent verticalement, ce qui augmente la lisibilité des informations de type financier.
Le texte suivant affiche deux nombres proportionnels dans la première colonne à l'aide de la police Miramonte. Notez la différence de largeur entre les chiffres « 5 » et « 1 ». La deuxième colonne affiche deux valeurs numériques identiques avec les largeurs ajustées en utilisant la fonctionnalité de chiffres disposés en tableau.
Texte utilisant des nombres proportionnels et disposés en table OpenType
L'exemple de balise suivant montre comment définir des nombres proportionnels et disposés en tables pour la police Miramonte, à l'aide des propriétés de l'objet Typography.
<TextBlock FontFamily="Miramonte">
<Run Typography.NumeralAlignment="Proportional">114,131</Run>
</TextBlock>
<TextBlock FontFamily="Miramonte">
<Run Typography.NumeralAlignment="Tabular">114,131</Run>
</TextBlock>
Zéro barré
Les polices OpenType prennent en charge un format de chiffre à zéro barré pour accentuer la différence entre la lettre « O » et le chiffre « 0 ». Le chiffre à zéro barré est souvent utilisé pour les identificateurs dans les informations financières et commerciales.
Le texte suivant affiche un exemple d'identificateur de classement à l'aide de la police Miramonte. La première ligne utilise des chiffres standard. La deuxième ligne utilise des chiffres à zéro barrés pour fournir un meilleur contraste avec la lettre « O » majuscule.
Texte utilisant des chiffres à zéro barré OpenType
L'exemple de balise suivant montre comment définir des chiffres à zéro barré pour la police Miramonte, à l'aide des propriétés de l'objet Typography.
<Paragraph FontFamily="Miramonte">
<Run>Order #0048-OTC-390</Run>
<LineBreak/>
<Run Typography.SlashedZero="True">Order #0048-OTC-390</Run>
</Paragraph>
Utilisation de XamlPad pour consulter des fonctionnalités OpenType
Pour découvrir les fonctionnalités OpenType, il peut être intéressant d'utiliser XamlPad pour créer un balisage expérimentant l'utilisation de différentes propriétés typographiques. Pour plus d'informations, consultez XAMLPad.
Test des polices OpenType avec XAMLPad
Classe de typographie
L'objet Typography expose le jeu de fonctionnalités prises en charge par une police OpenType. En définissant les propriétés de Typography dans la balise, vous pouvez créer facilement des documents qui tirent parti des fonctionnalités OpenType.
Le texte suivant affiche des majuscules standard pour la police Pescadero, suivies de lettres dont le style est « SmallCaps » et « AllSmallCaps ». Dans ce cas, la même taille de police est utilisée pour les trois mots.
Texte utilisant des majuscules OpenType
L'exemple de balise suivant montre comment définir des majuscules pour la police Pescadero, à l'aide des propriétés de l'objet Typography. En format « SmallCaps », toute majuscule principale est ignorée.
<Paragraph FontFamily="Pescadero" FontSize="48">
<Run>CAPITALS</Run>
<Run Typography.Capitals="SmallCaps">Capitals</Run>
<Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
L'exemple de code suivant accomplit la même tâche que l'exemple de balise précédent.
MyParagraph.FontFamily = new FontFamily("Pescadero");
MyParagraph.FontSize = 48;
Run run_1 = new Run("CAPITALS ");
MyParagraph.Inlines.Add(run_1);
Run run_2 = new Run("Capitals ");
run_2.Typography.Capitals = FontCapitals.SmallCaps;
MyParagraph.Inlines.Add(run_2);
Run run_3 = new Run("Capitals");
run_3.Typography.Capitals = FontCapitals.AllSmallCaps;
MyParagraph.Inlines.Add(run_3);
MyParagraph.Inlines.Add(new LineBreak());
Propriétés de la classe de typographie
Le tableau suivant répertorie les propriétés, valeurs et paramètres par défaut de l'objet Typography.
Propriété |
Valeur(s) |
Valeur par défaut |
---|---|---|
Valeur numérique - octet |
0 |
|
AllPetiteCaps | AllSmallCaps | Normal | PetiteCaps | SmallCaps | Titling | Unicase |
||
false |
||
false |
||
true |
||
true |
||
Valeur numérique - octet |
0 |
|
false |
||
false |
||
HojoKanji | Jis04 | Jis78 | Jis83 | Jis90 | NlcKanji | Normal | Simplified | Traditional | TraditionalNames |
||
false |
||
false |
||
true |
||
false |
||
false |
||
true |
||
Valeur numérique - octet |
0 |
|
Valeur numérique – octet |
0 |
|
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
false |
||
Inferior | Normal | Ordinal | Ruby | Subscript | Superscript |
Voir aussi
Concepts
Typographie dans Windows Presentation Foundation
Exemple de pack de polices OpenType
Empaquetage de polices avec des applications