Úvod do objektu GlyphRun a elementu Glyph
Toto téma popisuje GlyphRun objekt a Glyphs prvek.
Úvod do GlyphRun
Windows Presentation Foundation (WPF) poskytuje pokročilou podporu textu včetně značek na úrovni glyph s přímým přístupem pro Glyphs zákazníky, kteří chtějí zachytit a zachovat text po formátování. Tyto funkce poskytují důležitou podporu pro různé požadavky na vykreslování textu v každém z následujících scénářů.
Zobrazení obrazovky dokumentů s pevným formátem
Scénáře tisku
Jazyk XAML (Extensible Application Markup Language) jako jazyk tiskárny zařízení
Microsoft XPS Document Writer.
Předchozí ovladače tiskárny, výstup z aplikací Win32 do pevného formátu.
Formát zařazování tisku
Reprezentace dokumentů s pevným formátem, včetně klientů pro předchozí verze Windows a jiných výpočetních zařízení.
Poznámka:
Glyphs a GlyphRun jsou navržené pro prezentace dokumentů s pevným formátem a scénáře tisku. WPF poskytuje několik prvků pro obecné scénáře rozložení a uživatelského rozhraní (UI), jako Label jsou a TextBlock. Další informace o scénářích rozložení a uživatelského rozhraní najdete v typografii WPF.
Objekt GlyphRun
Objekt GlyphRun představuje posloupnost glyfů z jedné tváře jednoho písma v jedné velikosti a s jedním stylem vykreslování.
GlyphRun obsahuje jak podrobnosti písma, například glyf Indices , tak jednotlivé pozice glyfů. Obsahuje také původní body kódu Unicode, které spuštění bylo generováno z informací o mapování posunu vyrovnávací paměti znak-to-glyph, a příznaky pro jednotlivé znaky a znaky na glyf.
GlyphRun má odpovídající vysokou úroveň FrameworkElement, Glyphs. Glyphs lze použít ve stromu elementů a v kódu XAML k reprezentaci GlyphRun výstupu.
The Glyphs Element
Element Glyphs představuje výstup jazyka GlyphRun XAML. K popisu elementu Glyphs se používá následující syntaxe značek.
<!-- 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>
Následující definice vlastností odpovídají prvním čtyř atributům v ukázkové značek.
Vlastnost | Popis |
---|---|
FontUri | Určuje identifikátor prostředku: název souboru, identifikátor URI (Web Uniform Resource Identifier) nebo odkaz na prostředek v souboru .exe nebo kontejneru aplikace. |
FontRenderingEmSize | Určuje velikost písma v jednotkách plochy výkresu (výchozí hodnota je 0,96 palců). |
StyleSimulations | Určuje příznaky pro tučné styly a kurzívu. |
BidiLevel | Určuje obousměrnou úroveň rozložení. Sudé a nulové hodnoty znamenají rozložení zleva doprava; Liché číselné hodnoty znamenají rozložení zprava doleva. |
Vlastnost Indexy
Vlastnost Indices je řetězec specifikace glyph. Kde posloupnost glyfů tvoří jeden cluster, předchází specifikace prvního glyfu v clusteru specifikaci, kolik glyfů a kolik bodů kódu se zkombinuje pro vytvoření clusteru. Vlastnost Indices shromažďuje v jednom řetězci následující vlastnosti.
Indexy glyfů
Pokročilé šířky glyfů
Kombinování vektorů přílohy glyph
Mapování clusteru z bodů kódu na glyfy
Příznaky Glyph
Každá specifikace glyphu má následující tvar.
[GlyphIndex][,[Advance][,[uOffset][,[vOffset][,[Flags]]]]]
Metriky Glyph
Každý glyf definuje metriky, které určují, jak je v souladu s ostatními Glyphs. Následující obrázek definuje různé typografické vlastnosti dvou různých znaků glyf.
Glyfy – revize
Následující příklad kódu ukazuje, jak používat různé vlastnosti elementu Glyphs v 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>
Viz také
.NET Desktop feedback