Introduction à l'objet GlyphRun et à l'élément Glyphs
Mise à jour : novembre 2007
Cette rubrique décrit l'objet GlyphRun et l'élément Glyphs.
Cette rubrique comprend les sections suivantes.
- Introduction à GlyphRun
- Objet GlyphRun
- Élément Glyphs
- Métrique de glyphe
- Balise de glyphes
- Rubriques connexes
Introduction à GlyphRun
Windows Presentation Foundation (WPF) fournit une prise en charge de texte avancée comprenant une balise de niveau glyphe avec accès direct au Glyphs pour les clients qui souhaitent intercepter et rendre le texte persistant après la mise en forme. Ces fonctionnalités fournissent une prise en charge critique pour les différentes conditions de rendu de texte requises dans chacun des scénarios suivants.
Affichage sur écran de documents à format fixe.
Scénarios d'impression.
Le XAML (Extensible Application Markup Language) comme langage du périphérique d'impression.
Microsoft XPS Document Writer.
Les pilotes d'imprimante précédents, sortie d'applications Win32 au format fixe.
Format d'impression de spoule.
Représentation de document à format fixe, y compris les clients des versions antérieures de Windows et d'autres périphériques informatiques.
Remarque : |
---|
Glyphs et GlyphRun sont conçus pour la présentation de document à format fixe et les scénarios d'impression. Windows Presentation Foundation (WPF) fournit plusieurs éléments pour la présentation générale et les scénarios d'interface utilisateur (UI) tels que Label et TextBlock. Pour plus d'informations sur la présentation et les scénarios d'interface utilisateur, consultez Typographie dans Windows Presentation Foundation. |
Objet GlyphRun
L'objet GlyphRun représente une séquence de glyphes à partir d'un type unique 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 le glyphe Indices, et les positions de glyphes individuelles. Il inclut également les points de code Unicode d'origine à partir desquels a été générée l'exécution, les informations de mappage offset du tampon caractère-à-glyphe et les indicateurs par-caractères et par-glyphes.
GlyphRun a un FrameworkElement, Glyphs de niveau supérieur correspondant. Glyphs peut être utilisé dans l'arborescence d'éléments et dans le balisage XAML pour représenter la sortie 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="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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 dans l'exemple de balisage.
Propriété |
Description |
---|---|
Spécifie un identificateur de ressource : nom de fichier, URI (Uniform Resource Identifier) Web ou référence à une ressource dans l'application .exe ou le conteneur. |
|
Indique la taille de police dans les unités de surface de dessin (la valeur par défaut est 0,96 pouces). |
|
Spécifie des indicateurs pour les styles gras et italique. |
|
Spécifie le niveau de mise en page bidirectionnel. Des valeurs paires et nulles impliquent une mise en page de gauche à droite ; des valeurs impaires impliquent une mise en page de droite à gauche. |
Propriété d'indices
La propriété Indices est une chaîne de spécifications de glyphe. Si une séquence de formes de glyphes a un cluster unique, la spécification du premier glyphe du cluster est précédée par une spécification indiquant le nombre de glyphes et de points de code qui sont combinés pour former le cluster. La propriété Indices recueille dans une chaîne les propriétés suivantes.
Indices de glyphe
Largeurs d'avance de glyphe
Combinaison de vecteurs d'attachements de glyphe
Mappage de cluster des points de code aux glyphes
Indicateurs de glyphes
Chaque spécification de glyphe se présente au format suivant.
[GlyphIndex][,[Advance][,[uOffset][,[vOffset][,[Flags]]]]]
Métrique de glyphe
Chaque glyphe définit des métriques qui spécifient comment il va s'aligner sur d'autres Glyphs. Le graphique suivant définit les diverses qualités typographiques de deux caractères de glyphe différents.
Balise de glyphes
L'exemple de code suivant indique comment utiliser diverses propriétés de l'élément Glyphs en XAML.
<!-- The example shows how to use different property settings of Glyphs objects. -->
<Canvas
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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
Concepts
Typographie dans Windows Presentation Foundation