Introduzione all'oggetto GlyphRun e all'elemento Glyphs
Aggiornamento: novembre 2007
In questo argomento vengono descritti l'oggetto GlyphRun e l'elemento Glyphs.
Nel presente argomento sono contenute le seguenti sezioni.
- Introduzione a GlyphRun
- Oggetto GlyphRun
- Elemento Glyphs
- Metrica del glifo
- Markup dei glifi
- Argomenti correlati
Introduzione a GlyphRun
In Windows Presentation Foundation (WPF) viene fornito un supporto avanzato per il testo, incluso il markup a livello di glifo con accesso diretto a Glyphs per i clienti che desiderano intercettare e salvare in modo permanente il testo dopo la formattazione. Queste funzionalità forniscono un supporto critico per i diversi requisiti del rendering di testo in ognuno dei seguenti scenari.
Visualizzazione di documenti con formato fisso.
Scenari di stampa.
Extensible Application Markup Language (XAML) come linguaggio della stampante.
Processo di scrittura documenti XPS Microsoft.
Driver della stampante precedenti, restituiti dalle applicazioni Win32 nel formato fisso.
Formato di spooling della stampa.
Rappresentazione di documenti con formato fisso, inclusi i client per versioni precedenti di Windows e altri dispositivi di elaborazione.
Nota
Gli oggetti Glyphs e GlyphRun sono progettati per la presentazione di documenti con formato fisso e scenari di stampa. In Windows Presentation Foundation (WPF) vengono forniti diversi elementi per il layout generale e gli scenari dell'interfaccia utente, ad esempio Label e TextBlock. Per ulteriori informazioni sul layout e sugli scenari dell'interfaccia utente, vedere Funzionalità tipografiche di Windows Presentation Foundation.
Oggetto GlyphRun
L'oggetto GlyphRun rappresenta una sequenza di glifi di una singola icona di un unico carattere in una singola dimensione e con un unico stile di rendering.
L'oggetto GlyphRun include i dettagli relativi ai tipi di carattere quali la proprietà Indices dei glifi e le posizioni dei singoli glifi. Include, inoltre, gli elementi di codice Unicode originali da cui è stata generata l'esecuzione, le informazioni sul mapping dell'offset del buffer tra carattere e glifo e i flag per carattere e per glifo.
L'oggetto GlyphRun dispone di un oggetto FrameworkElement, Glyphs corrispondente di livello elevato. L'oggetto Glyphs può essere utilizzato nella struttura ad albero dell'elemento e nel markup XAML per rappresentare l'output GlyphRun.
Elemento Glyphs
L'elemento Glyphs rappresenta l'output di GlyphRun in XAML. La sintassi di markup seguente viene utilizzata per descrivere l'elemento 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>
Le definizioni delle proprietà seguenti corrispondono ai primi quattro attributi del markup di esempio.
Proprietà |
Descrizione |
---|---|
Specifica un identificatore di risorsa: nome file, Uniform Resource Identifier (URI) del Web o riferimento di risorsa nell'applicazione con estensione exe o nel contenitore. |
|
Specifica la dimensione del carattere nelle unità della superficie di disegno (l'impostazione predefinita è 0,96 pollici). |
|
Specifica i flag per gli stili grassetto e corsivo. |
|
Specifica il livello di layout bidirezionale. I valori pari e lo zero implicano un layout da sinistra a destra, mentre i valori dispari implicano un layout da destra a sinistra. |
Proprietà degli indici
La proprietà Indices è una stringa di specifiche del glifo. Quando una sequenza di glifi forma un cluster singolo, la specifica del primo glifo nel cluster viene preceduta da una specifica del numero di glifi e di elementi di codice combinati per formare il cluster. La proprietà Indices raccoglie in una stringa le seguenti proprietà.
Indici del glifo
Distanze di avanzamento del glifo
Combinazione dei vettori di connessione dei glifi
Mapping del cluster tra gli elementi di codice e i glifi
Flag del glifo
Ciascuna specifica del glifo presenta il formato seguente.
[GlyphIndex][,[Advance][,[uOffset][,[vOffset][,[Flags]]]]]
Metrica del glifo
Ciascun glifo definisce la metrica che ne specifica la modalità di allineamento con altri oggetti Glyphs. Nell'immagine seguente vengono definite le varie qualità tipografiche di due diversi caratteri glifi.
Markup dei glifi
Nell'esempio di codice seguente viene illustrato come utilizzare le diverse proprietà dell'elemento Glyphs in 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>
Vedere anche
Concetti
Funzionalità tipografiche di Windows Presentation Foundation