Introduzione all'oggetto GlyphRun e all'elemento Glyphs
In questo argomento vengono descritti l'oggetto GlyphRun e l'elemento Glyphs.
Introduzione a GlyphRun
Windows Presentation Foundation (WPF) offre supporto avanzato per il testo, incluso il markup dettagliato a livello di glifo con accesso diretto al codice Glyphs per i clienti che vogliono intercettare e mantenere il testo dopo la formattazione. Queste funzionalità forniscono supporto critico per i diversi requisiti di rendering del testo in ognuno degli scenari seguenti.
Visualizzazione di documenti a formato fisso.
Scenari di stampa.
XAML (Extensible Application Markup Language) come linguaggio di stampa per dispositivi.
Microsoft XPS Document Writer.
I driver precedenti della stampante fornivano l'output delle applicazioni Win32 in formato fisso.
Formato coda di stampa.
Rappresentazione di documenti in formato fisso, inclusi i client per le versioni precedenti di Windows e altri dispositivi di elaborazione.
Nota
Glyphs e GlyphRun sono progettati per scenari di presentazione e stampa di documenti in formato fisso. WPF offre diversi elementi per scenari generali di layout e interfaccia utente, ad esempio Label e TextBlock. Per altre informazioni sugli scenari di layout e UI, vedere la Tipografia in WPF.
L'Oggetto GlyphRun
L'oggetto GlyphRun rappresenta una sequenza di glifi di un singolo tipo di carattere a una singola dimensione e con un singolo stile di rendering.
GlyphRun include sia i dettagli del tipo di carattere, come i glifi Indices, sia le posizioni individuali dei glifi. Includere anche i punti di codice Unicode originali da cui è stata generata l'esecuzione, le informazioni sul mapping dell'offset del buffer da carattere a glifo, e i flag per carattere e per glifo.
GlyphRun ha un FrameworkElemente Glyphsad alto livello corrispondenti. Glyphs può essere usato nell'albero degli elementi e nel markup XAML per rappresentare il risultato GlyphRun.
Elemento Glifi
L'elemento Glyphs rappresenta l'output di un GlyphRun in XAML. La sintassi di markup seguente viene usata per descrivere l'elemento 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>
Le definizioni di proprietà seguenti corrispondono ai primi quattro attributi nel markup di esempio.
Proprietà | Descrizione |
---|---|
FontUri | Specifica un identificatore di risorsa: nome file, URI (Web Uniform Resource Identifier) o riferimento alle risorse nell'applicazione .exe o contenitore. |
FontRenderingEmSize | Specifica le dimensioni del carattere nelle unità di superficie di disegno (il valore predefinito è 96 pollici). |
StyleSimulations | Specifica i flag per gli stili grassetto e corsivo. |
BidiLevel | Specifica il livello di layout bidirezionale. I valori pari e zero implicano il layout da sinistra a destra; i valori con numeri dispari implicano il layout da destra a sinistra. |
Proprietà Indici
La proprietà Indices è una stringa di specifiche di glifi. Dove una sequenza di glifi forma un singolo cluster, la specifica del primo glifo nel cluster è preceduta da una specifica del numero di glifi e del numero di punti di codice combinati per formare il cluster. La proprietà Indices raccoglie in una stringa le proprietà seguenti.
Indici del glifo
Larghezze di avanzamento dei glifi
Combinazione dei vettori di attacco dei glifi
Mappatura del cluster da punti di codice a glifi
Bandiere del glifo
Ogni specifica del glifo ha il formato seguente.
[GlyphIndex][,[Advance][,[uOffset][,[vOffset][,[Flags]]]]]
Metriche del glifo
Ogni glifo definisce le metriche che specificano la modalità di allineamento con altre Glyphs. L'immagine seguente definisce le varie qualità tipografiche di due diversi caratteri glifi.
Marcatura dei glifi
L'esempio di codice seguente illustra come usare varie proprietà dell'elemento Glyphs in 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>
Vedere anche
.NET Desktop feedback