FontFamily Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İlgili yazı tipi ailesini temsil eder.
public ref class FontFamily
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.FontFamilyConverter))]
[System.Windows.Localizability(System.Windows.LocalizationCategory.Font)]
public class FontFamily
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.FontFamilyConverter))>]
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Font)>]
type FontFamily = class
Public Class FontFamily
- Devralma
-
FontFamily
- Öznitelikler
Açıklamalar
Yazı tipi ailesi, "Times New Roman" gibi aynı aile adını paylaşan ancak özelliklerde farklılık gösteren bir yazı tipleri kümesidir. Bu özellik farklılıkları, italik gibi ve Stylekalın gibi ögelerini içerirWeight.
"Times New Roman" yazı tipi ailesinin üyesi olan yazı biçimleri örneği
ve Buttongibi TextBlock kullanıcı arabirimi (UI) öğelerinin çoğu, denetimin FontFamily metin içeriği için yazı tipi belirtmek için kullanılabilecek bir özellik sağlar. Bu özelliği bir FontFamily değerle ayarlayarak yazı tipini tanımlarsınız. Aşağıdaki örneklerde, Genişletilebilir Uygulama Biçimlendirme Dili (XAML) ve kodda bir yazı tipine başvurma gösterilmektedir.
myTextBlock.FontFamily = new FontFamily("Comic Sans MS");
myTextBlock.FontFamily = New FontFamily("Comic Sans MS")
<TextBlock FontFamily="Comic Sans MS">Hello, world</TextBlock>
Yukarıdaki örnekte, "Comic Sans MS" adlı başvuruda bulunılan yazı tipine kolay adıyla başvurulur. Ayrıca bu örnekte yazı tipinin sistem yazı tipi koleksiyonunda olduğu varsayılır.
Alternatif Dizinlerde Yazı Tiplerini Belirtme
Bir Windows Presentation Foundation (WPF) uygulaması, yazı tipi başvurularını çözümlemek için sistem yazı tipi koleksiyonunu içeren dizin dışında bir dizin belirtebilir. Yazı tipinin kolay adı, aşağıdaki Genişletilebilir Uygulama Biçimlendirme Dili (XAML) ve kod örneklerinde gösterildiği gibi yazı tipi başvurusunu çözümlemek için mutlak bir tekdüzen kaynak tanımlayıcısı (URI) değeri belirtebilir.
// Create a new FontFamily object, using an absolute URI reference.
myTextBlock.FontFamily = new FontFamily("file:///d:/MyFonts/#Pericles Light");
' Create a new FontFamily object, using an absolute URI reference.
myTextBlock.FontFamily = New FontFamily("file:///d:/MyFonts/#Pericles Light")
<TextBlock FontFamily="file:///d:/MyFonts/#Pericles Light">
Aegean Sea
</TextBlock>
Yazı tipinin kolay adı, yazı tipi başvuruyu çözümlemek için temel URI gerektiren göreli bir URI değeri de belirtebilir. BaseUri nesnesinin FontFamily özelliği temel URI değerine karşılık gelir. Aşağıdaki kod örneği, temel URI değeri ve göreli URI değerinden oluşan bir yazı tipi başvurusunun nasıl oluşturulacağını gösterir.
// Create a new FontFamily object, using a base URI reference and a relative URI reference.
myTextBlock.FontFamily = new FontFamily(new Uri("file:///d:/MyFonts/"), "./#Pericles Light");
' Create a new FontFamily object, using a base URI reference and a relative URI reference.
myTextBlock.FontFamily = New FontFamily(New Uri("file:///d:/MyFonts/"), "./#Pericles Light")
Uygulamanın bir parçası olarak paketlenmiş bir yazı tipine başvururken temel URI değeri kullanabilirsiniz. Örneğin, temel URI değeri, uygulama kaynakları olarak paketlenmiş yazı tiplerine başvurmanızı sağlayan bir "pack://application" URI'sine sahip olabilir. Aşağıdaki kod örneğinde, temel URI değerinden ve göreli URI değerinden oluşan bir yazı tipi başvurusu gösterilmektedir.
// The font resource reference includes the base URI reference (application directory level),
// and a relative URI reference.
myTextBlock.FontFamily = new FontFamily(new Uri("pack://application:,,,/"), "./resources/#Pericles Light");
' The font resource reference includes the base URI reference (application directory level),
' and a relative URI reference.
myTextBlock.FontFamily = New FontFamily(New Uri("pack://application:,,,/"), "./resources/#Pericles Light")
FontFamily bir işaretlemede öznitelik olarak belirtildiğinde, temel URI değeri her zaman örtülür; değeri XAML sayfasının URI'dir. Örtük temel URI değeri, yazı tipinin konumunu elde etmek için kolay ad dizesindeki göreli URI değeriyle birlikte kullanılır. Aşağıdaki Genişletilebilir Uygulama İşaretleme Dili (XAML) örneğinde, göreli URI değerinin temel URI değerinin "geçerli klasörde" anlamına gelen "./" gösterimini kullandığına dikkat edin.
<TextBlock FontFamily="./resources/#Pericles Light">
Aegean Sea
</TextBlock>
WPF uygulaması yazı tiplerini içerik öğesi, kaynak öğesi veya kitaplık kaynak öğesi olarak paketleyebilir. Daha fazla bilgi için bkz . Yazı Tiplerini Uygulamalarla Paketleme.
Yazı Tipi Geri Dönüşü
Yazı tipi geri dönüşü, istemci uygulaması tarafından seçilen yazı tipi dışında bir yazı tipinin otomatik olarak değiştirilmesini ifade eder. Yazı tipi geri dönüşünü çağırmanın iki birincil nedeni vardır:
İstemci uygulaması tarafından belirtilen yazı tipi sistemde yok.
İstemci uygulaması tarafından belirtilen yazı tipi, metin işlemek için gereken glifleri içermez.
WPF'de yazı tipi geri dönüş mekanizması, yedek yazı tipi olarak varsayılan geri dönüş yazı tipi ailesini ("Genel Kullanıcı Arabirimi") kullanır. Bu yazı tipi, dosya adı "GlobalUserInterface.CompositeFont" olan bileşik bir yazı tipi olarak tanımlanır. Bileşik yazı tipleri hakkında daha fazla bilgi için bu konudaki Bileşik Yazı Tipleri bölümüne bakın.
WPF yazı tipi geri dönüş mekanizması önceki Win32 yazı tipi değiştirme teknolojilerinin yerini alır.
Kodda Yazı Tipi Geri Dönüş Sırası Tanımlama
Kodunuzda alternatif bir yazı tipi tanımlamanızı sağlayan bir yazı tipi geri dönüş sırası tanımlayabilirsiniz. Bir FontFamily nesne oluşturduğunuzda, parametresi için String virgülle ayrılmış olarak "Comic Sans MS, Verdana" gibi birden çok yazı tipi ailesi adı sağlayın. Bu durumda, "Comic Sans MS" yazı tipindeki glifler kullanılamıyorsa, "Verdana" yazı tipindeki glifler kullanılır. "Comic Sans MS" veya "Verdana" gerekli gliflere sahip değilse, yazı tipinin geri dönüş yazı tipi ailesi kullanılır ve bu varsayılan olarak "Genel Kullanıcı Arabirimi"dir.
Aşağıdaki örneklerde, Genişletilebilir Uygulama İşaretlemesi Dili 'nde (XAML) ve kodda bir yazı tipi geri dönüş sırasının nasıl tanımlanacağı gösterilmektedir.
myTextBlock.FontFamily = new FontFamily("Comic Sans MS, Verdana");
myTextBlock.FontFamily = New FontFamily("Comic Sans MS, Verdana")
<TextBlock FontFamily="Comic Sans MS, Verdana">Hello, world</TextBlock>
Geri dönüş dizisindeki yazı tiplerinden herhangi biri yazı tipi konumlarını belirtebilir. Aşağıdaki örneklerde "Pericles Light" uygulamasına bir uygulama kaynağı olarak, "Verdana" ise sistem yazı tipi koleksiyonu üyesi olarak başvurulur.
myTextBlock.FontFamily = new FontFamily(new Uri("pack://application:,,,/"), "./resources/#Pericles Light, Verdana");
myTextBlock.FontFamily = New FontFamily(New Uri("pack://application:,,,/"), "./resources/#Pericles Light, Verdana")
<TextBlock FontFamily="./resources/#Pericles Light, Verdana">Aegean Sea</TextBlock>
Bileşik Yazı Tipleri
WPF platformu, tam aralıklı çok dilli yazı tiplerinin oluşturulmasına izin vermek ve eksik gliflerin görüntülenmesini önlemek için bileşik bir yazı tipi özelliği sağlar. Bileşik yazı tipleri Win32 yazı tipi bağlama, yazı tipi geri dönüş, yazı tipi bağlama, yazı tipi ilişkilendirme ve son kullanıcı tanımlı karakterler (EUDC) mekanizmalarının yerini alır.
Bileşik yazı tipi ailesi, diğer tüm yazı tipi ailelerine FontFamily benzer şekilde ve Typeface oluşturucuları aracılığıyla uygulamalar tarafından kullanılabilir. Her bileşik yazı tipi ailesi adlandırılmıştır ve diğer yazı tiplerinde olduğu gibi adının yerelleştirilmiş çeşitlemelerini birden çok dilde sağlayabilir.
Aşağıdaki işaretleme örneği, bileşik yazı tipi ailesinin disk dosyası olarak nasıl tanımlandığını gösterir. Bu dosya, diğer tüm yüklü yazı tiplerinde olduğu gibi varsayılan Windows yazı tipi dizininde depolanabilir veya aileye ada göre başvuruda bulunurken URI'si dahil edilerek herhangi bir konumda başvurulabilir.
Aşağıdaki örnekte " içindeki yazı tipi ailesi işaretlemesi gösterilmektedir. CompositeFont" dosyası.
<FontFamily
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/composite-font"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib"
Baseline="0.9"
LineSpacing="1.2">
<!-- Name mapping -->
<FontFamily.FamilyNames>
<System:String x:Key="en-US">Global User Interface</System:String>
</FontFamily.FamilyNames>
<!-- Faces to report in font chooser UI -->
<FontFamily.FamilyTypefaces>
<FamilyTypeface
Weight="Normal" Stretch="Normal" Style="Normal"
UnderlinePosition="-0.1" UnderlineThickness="0.05"
StrikethroughPosition="0.3" StrikethroughThickness="0.05"
CapsHeight="0.5" XHeight="0.3" />
<FamilyTypeface
Weight="Bold" Stretch="Normal" Style="Normal"
UnderlinePosition="-0.1" UnderlineThickness="0.05"
StrikethroughPosition="0.3" StrikethroughThickness="0.05"
CapsHeight="0.5" XHeight="0.3" />
</FontFamily.FamilyTypefaces>
<!-- Character to family lookups (in lookup order) -->
<FontFamily.FamilyMaps>
<!--
Basic Latin 0000-007F
Latin-1 Supplement 0080-00FF
Latin Extended-A 0100-017F
Latin Extended-B 0180-024F
IPA Extensions 0250-02AF
Spacing Modifier Letters 02B0-02FF
Combining Diacritics Marks 0300-036F
Greek and Coptic 0370-03FF
Cyrillic 0400-04FF
Cyrillic Supplement 0500-052F
Phonetic Extensions 1D00-1D7F
Latin Extended Additional 1E00-1EFF
Greek Extended 1F00-1FFF
Alpha Pres Forms Latin FB00-FB0F -->
<!-- CHS -->
<FontFamilyMap
Unicode="0000-052F, 1D00-1FFF, FB00-FB0F"
Language="zh-Hans"
Target="Times New Roman"
Scale="1.0" />
<!-- CHT -->
<FontFamilyMap
Unicode="0000-052F, 1D00-1FFF, FB00-FB0F"
Language="zh-Hant"
Target="Times New Roman"
Scale="1.0" />
<!-- Other (include JA and KO) -->
<FontFamilyMap
Unicode="0000-052F, 1D00-1FFF, FB00-FB0F"
Target="Comic Sans MS, Verdana"
Scale="4.0" />
<!--
Armenian 0530-058F
Georgian 10D0-10FF
Alpha Pres Forms Armenian FB10-FB1C -->
<FontFamilyMap
Unicode="0530-058F, 10D0-10FF, FB10-FB1C"
Target="Sylfaen"
Scale="1.0" />
<!-- Other FontFamilyMap elements defined ... -->
</FontFamily.FamilyMaps>
</FontFamily>
Aşağıdaki dört bileşik yazı tipi, WPF yüklemesinin bir parçası olarak varsayılan Windows yazı tipi dizininde görünür.
| Yazı tipi | Notlar |
|---|---|
| GlobalMonospace.CompositeFont | Metni, Latin karakterler için "Courier New" gibi bir monospace yazı tipi kullanarak işler. |
| GlobalSanSerif.CompositeFont | Metni, latin karakterler için "Arial" gibi bir sans serif yazı tipi kullanarak işler. |
| GlobalSerif.CompositeFont | Latin karakterler için "Times New Roman" gibi bir serif yazı tipi kullanarak metin işler. |
| GlobalUserInterface.CompositeFont | Latin karakterler için "Times New Roman" gibi varsayılan bir yazı tipi kullanarak metin işler. |
XAML Öznitelik Kullanımı
<object FontFamily="fontFamilyName"/>
- or -
<object FontFamily="fontFamilyNamesList"/>
- or -
<object FontFamily="fontFamilyFolderReference"/>
- or -
<object FontFamily="fontFamilyUriReference"/>
XAML Değerleri
fontFamilyName Yazı tipi ailesi adı belirten bir dize. Örneğin, "Arial" veya "Century Gothic".
fontFamilyNamesList Her biri virgülle ayrılmış birden çok yazı tipi ailesi adı belirten bir dize (virgülden sonraki boşluklar yoksayılır). Belirtilen ilk yazı tipi ailesi birincil yazı tipi ailesi görevi görür; sonraki yazı tipi aileleri, birincil yazı tipi ailesinin kullanılamadığı veya geçerli olmadığı durumlarda kullanılacak geri dönüş aileleri görevi görür. Örneğin, "Arial, Century Gothic" Arial'i birincil yazı tipi ailesi olarak, Century Gothic'i de geri dönüş yazı tipi ailesi olarak belirtir.
fontFamilyFolderReference Yazı tipi ailesi adıyla birlikte yazı tipini içeren bir klasör belirten dize. Klasör ve yazı tipi ailesi adı bir # karakteriyle ayrılmıştır. Klasör başvurusu mutlak veya göreli olabilir. Örneğin, "Custom Fonts\#My Custom Font".
fontFamilyUriReference Yazı tipi için bir tekdüzen kaynak tanımlayıcısı (URI) ve bir yazı tipi ailesi adı belirten dize. URI ve yazı tipi ailesi adı bir # karakteriyle ayrılmıştır. Örneğin, "http://MyFontServer/Fonts/#My Custom Font".
Oluşturucular
| Name | Description |
|---|---|
| FontFamily() |
Anonim FontFamily sınıfın yeni bir örneğini başlatır. |
| FontFamily(String) |
Belirtilen yazı tipi ailesi adından FontFamily sınıfının yeni bir örneğini başlatır. |
| FontFamily(Uri, String) |
Belirtilen yazı tipi ailesi adından FontFamily ve isteğe bağlı bir temel tekdüzen kaynak tanımlayıcısı (URI) değerinden sınıfın yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| Baseline |
Taban çizgisi ile karakter hücresi üst arasındaki uzaklığı alır veya ayarlar. |
| BaseUri |
Yazı tipi aile adını çözümlemek için kullanılan temel tekdüzen kaynak tanımlayıcısını (URI) alır. |
| FamilyMaps |
Nesne koleksiyonunu FontFamilyMap alır. |
| FamilyNames |
Nesnenin yazı tipi ailesi adlarını CultureInfo temsil eden dizeler ve FontFamily değerler koleksiyonunu alır. |
| FamilyTypefaces |
Nesne için FontFamily bir yazı biçimleri koleksiyonu alır. |
| LineSpacing |
Nesne için satır aralığı değerini FontFamily alır veya ayarlar. Satır aralığı, em boyutuna göre bu yazı tipindeki metin için önerilen temelden taban çizgisine uzaklıktır. |
| Source |
Nesneyi oluşturmak FontFamily için kullanılan yazı tipi ailesi adını alır. |
Yöntemler
| Name | Description |
|---|---|
| Equals(Object) |
Geçerli yazı tipi ailesi nesnesinin ve belirtilen yazı tipi ailesi nesnesinin aynı olup olmadığını gösteren bir değer alır. |
| GetHashCode() |
için FontFamilykarma işlevi görür. Karma algoritmalarda ve karma tablo gibi veri yapılarında kullanıma uygundur. |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| GetTypefaces() |
Varsayılan sistem yazı tipi konumundaki tür yüzlerini temsil eden bir nesne koleksiyonu Typeface döndürür. |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
özelliğinin Source değerini döndürür. |