GlyphRun Nesnesi ve Karakter Öğesine Giriş
Bu konu, GlyphRun nesnesini ve öğesini açıklar Glyphs .
GlyphRun 'a giriş
Windows Presentation Foundation (WPF), Glyphs biçimlendirmeden sonra metni kesme ve kalıcı hale getirmek isteyen müşterilere doğrudan erişim ile glif düzeyinde biçimlendirme dahil gelişmiş metin desteği sağlar. Bu özellikler, aşağıdaki senaryolardan her birinde farklı metin işleme gereksinimleri için kritik destek sağlar.
Sabit biçimli belgelerin ekran görüntüsü.
Yazdırma senaryoları.
Cihaz yazıcı dili olarak Extensible Application Markup Language (XAML).
Microsoft XPS Belge Yazıcısı.
Önceki yazıcı sürücüleri, Win32 uygulamalarından sabit biçime çıkış.
Yazdırma kuyruğu biçimi.
Windows ve diğer bilgi işlem cihazlarının önceki sürümleri için istemciler dahil olmak üzere sabit biçimli belge temsili.
Not
Glyphs ve GlyphRun sabit biçimli belge sunumu ve yazdırma senaryoları için tasarlanmıştır. Windows Presentation Foundation (WPF), ve gibi genel düzen ve kullanıcı arabirimi (uı) senaryoları için çeşitli öğeler Label sağlar TextBlock . Düzen ve Kullanıcı arabirimi senaryoları hakkında daha fazla bilgi için WPF 'de tipografi'e bakın.
GlyphRun nesnesi
Nesnesi tek bir GlyphRun yazı tipindeki tek bir yüzden ve tek bir işleme stiliyle bir karakter dizisini temsil eder.
GlyphRun glif ve ayrı karakter konumları gibi yazı tipi ayrıntılarını içerir Indices . Ayrıca, çalıştırmanın oluşturulduğu orijinal Unicode kod noktalarını, karakter-karakter arabelleği fark eşleme bilgilerini ve karakter başına ve karakter başına bayrakları da içerir.
GlyphRun , karşılık gelen bir üst düzeydir FrameworkElementGlyphs . Glyphs öğe ağacında ve XAML biçimlendirmesinde çıktıyı temsil etmek için kullanılabilir GlyphRun .
Glyphs öğesi
GlyphsÖğesı xaml içindeki çıktısını temsil eder GlyphRun . Aşağıdaki biçimlendirme sözdizimi, öğesini tanımlamakta kullanılır 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>
Aşağıdaki özellik tanımları, örnek biçimlendirmesinde ilk dört özniteliğe karşılık gelir.
| Özellik | Açıklama |
|---|---|
| FontUri | Kaynak tanımlayıcısını belirtir: dosya adı, Web Tekdüzen Kaynak tanımlayıcısı (URI) veya uygulama .exe veya kapsayıcısında kaynak başvurusu. |
| FontRenderingEmSize | Çizim yüzeyi birimlerinde yazı tipi boyutunu belirtir (varsayılan. 96 inç). |
| StyleSimulations | Kalın ve Italik stiller için bayrakları belirtir. |
| BidiLevel | Çift yönlü düzen düzeyini belirtir. Çift sayılı ve sıfır değerler soldan sağa düzeni göstermez; tek sayılı değerler sağdan sola düzeni göstermez. |
Dizinler özelliği
IndicesÖzelliği, glif belirtimlerinin bir dizesidir. Bir karakter dizisinin tek bir küme olarak ayarlandığı yerlerde, kümedeki ilk glifin belirtimi, küme oluşturmak için kaç karakter ve kaç tane kod noktasının birleştirildiği hakkında bir belirtimdir. IndicesÖzelliği, aşağıdaki özellikleri bir dizede toplar.
Glif dizinleri
Glif öncelikli genişlikleri
Glif eki vektörlerini birleştirme
Kod noktalarından karakterlere karakter eşleme
Glif bayrakları
Her glif belirtiminin aşağıdaki biçimi vardır.
[GlyphIndex][,[Advance][,[uOffset][,[vOffset][,[Flags]]]]]
Glif ölçümleri
Her glif, nasıl hizalanacağını belirleyen ölçümleri tanımlar Glyphs . Aşağıdaki grafik iki farklı karakter karakterlerinin çeşitli tipografik kalitelerini tanımlar.

Glif biçimlendirmesi
Aşağıdaki kod örneğinde, XAML 'de öğesinin çeşitli özelliklerinin nasıl kullanılacağı gösterilmektedir Glyphs .
<!-- 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>