Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique décrit l’objet GlyphRun et l’élément Glyphs.
Introduction à GlyphRun
Windows Presentation Foundation (WPF) fournit une prise en charge avancée du texte, y compris le balisage au niveau du glyphe avec un accès direct à Glyphs pour les clients qui souhaitent intercepter et conserver du texte après la mise en forme. Ces fonctionnalités prennent en charge les différentes exigences de rendu de texte dans chacun des scénarios suivants.
Affichage de l’écran des documents au format fixe.
Scénarios d’impression.
Langage XAML (Extensible Application Markup Language) en tant que langage d’imprimante d’appareil.
Enregistreur de documents Microsoft XPS.
Pilotes d’imprimante précédents, sortie d’applications Win32 au format fixe.
Format de spouleur d’impression.
Représentation de document au format fixe, y compris les clients pour les versions précédentes de Windows et d’autres appareils informatiques.
Remarque
Glyphs et GlyphRun sont conçus pour les scénarios de présentation de documents de format fixe et d’impression. WPF fournit plusieurs éléments pour les scénarios de disposition générale et d’interface utilisateur (IU), tels que Label et TextBlock. Pour plus d’informations sur les scénarios de disposition et d’interface utilisateur, consultez la Typographie dans WPF.
Objet GlyphRun
L’objet GlyphRun représente une séquence de glyphes à partir d’un seul visage d’une police unique à une taille unique et avec un style de rendu unique.
GlyphRun inclut à la fois les détails de la police tels que les glyphes Indices et les positions individuelles des glyphes. Il inclut également les points de code Unicode d’origine à partir desquels l’exécution a été générée, les informations de mappage des décalages de mémoire tampon de caractère à glyphe, ainsi que des indicateurs par caractère et par glyphe.
GlyphRun a un FrameworkElement, Glyphs de haut niveau correspondant. Glyphs peut être utilisé dans l’arborescence des éléments et dans le balisage XAML pour représenter la sortie de GlyphRun.
Élément Glyphs
L’élément Glyphs représente la sortie d’un GlyphRun en XAML. La syntaxe de balisage suivante est utilisée pour décrire l’élément Glyphs.
<!-- The example shows how to use a Glyphs object. -->
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<StackPanel Background="PowderBlue">
<Glyphs
FontUri = "C:\WINDOWS\Fonts\TIMES.TTF"
FontRenderingEmSize = "100"
StyleSimulations = "BoldSimulation"
UnicodeString = "Hello World!"
Fill = "Black"
OriginX = "100"
OriginY = "200"
/>
</StackPanel>
</Page>
Les définitions de propriété suivantes correspondent aux quatre premiers attributs de l’exemple de balisage.
| Propriété | Descriptif |
|---|---|
| FontUri | Spécifie un identificateur de ressource : nom de fichier, URI (Web uniform resource identifier) ou référence de ressource dans l’application .exe ou conteneur. |
| FontRenderingEmSize | Spécifie la taille de police dans les unités de surface de dessin (la valeur par défaut est .96 pouces). |
| StyleSimulations | Spécifie les indicateurs des styles gras et italique. |
| BidiLevel | Spécifie le niveau de mise en page bidirectionnel. Les valeurs paires et zéro impliquent une disposition de gauche à droite ; les valeurs impaires impliquent une disposition de droite à gauche. |
Propriété Indices
La propriété Indices est une chaîne de spécifications de glyphe. Lorsqu’une séquence de glyphes forme un seul cluster, la spécification du premier glyphe du cluster est précédée d’une spécification du nombre de glyphes et du nombre de points de code combinés pour former le cluster. La propriété Indices collecte dans une chaîne les propriétés suivantes.
Index de glyphe
Largeurs d’avance de glyphe
Combinaison de vecteurs d’attachement de glyphe
Mappage de cluster à partir de points de code vers des glyphes
Indicateurs de glyphe
Chaque spécification de glyphe a la forme suivante.
[GlyphIndex][,[Advance][,[uOffset][,[vOffset][,[Flags]]]]]
Métriques des glyphes
Chaque glyphe définit des métriques qui spécifient comment elle s’aligne avec d’autres Glyphs. Le graphique suivant définit les différentes qualités typographiques de deux caractères glyphes différents.
diagramme 
Balisage des glyphes
L’exemple de code suivant montre comment utiliser différentes propriétés de l’élément Glyphs en XAML.
<!-- The example shows how to use different property settings of Glyphs objects. -->
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="PowderBlue"
>
<Glyphs
FontUri = "C:\WINDOWS\Fonts\ARIAL.TTF"
FontRenderingEmSize = "36"
StyleSimulations = "ItalicSimulation"
UnicodeString = "Hello World!"
Fill = "SteelBlue"
OriginX = "50"
OriginY = "75"
/>
<!-- "Hello World!" with default kerning -->
<Glyphs
FontUri = "C:\WINDOWS\Fonts\ARIAL.TTF"
FontRenderingEmSize = "36"
UnicodeString = "Hello World!"
Fill = "Maroon"
OriginX = "50"
OriginY = "150"
/>
<!-- "Hello World!" with explicit character widths for proportional font -->
<Glyphs
FontUri = "C:\WINDOWS\Fonts\ARIAL.TTF"
FontRenderingEmSize = "36"
UnicodeString = "Hello World!"
Indices = ",80;,80;,80;,80;,80;,80;,80;,80;,80;,80;,80"
Fill = "Maroon"
OriginX = "50"
OriginY = "225"
/>
<!-- "Hello World!" with fixed-width font -->
<Glyphs
FontUri = "C:\WINDOWS\Fonts\COUR.TTF"
FontRenderingEmSize = "36"
StyleSimulations = "BoldSimulation"
UnicodeString = "Hello World!"
Fill = "Maroon"
OriginX = "50"
OriginY = "300"
/>
<!-- "Open file" without "fi" ligature -->
<Glyphs
FontUri = "C:\WINDOWS\Fonts\TIMES.TTF"
FontRenderingEmSize = "36"
StyleSimulations = "BoldSimulation"
UnicodeString = "Open file"
Fill = "SlateGray"
OriginX = "400"
OriginY = "75"
/>
<!-- "Open file" with "fi" ligature -->
<Glyphs
FontUri = "C:\WINDOWS\Fonts\TIMES.TTF"
FontRenderingEmSize = "36"
StyleSimulations = "BoldSimulation"
UnicodeString = "Open file"
Indices = ";;;;;(2:1)191"
Fill = "SlateGray"
OriginX = "400"
OriginY = "150"
/>
</Canvas>
Voir aussi
- Typographie dans WPF
- Documents dans WPF
- Texte
.NET Desktop feedback