FontFamily Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje rodzinę powiązanych czcionek.
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
- Dziedziczenie
-
FontFamily
- Atrybuty
Uwagi
Rodzina czcionek to zestaw czcionek, które mają taką samą nazwę rodziny, jak "Times New Roman", ale różnią się cechami. Te różnice funkcji obejmują Style, takie jak kursywa i Weight, takie jak pogrubienie.
Przykładowe czcionki, które są członkami rodziny czcionek "Times New Roman"
Większość elementów interfejsu użytkownika, takich jak Button i TextBlock, udostępnia FontFamily właściwość, która może służyć do określania czcionki dla zawartości tekstowej kontrolki. Czcionkę należy zdefiniować, ustawiając dla tej właściwości FontFamily wartość. W poniższych przykładach pokazano, jak odwoływać się do czcionki w języku XAML (Extensible Application Markup Language) i w kodzie.
myTextBlock.FontFamily = new FontFamily("Comic Sans MS");
myTextBlock.FontFamily = New FontFamily("Comic Sans MS")
<TextBlock FontFamily="Comic Sans MS">Hello, world</TextBlock>
W poprzednim przykładzie czcionka, o której mowa, "Comic Sans MS", jest określana przez przyjazną nazwę. Ponadto w tym przykładzie zakłada się, że czcionka znajduje się w kolekcji czcionek systemowych.
Określanie czcionek w katalogach alternatywnych
Aplikacja Windows Presentation Foundation (WPF) może określić katalog inny niż katalog zawierający kolekcję czcionek systemów do rozpoznawania odwołań do czcionek. Przyjazna nazwa czcionki może określać bezwzględną wartość identyfikatora URI ,aby rozpoznać odwołanie do czcionki, jak pokazano w poniższych przykładach języka XAML (Extensible Application Markup Language) i kodu.
// 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>
Przyjazna nazwa czcionki może również określać względną wartość identyfikatora URI, która wymaga podstawowego identyfikatora URI w celu rozpoznania odwołania do czcionki. Właściwość BaseUriFontFamily obiektu odpowiada wartości podstawowego identyfikatora URI. W poniższym przykładzie kodu pokazano, jak utworzyć odwołanie do czcionki składające się z wartości podstawowego identyfikatora URI i względnej wartości identyfikatora URI.
// 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")
Wartość podstawowego identyfikatora URI można użyć podczas odwołowania się do czcionki spakowanej w ramach aplikacji. Na przykład podstawowa wartość identyfikatora URI może być identyfikatorem URI "pack://application", który umożliwia odwołowanie się do czcionek spakowanych jako zasoby aplikacji. Poniższy przykład kodu przedstawia odwołanie do czcionki składające się z wartości podstawowego identyfikatora URI i względnej wartości identyfikatora URI.
// 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 Gdy element jest określony jako atrybut w adiustacji, podstawowa wartość identyfikatora URI jest zawsze dorozumiana — jego wartość jest identyfikatorem URI strony XAML. Sugerowana wartość podstawowego identyfikatora URI jest używana z względną wartością identyfikatora URI w przyjaznym ciągu nazwy w celu uzyskania lokalizacji czcionki. W poniższym przykładzie extensible Application Markup Language (XAML) zwróć uwagę, że względna wartość identyfikatora URI używa notacji "./", co oznacza "w bieżącym folderze" wartości podstawowego identyfikatora URI.
<TextBlock FontFamily="./resources/#Pericles Light">
Aegean Sea
</TextBlock>
Aplikacja WPF może spakować czcionki jako element zawartości, element zasobu lub element zasobu biblioteki. Aby uzyskać więcej informacji, zobacz Pakowanie czcionek za pomocą aplikacji.
Powrót czcionki
Rezerwa czcionki odnosi się do automatycznego zastępowania czcionki innej niż czcionka wybrana przez aplikację kliencką. Istnieją dwa główne powody, dla których wywoływana jest rezerwa czcionki:
Czcionka określona przez aplikację kliencka nie istnieje w systemie.
Czcionka określona przez aplikację kliencka nie zawiera glifów wymaganych do renderowania tekstu.
W WPF mechanizm rezerwowy czcionki używa domyślnej rodziny czcionek rezerwowych, "Globalny interfejs użytkownika", jako czcionki zastępczej. Ta czcionka jest definiowana jako czcionka złożona, której nazwa pliku to "GlobalUserInterface.CompositeFont". Aby uzyskać więcej informacji na temat czcionek złożonych, zobacz sekcję Czcionki złożone w tym temacie.
Mechanizm rezerwowy czcionki WPF zastępuje poprzednie technologie zastępowania czcionek Win32.
Definiowanie sekwencji rezerwowej czcionki w kodzie
W kodzie można zdefiniować sekwencję rezerwową czcionki, która umożliwia zdefiniowanie alternatywnej czcionki. Podczas tworzenia FontFamily obiektu podaj wiele nazw rodzin czcionek rozdzielonych przecinkami dla parametru String , takiego jak "Comic Sans MS, Verdana". W takim przypadku, jeśli glify z kroju typowego "Comic Sans MS" nie są dostępne, glify z czcionki "Verdana" są używane. Jeśli ani "Comic Sans MS" ani "Verdana" nie mają wymaganych glifów, domyślnie jest używana rodzina czcionek rezerwowych tego typu, która jest domyślnie "globalny interfejs użytkownika".
W poniższych przykładach pokazano, jak zdefiniować sekwencję rezerwową czcionki w języku Extensible Application Markup Language (XAML) i w kodzie.
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>
Dowolna czcionka w sekwencji rezerwowej może określać lokalizacje czcionek. W poniższych przykładach "Pericles Light" jest przywołyny jako zasób aplikacji, a "Verdana" jest przywołyny jako element członkowski kolekcji czcionek systemowych.
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>
Czcionki złożone
Platforma WPF udostępnia funkcję czcionki złożonej, która umożliwia tworzenie pełnych wielojęzycznych czcionek oraz unikanie wyświetlania brakujących glyphs. Czcionki złożone zastępują mechanizmy łączenia czcionek Win32, rezerwowego czcionki, powiązania czcionek, skojarzenia czcionek i znaków zdefiniowanych przez użytkownika końcowego (EUDC).
Rodzina czcionek złożonych jest dostępna dla aplikacji za pośrednictwem FontFamily konstruktorów i Typeface tak samo jak w przypadku każdej innej rodziny czcionek. Każda rodzina czcionek złożonych ma nazwę, a podobnie jak w przypadku innych czcionek, może udostępniać zlokalizowane warianty swojej nazwy w wielu językach.
Poniższy przykład znaczników pokazuje, jak można zdefiniować rodzinę czcionek złożonych jako plik dysku. Ten plik może być przechowywany w domyślnym katalogu czcionek systemu Windows, tak jak w przypadku dowolnej innej zainstalowanej czcionki, lub może być przywoływane w dowolnej lokalizacji, uwzględniając jego identyfikator URI podczas odwoływania się do rodziny według nazwy.
W poniższym przykładzie przedstawiono znaczniki rodziny czcionek w elemecie ". Plik CompositeFont.
<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>
Następujące cztery czcionki złożone są wyświetlane w domyślnym katalogu czcionek systemu Windows w ramach instalacji WPF.
Czcionka | Uwagi |
---|---|
GlobalMonospace.CompositeFont | Renderuje tekst przy użyciu czcionki monospace, na przykład "Courier New" dla znaków łacińskich. |
GlobalSanSerif.CompositeFont | Renderuje tekst przy użyciu czcionki serif sans, na przykład "Arial" dla znaków łacińskich. |
GlobalSerif.CompositeFont | Renderuje tekst przy użyciu czcionki serif, na przykład "Times New Roman" dla znaków łacińskich. |
GlobalUserInterface.CompositeFont | Renderuje tekst przy użyciu czcionki domyślnej, na przykład "Times New Roman" dla znaków łacińskich. |
Użycie atrybutu języka XAML
<object FontFamily="fontFamilyName"/>
- or -
<object FontFamily="fontFamilyNamesList"/>
- or -
<object FontFamily="fontFamilyFolderReference"/>
- or -
<object FontFamily="fontFamilyUriReference"/>
Wartości XAML
fontFamilyName
Ciąg określający nazwę rodziny czcionek. Na przykład: "Arial"
lub "Century Gothic"
.
fontFamilyNamesList
Ciąg określający wiele nazw rodzin czcionek, każdy oddzielony przecinkiem (wszelkie białe znaki po przecinku są ignorowane). Określona pierwsza rodzina czcionek służy jako podstawowa rodzina czcionek; kolejne rodziny czcionek służą jako rodziny rezerwowe do użycia w przypadkach, gdy podstawowa rodzina czcionek jest niedostępna lub nie dotyczy. Na przykład "Arial, Century Gothic"
określa Arial jako podstawową rodzinę czcionek, z Century Gothic jako rodziną czcionek rezerwowych.
fontFamilyFolderReference
Ciąg określający folder zawierający czcionkę wraz z nazwą rodziny czcionek. Nazwa folderu i rodziny czcionek są rozdzielane znakiem #. Odwołanie do folderu może być bezwzględne lub względne. Na przykład "Custom Fonts\#My Custom Font"
.
fontFamilyUriReference
Ciąg określający jednolity identyfikator zasobu (URI) dla czcionki wraz z nazwą rodziny czcionek. Identyfikator URI i nazwa rodziny czcionek są rozdzielane znakiem #. Na przykład "http://MyFontServer/Fonts/#My Custom Font"
.
Konstruktory
FontFamily() |
Inicjuje nowe wystąpienie klasy anonimowej FontFamily . |
FontFamily(String) |
Inicjuje FontFamily nowe wystąpienie klasy z określonej nazwy rodziny czcionek. |
FontFamily(Uri, String) |
Inicjuje nowe wystąpienie FontFamily klasy z określonej nazwy rodziny czcionek i opcjonalną wartość identyfikatora URI (Base Uniform Resource Identifier). |
Właściwości
Baseline |
Pobiera lub ustawia odległość między punktem odniesienia a górną komórką znaku. |
BaseUri |
Pobiera podstawowy identyfikator URI ,który jest używany do rozpoznawania nazwy rodziny czcionek. |
FamilyMaps |
Pobiera kolekcję FontFamilyMap obiektów. |
FamilyNames |
Pobiera kolekcję ciągów i CultureInfo wartości reprezentujących nazwy FontFamily rodzin czcionek obiektu. |
FamilyTypefaces |
Pobiera kolekcję czcionek dla FontFamily obiektu. |
LineSpacing |
Pobiera lub ustawia wartość odstępów między wierszami FontFamily dla obiektu. Odstęp między wierszami jest zalecaną odległością od linii bazowej do linii bazowej dla tekstu w tej czcionki względem rozmiaru em. |
Source |
Pobiera nazwę rodziny czcionek używaną do konstruowania FontFamily obiektu. |
Metody
Equals(Object) |
Pobiera wartość wskazującą, czy bieżący obiekt rodziny czcionek i określony obiekt rodziny czcionek są takie same. |
GetHashCode() |
Służy jako funkcja skrótu dla FontFamilyelementu . Nadaje się do użycia w algorytmach tworzenia skrótów i strukturach danych, takich jak tabela skrótów. |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
GetTypefaces() |
Zwraca kolekcję obiektów reprezentujących Typeface typy twarzy w domyślnej lokalizacji czcionki systemu. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca wartość Source właściwości. |