FontFamily Sınıf

Tanım

İlgili yazı tipleri 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 dizi yazı biçimidir. Bu özellik farklılıkları, italik gibi ve Weightkalın gibi ögelerini içerirStyle.

Yazı Tipleri
"Times New Roman" yazı tipi ailesinin üyesi olan yazı biçimleri örneği

ve TextBlockgibi Button çoğu kullanıcı arabirimi (UI) öğesi, 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 'nde (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, başvuruda bulunu olan "Comic Sans MS" yazı tipine kolay adıyla başvuruda bulunulacaktır. Ayrıca, bu örnekte yazı tipinin sistem yazı tipi koleksiyonunda olduğu varsayılır.

Diğer Dizinlerde Yazı Tiplerini Belirtme

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ği, temel URI değeri ve göreli URI değerinden oluşan bir yazı tipi başvurusu gösterir.

// 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'sidir. Ö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 biçimlendirme 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 başlıca iki nedeni vardır:

  • İstemci uygulaması tarafından belirtilen yazı tipi sistemde yok.

  • İstemci uygulaması tarafından belirtilen yazı tipi, metni 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 ailesi olan "Genel Kullanıcı Arabirimi"ni kullanır. Bu yazı tipi, dosya adı "GlobalUserInterface.CompositeFont" olan bileşik yazı tipi olarak tanımlanır. Bileşik yazı tipleri hakkında daha fazla bilgi için bu konunun 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, "Comic Sans MS, Verdana" gibi parametre için String virgülle ayrılmış 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. Ne "Comic Sans MS" ne de "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 Biçimlendirme Dili'nde (XAML) ve kodda 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"a 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 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 yüklü herhangi bir yazı tipinde olduğu gibi varsayılan Windows yazı tipi dizininde depolanabilir veya aileye ada göre başvururken 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, Latince karakterler için "Courier New" gibi bir monospace yazı tipi kullanarak işler.
GlobalSanSerif.CompositeFont Metni, Latin karakterleri için "Arial" gibi bir sans serif yazı tipi kullanarak işler.
GlobalSerif.CompositeFont Metni, Latin karakterleri için "Times New Roman" gibi bir serif yazı tipi kullanarak işler.
GlobalUserInterface.CompositeFont Metni, Latin karakterleri için "Times New Roman" gibi varsayılan bir yazı tipi kullanarak 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ını belirten bir dize. Örneğin "Arial" veya "Century Gothic" olabilir.

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 olarak görev alır. Örneğin, "Arial, Century Gothic" Arial'ı birincil yazı tipi ailesi olarak, Geri dönüş yazı tipi ailesi olarak Century Gothic'i belirtir.

fontFamilyFolderReference
Yazı tipini içeren bir klasörü ve yazı tipi aile adını belirten bir dize. Klasör ve yazı tipi ailesi adı bir # karakteriyle sınırlandırılmıştır. Klasör başvurusu mutlak veya göreli olabilir. Örneğin, "Custom Fonts\#My Custom Font".

fontFamilyUriReference
Yazı tipi ailesi adıyla birlikte yazı tipi için tekdüzen kaynak tanımlayıcısı (URI) belirten bir dize. URI ve yazı tipi aile adı bir # karakteriyle ayrılmıştır. Örneğin, "http://MyFontServer/Fonts/#My Custom Font".

Oluşturucular

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 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

Baseline

Taban çizgisi ile üstteki karakter hücresi 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ı temsil eden dizelerden ve CultureInfo değerlerden oluşan FontFamily bir koleksiyon alır.

FamilyTypefaces

Nesne için FontFamily yazı biçimleri koleksiyonunu alır.

LineSpacing

Nesnenin satır aralığı değerini FontFamily alır veya ayarlar. Satır aralığı, bu yazı tipindeki metnin em boyutuna göre önerilen taban çizgisinden taban çizgisine uzaklığıdır.

Source

Nesneyi oluşturmak FontFamily için kullanılan yazı tipi ailesi adını alır.

Yöntemler

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()

Type Geçerli örneğini 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 Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

özelliğinin Source değerini döndürür.

Şunlara uygulanır

Ayrıca bkz.