Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit onderwerp worden het GlyphRun-object en het Glyphs-element beschreven.
Inleiding tot GlyphRun
Windows Presentation Foundation (WPF) biedt geavanceerde tekstondersteuning, waaronder markeringen op glyph-niveau met directe toegang tot Glyphs voor klanten die tekst willen onderscheppen en behouden na opmaak. Deze functies bieden essentiële ondersteuning voor de verschillende vereisten voor tekstweergave in elk van de volgende scenario's.
Schermweergave van documenten met vaste indeling.
Scenario's afdrukken.
Extensible Application Markup Language (XAML) als printertaal voor apparaten.
Microsoft XPS Document Writer.
Eerdere printerstuurprogramma's zorgden voor de uitvoer van Win32-toepassingen naar het vaste formaat.
Afdrukspool-indeling.
Documentweergave met vaste indeling, waaronder clients voor eerdere versies van Windows en andere computerapparaten.
Opmerking
Glyphs en GlyphRun zijn ontworpen voor documentpresentaties en afdrukscenario's met vaste opmaak. WPF biedt verschillende elementen voor algemene indeling en gebruikersinterfacescenario's zoals Label en TextBlock. Zie de Typografie in WPF-voor meer informatie over indelings- en ui-scenario's.
Het GlyphRun-object
Het GlyphRun-object vertegenwoordigt een reeks glyphs van één gezicht van één lettertype op één grootte en met één weergavestijl.
GlyphRun bevat zowel tekendetails als glyph-Indices en afzonderlijke glyph-posities. Het bevat ook de oorspronkelijke Unicode-codepunten waaruit de uitvoering is gegenereerd, informatie over de offset mapping van teken naar glyph in de buffer, en vlaggen per teken en per glyph.
GlyphRun heeft een overeenkomend hoog niveau FrameworkElement, Glyphs. Glyphs kan worden gebruikt in de elementstructuur en in XAML-markering voor de voorstelling van GlyphRun-uitvoer.
Het element Glyphen
Het element Glyphs vertegenwoordigt de uitvoer van een GlyphRun in XAML. De volgende syntaxis voor markeringen wordt gebruikt om het Glyphs element te beschrijven.
<!-- 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>
De volgende eigenschapsdefinities komen overeen met de eerste vier kenmerken in de voorbeeldmarkeringen.
| Vastgoed | Beschrijving |
|---|---|
| FontUri | Hiermee geeft u een resource-id: bestandsnaam, URI (Web Uniform Resource Identifier) of resourcereferentie in de toepassing .exe of container. |
| FontRenderingEmSize | Hiermee specifieert u de lettergrootte in tekenoppervlakeenheden (standaard is 0,96 inch). |
| StyleSimulations | Hiermee specificeert u opties voor vetgedrukte en cursieve stijlen. |
| BidiLevel | Hiermee geeft u het indelingsniveau in twee richtingen op. Even genummerde en nulwaarden impliceren de indeling van links naar rechts; oneven waarden impliceren de indeling van rechts naar links. |
Indices-eigenschap
De eigenschap Indices is een reeks glyph-specificaties. Wanneer een reeks glyphs één cluster vormt, wordt de specificatie van het eerste symbool in het cluster voorafgegaan door een specificatie van het aantal glyphs en hoeveel codepunten het cluster vormen. De eigenschap Indices verzamelt in één tekenreeks de volgende eigenschappen.
Glyph-indexen
Breedte van glyphvoorloop
Glyph-bijlagevectoren combineren
Clustertoewijzing van codepunten naar glyphs
Glyph-vlaggen
Elke glyph-specificatie heeft het volgende formulier.
[GlyphIndex][,[Advance][,[uOffset][,[vOffset][,[Flags]]]]]
Glyph-metrieken
Elke glyph definieert metrische gegevens die aangeven hoe deze wordt uitgelijnd met andere Glyphs. In de volgende afbeelding worden de verschillende typografische kwaliteiten van twee verschillende tekens gedefinieerd.
Glyphs-opmaak
In het volgende codevoorbeeld ziet u hoe u verschillende eigenschappen van het element Glyphs in XAML gebruikt.
<!-- 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>
Zie ook
.NET Desktop feedback