Introduction à l'objet GlyphRun et à l'élément Glyphs
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, notamment le balisage au niveau du glyphe avec un accès direct aux Glyphs clients qui souhaitent intercepter et conserver du texte après la mise en forme. Ces fonctionnalités offrent une prise en charge critique pour les différentes spécifications de rendu de texte propres à chacun des scénarios suivants.
Affichage à l’écran de documents de 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 des applications Win32 au format fixe.
Format de mise en attente 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 (UI) 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 d’un seul visage d’une seule police à une taille unique et avec un style de rendu unique.
GlyphRun inclut les deux détails de police tels que les glyphes Indices et les positions de glyphe individuelle. Il inclut également les points de code Unicode d’origine que l’exécution a été généré à partir des informations de mappage de décalage de mémoire tampon de caractère à glyphe, ainsi que des indicateurs par caractère et par glyphe.
GlyphRun a un haut niveau FrameworkElementcorrespondant , Glyphs. Glyphs peut être utilisé dans l’arborescence des éléments et dans le balisage XAML pour représenter la GlyphRun sortie.
Élément Glyphs
L’élément Glyphs représente la sortie d’un GlyphRun fichier 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és suivantes correspondent aux quatre premiers attributs de l’exemple de balisage.
Propriété | Description |
---|---|
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 en unités de surface de dessin (la valeur par défaut est 0,96 pouce). |
StyleSimulations | Spécifie les indicateurs des styles gras et italique. |
BidiLevel | Spécifie le niveau de disposition bidirectionnelle. Les valeurs paires et nulles impliquent une disposition de gauche à droite ; les valeurs impaires impliquent une disposition de droite à gauche. |
Propriété Indices
La Indices propriété est une chaîne de spécifications de glyphe. Quand une séquence de glyphes forme un groupement unique, la spécification du premier glyphe du groupement est précédée d’une spécification qui indique le nombre de glyphes et de points de code qui se combinent pour former le regroupement. La Indices propriété 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 groupement des points de code aux glyphes
Indicateurs de glyphe
Chaque spécification de glyphe présente la forme suivante.
[GlyphIndex][,[Advance][,[uOffset][,[vOffset][,[Flags]]]]]
Métriques de glyphe
Chaque glyphe définit des métriques qui spécifient son alignement avec d’autres Glyphs. Le graphique suivant définit les diverses qualités typographiques de deux glyphes de caractères différents.
Balisage Glyphs
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
.NET Desktop feedback