FontFamily Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar en familj med relaterade teckensnitt.
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
- Arv
-
FontFamily
- Attribut
Kommentarer
En teckensnittsfamilj är en uppsättning typsnitt som delar samma familjenamn, till exempel "Times New Roman", men som skiljer sig åt i funktionerna. Dessa funktionsskillnader omfattar Style, till exempel kursiv stil och Weight, till exempel fetstil.
Exempel på typsnitt som är medlemmar i teckensnittsfamiljen "Times New Roman"
De flesta användargränssnittselement (UI), till exempel Button och TextBlock, tillhandahåller en FontFamily egenskap som kan användas för att ange ett teckensnitt för textinnehållet i en kontroll. Du definierar teckensnittet genom att ange egenskapen med ett FontFamily värde. Följande exempel visar hur du refererar till ett teckensnitt, i XAML (Extensible Application Markup Language) och i kod.
myTextBlock.FontFamily = new FontFamily("Comic Sans MS");
myTextBlock.FontFamily = New FontFamily("Comic Sans MS")
<TextBlock FontFamily="Comic Sans MS">Hello, world</TextBlock>
I föregående exempel refereras teckensnittet som refereras till , "Comic Sans MS", med sitt eget namn. I det här exemplet antas teckensnittet också finnas i systemteckensnittssamlingen.
Ange teckensnitt i alternativa kataloger
Ett Windows Presentation Foundation-program (WPF) kan ange en annan katalog än katalogen som innehåller systemteckensnittssamlingen för att matcha teckensnittsreferenser. Det egna namnet på teckensnittet kan ange ett absolut URI-värde (Uniform Resource Identifier) för att matcha teckensnittsreferensen, enligt följande XAML (Extensible Application Markup Language) och kodexempel.
// 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>
Det egna namnet på teckensnittet kan också ange ett relativt URI-värde, vilket kräver en bas-URI för att matcha teckensnittsreferensen. Objektets BaseUriFontFamily egenskap motsvarar bas-URI-värdet. I följande kodexempel visas hur du skapar en teckensnittsreferens som består av ett bas-URI-värde och ett relativt URI-värde.
// 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")
Du kan använda ett bas-URI-värde när du refererar till ett teckensnitt som är paketerat som en del av programmet. Till exempel kan bas-URI-värdet vara en "pack://application"-URI, vilket gör att du kan referera till teckensnitt som paketeras som programresurser. I följande kodexempel visas en teckensnittsreferens som består av ett bas-URI-värde och ett relativt URI-värde.
// 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")
När ett FontFamily anges som ett attribut i markering är bas-URI-värdet alltid underförstått – dess värde är URI för XAML-sidan. Det underförstådda bas-URI-värdet används med det relativa URI-värdet i den egna namnsträngen för att hämta teckensnittets plats. I följande XAML-exempel (Extensible Application Markup Language) ser du att det relativa URI-värdet använder notationen "./", vilket betyder "i den aktuella mappen" för bas-URI-värdet.
<TextBlock FontFamily="./resources/#Pericles Light">
Aegean Sea
</TextBlock>
Ett WPF program kan paketera teckensnitt som antingen ett innehållsobjekt, ett resursobjekt eller ett biblioteksresursobjekt. Mer information finns i Paketera teckensnitt med program.
Tillbakafall för teckensnitt
Återställning av teckensnitt refererar till automatisk ersättning av ett annat teckensnitt än det teckensnitt som väljs av klientprogrammet. Det finns två huvudsakliga orsaker till att återställning av teckensnitt anropas:
Det teckensnitt som anges av klientprogrammet finns inte i systemet.
Det teckensnitt som anges av klientprogrammet innehåller inte de tecken som krävs för att återge text.
I WPF använder återställningsmekanismen för teckensnitt standardåterställningsteckensnitt, "Globalt användargränssnitt", som ersättningsteckensnitt. Det här teckensnittet definieras som ett sammansatt teckensnitt, vars filnamn är "GlobalUserInterface.CompositeFont". Mer information om sammansatta teckensnitt finns i avsnittet Sammansatta teckensnitt i det här avsnittet.
Återställningsmekanismen för WPF teckensnitt ersätter tidigare Win32-teckensnittsersättningstekniker.
Definiera en återställningssekvens för teckensnitt i kod
Du kan definiera en återställningssekvens för teckensnitt i koden, vilket gör att du kan definiera ett alternativt teckensnitt. När du skapar ett FontFamily objekt anger du flera teckensnittsfamiljenamn, avgränsade med kommatecken, för parametern String , till exempel "Comic Sans MS, Verdana". Om glyferna från typsnittet "Comic Sans MS" inte är tillgängliga används glyfer från typsnittet "Verdana". Om varken "Comic Sans MS" eller "Verdana" har de tecken som krävs används teckensnittsfamiljen för typsnittet, som är "Globalt användargränssnitt" som standard.
I följande exempel visas hur du definierar en återställningssekvens för teckensnitt, i XAML (Extensible Application Markup Language) och i kod.
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>
Något av teckensnitten i återställningssekvensen kan ange teckensnittsplatser. I följande exempel refereras "Perikles Light" som en programresurs och "Verdana" refereras som en medlem i systemteckensnittssamlingen.
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>
Sammansatta teckensnitt
Plattformen WPF innehåller en sammansatt teckensnittsfunktion som gör det möjligt att skapa flerspråkiga teckensnitt i hela skalan och för att undvika att det saknas tecken. Sammansatta teckensnitt ersätter mekanismerna Win32-teckensnittslänkning, återställning av teckensnitt, teckensnittsbindning, teckensnittsassociation och slutanvändarens definierade tecken (EUDC).
En sammansatt teckensnittsfamilj är tillgänglig för program via FontFamily konstruktorerna och Typeface precis som alla andra teckensnittsserier. Varje sammansatt teckensnittsfamilj heter och kan, precis som med andra teckensnitt, tillhandahålla lokaliserade varianter av namnet på flera språk.
Följande markeringsexempel visar hur en sammansatt teckensnittsfamilj kan definieras som en diskfil. Den här filen kan lagras i standardkatalogen Windows teckensnitt som med andra installerade teckensnitt, eller refereras till på valfri plats genom att inkludera dess URI när du refererar till familjen med namn.
I följande exempel visas teckenfamiljens markering i en ". CompositeFont-fil.
<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>
Följande fyra sammansatta teckensnitt visas i standardkatalogen Windows teckensnitt som en del av WPF installationen.
| Teckensnitt | Notes |
|---|---|
| GlobalMonospace.CompositeFont | Renderar text med hjälp av ett monorymdsteckensnitt, till exempel "Courier New" för latinska tecken. |
| GlobalSanSerif.CompositeFont | Renderar text med hjälp av ett sans serif-teckensnitt, till exempel "Arial" för latinska tecken. |
| GlobalSerif.CompositeFont | Renderar text med hjälp av ett serifteckensnitt, till exempel "Times New Roman" för latinska tecken. |
| GlobalUserInterface.CompositeFont | Renderar text med ett standardteckensnitt, till exempel "Times New Roman" för latinska tecken. |
XAML-attributanvändning
<object FontFamily="fontFamilyName"/>
- or -
<object FontFamily="fontFamilyNamesList"/>
- or -
<object FontFamily="fontFamilyFolderReference"/>
- or -
<object FontFamily="fontFamilyUriReference"/>
XAML-värden
fontFamilyName En sträng som anger ett teckensnittsfamiljenamn. Exempel: "Arial" eller "Century Gothic".
fontFamilyNamesList En sträng som anger flera teckensnittsfamiljenamn, var och en avgränsad med ett kommatecken (eventuella blanksteg efter ett kommatecken ignoreras). Den första teckensnittsfamiljen som angetts fungerar som den primära teckensnittsfamiljen. efterföljande teckensnittsfamiljer fungerar som reservfamiljer som ska användas i fall där den primära teckensnittsfamiljen inte är tillgänglig eller inte är tillämplig. Till exempel "Arial, Century Gothic" anger Arial som den primära teckensnittsfamiljen, med Century Gothic som återställningsteckensnittsfamilj.
fontFamilyFolderReference En sträng som anger en mapp som innehåller teckensnittet, tillsammans med ett teckensnittsfamiljenamn. Mapp- och teckensnittsfamiljenamnet avgränsas med ett #-tecken. Mappreferensen kan vara absolut eller relativ. Till exempel "Custom Fonts\#My Custom Font".
fontFamilyUriReference En sträng som anger en enhetlig resursidentifierare (URI) för teckensnittet, tillsammans med ett teckensnittsfamiljenamn. URI och teckensnittsfamiljenamnet avgränsas med ett #-tecken. Till exempel "http://MyFontServer/Fonts/#My Custom Font".
Konstruktorer
| Name | Description |
|---|---|
| FontFamily() |
Initierar en ny instans av en anonym FontFamily klass. |
| FontFamily(String) |
Initierar en ny instans av FontFamily klassen från det angivna teckensnittsfamiljenamnet. |
| FontFamily(Uri, String) |
Initierar en ny instans av FontFamily klassen från det angivna teckensnittsfamiljenamnet och ett valfritt URI-värde (Base Uniform Resource Identifier). |
Egenskaper
| Name | Description |
|---|---|
| Baseline |
Hämtar eller anger avståndet mellan baslinjen och teckencellens överkant. |
| BaseUri |
Hämtar den grundläggande enhetliga resursidentifieraren (URI) som används för att matcha ett teckensnittsfamiljenamn. |
| FamilyMaps |
Hämtar samlingen med FontFamilyMap objekt. |
| FamilyNames |
Hämtar en samling strängar och CultureInfo värden som representerar teckensnittsfamiljenamnen för FontFamily objektet. |
| FamilyTypefaces |
Hämtar en samling typsnitt för FontFamily objektet. |
| LineSpacing |
Hämtar eller anger radavståndsvärdet för FontFamily objektet. Radavståndet är det rekommenderade baslinje-till-baslinjeavståndet för texten i det här teckensnittet i förhållande till em-storleken. |
| Source |
Hämtar teckensnittsfamiljenamnet som används för att konstruera FontFamily objektet. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Hämtar ett värde som anger om det aktuella teckensnittsfamiljeobjektet och det angivna teckensnittsfamiljeobjektet är samma. |
| GetHashCode() |
Fungerar som en hash-funktion för FontFamily. Den är lämplig för användning i hash-algoritmer och datastrukturer, till exempel en hash-tabell. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| GetTypefaces() |
Returnerar en samling Typeface objekt som representerar typen ansikten på standardplatsen för systemteckensnitt. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar värdet för Source egenskapen. |