Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här avsnittet beskriver GlyphRun objektet och elementet Glyphs .
Introduktion till GlyphRun
Windows Presentation Foundation (WPF) ger avancerat textstöd, inklusive markering på glyph-nivå med direkt åtkomst till Glyphs för kunder som vill fånga upp och bevara text efter formatering. Dessa funktioner ger kritiskt stöd för de olika kraven för textrendering i vart och ett av följande scenarier.
Skärmvisning av dokument med fast format.
Utskriftsscenarier.
XAML (Extensible Application Markup Language) som ett enhetsskrivarespråk.
Microsoft XPS-dokumentskrivare.
Tidigare skrivardrivrutiner, utdata från Win32-program till fast format.
Utskriftspoolformat.
Dokumentrepresentation med fast format, inklusive klienter för tidigare versioner av Windows och andra databehandlingsenheter.
Anmärkning
Glyphs och GlyphRun är utformade för scenarier med fast format för dokumentpresentation och utskrift. WPF innehåller flera element för scenarier med allmän layout och användargränssnitt(UI), till exempel Label och TextBlock. Mer information om layout- och användargränssnittsscenarier finns i Typografi i WPF.
GlyphRun-objektet
Objektet GlyphRun representerar en sekvens med glyfer från ett enda ansikte med ett enda teckensnitt i en enda storlek och med ett enda återgivningsformat.
GlyphRun innehåller både teckensnittsinformation som glyph Indices - och enskilda glyph-positioner. Den innehåller också de ursprungliga Unicode-kodpunkterna som körningen genererades från, information om mappning av buffertförskjutningar från tecken till glyf, samt flaggor för varje tecken och glyf.
GlyphRun har motsvarande högnivå FrameworkElement, Glyphs. Glyphs kan användas i elementträdet och i XAML-markering för att representera GlyphRun utdata.
Glyphs-elementet
Elementet Glyphs representerar utdata från en GlyphRun i XAML. Följande markeringssyntax används för att beskriva elementet 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>
Följande egenskapsdefinitioner motsvarar de första fyra attributen i exempelmarkeringen.
| Fastighet | Beskrivning |
|---|---|
| FontUri | Anger en resursidentifierare: filnamn, webbuniform resursidentifierare (URI) eller resursreferens i programmet .exe eller containern. |
| FontRenderingEmSize | Anger teckenstorleken i ritytanheter (standardvärdet är 0,96 tum). |
| StyleSimulations | Anger flaggor för fetstil och kursiv stil. |
| BidiLevel | Anger dubbelriktad layoutnivå. Jämnt numrerade och nollvärden innebär vänster-till-höger-layout. udda talvärden innebär layout från höger till vänster. |
Indexegenskap
Egenskapen Indices är en sträng med glyfspecifikationer. Om en sekvens med glyfer bildar ett enda kluster föregås specifikationen av det första glyfen i klustret av en specifikation av hur många glyfer och hur många kodpunkter som kombineras för att bilda klustret. Egenskapen Indices samlar in följande egenskaper i en sträng.
Glyph-index
Glyfförskjutningsbredder
Kombinera vektorer för glyph-bifogade filer
Klustermappning från kodpunkter till glyfer
Glyph-flaggor
Varje glyphspecifikation har följande formulär.
[GlyphIndex][,[Advance][,[uOffset][,[vOffset][,[Flags]]]]]
Glyph-mått
Varje glyf definierar mått som anger hur det överensstämmer med andra Glyphs. Följande bild definierar de olika typografiska egenskaperna för två olika tecken.
Glyphs-notation
I följande kodexempel visas hur du använder olika egenskaper för elementet Glyphs i 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>
Se även
.NET Desktop feedback