FontFamily Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een familie met gerelateerde lettertypen.
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
- Overname
-
FontFamily
- Kenmerken
Opmerkingen
Een lettertypefamilie is een reeks lettertypen die dezelfde familienaam hebben, zoals 'Times New Roman', maar die verschillen in functies. Deze functieverschillen omvatten Style, zoals cursief en Weight, zoals vet.
Voorbeeld van lettertypen die lid zijn van de lettertypefamilie Times New Roman
De meeste elementen van de gebruikersinterface (UI), zoals Button en TextBlock, bieden een FontFamily eigenschap die kan worden gebruikt om een lettertype op te geven voor de tekstinhoud van een besturingselement. U definieert het lettertype door die eigenschap in te stellen met een FontFamily waarde. In de volgende voorbeelden ziet u hoe u naar een lettertype verwijst, in Extensible Application Markup Language (XAML) en in code.
myTextBlock.FontFamily = new FontFamily("Comic Sans MS");
myTextBlock.FontFamily = New FontFamily("Comic Sans MS")
<TextBlock FontFamily="Comic Sans MS">Hello, world</TextBlock>
In het voorgaande voorbeeld wordt het lettertype waarnaar wordt verwezen, 'Comic Sans MS', aangeduid met de beschrijvende naam. In dit voorbeeld wordt ook ervan uitgegaan dat het lettertype zich in de systeemlettertypeverzameling bevindt.
Lettertypen opgeven in alternatieve mappen
Een Windows Presentation Foundation -toepassing (WPF) kan een andere map opgeven dan de map die de lettertypeverzameling van het systeem bevat, voor het omzetten van lettertypeverwijzingen. De beschrijvende naam van het lettertype kan een absolute URI-waarde (Uniform Resource Identifier) opgeven om de lettertypereferentie op te lossen, zoals wordt weergegeven in de volgende Extensible Application Markup Language (XAML) en codevoorbeelden.
// 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>
De beschrijvende naam van het lettertype kan ook een relatieve URI-waarde opgeven, waarvoor een basis-URI nodig is om de lettertypereferentie op te lossen. De BaseUri eigenschap van het FontFamily object komt overeen met de basis-URI-waarde. In het volgende codevoorbeeld ziet u hoe u een lettertypereferentie maakt die bestaat uit een basis-URI-waarde en een relatieve URI-waarde.
// 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")
U kunt een basis-URI-waarde gebruiken wanneer u verwijst naar een lettertype dat is verpakt als onderdeel van de toepassing. De basis-URI-waarde kan bijvoorbeeld een 'pack://application'-URI zijn, waarmee u kunt verwijzen naar lettertypen die zijn verpakt als toepassingsbronnen. In het volgende codevoorbeeld ziet u een lettertypereferentie die bestaat uit een basis-URI-waarde en een relatieve URI-waarde.
// 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")
Wanneer een FontFamily kenmerk in markeringen wordt opgegeven, wordt de basis-URI-waarde altijd geïmpliceerd. De waarde is de URI van de XAML-pagina. De impliciete basis-URI-waarde wordt gebruikt met de relatieve URI-waarde in de beschrijvende naamtekenreeks om de locatie van het lettertype te verkrijgen. In het volgende voorbeeld van Extensible Application Markup Language (XAML) ziet u dat voor de relatieve URI-waarde de notatie './' wordt gebruikt. Dit betekent 'in de huidige map' van de basis-URI-waarde.
<TextBlock FontFamily="./resources/#Pericles Light">
Aegean Sea
</TextBlock>
Een WPF-toepassing kan lettertypen verpakken als een inhoudsitem, een resource-item of een bibliotheekresource-item. Zie Packaging Fonts with Applications (Lettertypen verpakken met toepassingen) voor meer informatie.
Lettertype terugval
Lettertypeterugval verwijst naar de automatische vervanging van een ander lettertype dan het lettertype dat is geselecteerd door de clienttoepassing. Er zijn twee primaire redenen waarom terugval van lettertype wordt aangeroepen:
Het lettertype dat is opgegeven door de clienttoepassing, bestaat niet op het systeem.
Het lettertype dat is opgegeven door de clienttoepassing bevat niet de glyphs die nodig zijn om tekst weer te geven.
In WPF gebruikt het terugvalmechanisme voor lettertypen de standaardlettertypefamilie 'Globale gebruikersinterface', als vervangend lettertype. Dit lettertype wordt gedefinieerd als een samengesteld lettertype, waarvan de bestandsnaam GlobalUserInterface.CompositeFont is. Zie de sectie Samengestelde lettertypen in dit onderwerp voor meer informatie over samengestelde lettertypen.
Het WPF mechanisme voor terugval van lettertypen vervangt eerdere technologieën voor lettertypevervanging van Win32.
Een terugvalvolgorde voor lettertypen definiëren in code
U kunt een terugvalvolgorde voor lettertypen definiëren in uw code, waarmee u een alternatief lettertype kunt definiëren. Wanneer u een FontFamily object maakt, geeft u meerdere namen van lettertypefamilies op, gescheiden door komma's, voor de String parameter, zoals 'Comic Sans MS, Verdana'. Als in dit geval de glyphs van het lettertype Comic Sans MS niet beschikbaar zijn, worden glyphs uit het lettertype Verdana gebruikt. Als "Comic Sans MS" noch "Verdana" de vereiste glyphs hebben, wordt de lettertypefamilie van het lettertype van het lettertype gebruikt, wat standaard 'Global User Interface' is.
In de volgende voorbeelden ziet u hoe u een terugvalvolgorde voor lettertypen definieert in Extensible Application Markup Language (XAML) en in code.
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>
Een van de lettertypen in de terugvalvolgorde kan lettertypelocaties opgeven. In de volgende voorbeelden wordt naar Pericles Light verwezen als een toepassingsresource en wordt 'Verdana' als lid van de systeemlettertypeverzameling verwezen.
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>
Samengestelde lettertypen
Het WPF-platform biedt een samengestelde lettertypefunctie om de constructie van meertalige lettertypen in volledig bereik mogelijk te maken en om te voorkomen dat ontbrekende glyphs worden weergegeven. Samengestelde lettertypen vervangen de win32-lettertypekoppelingen, lettertypeterugval, lettertypebinding, lettertypekoppeling en door de eindgebruiker gedefinieerde tekens (EUDC).
Een samengestelde lettertypefamilie is beschikbaar voor toepassingen via de FontFamily en Typeface constructors, net als elke andere lettertypefamilie. Elke samengestelde lettertypefamilie heeft een naam en kan, net als bij andere lettertypen, gelokaliseerde varianten van de naam in meerdere talen bieden.
In het volgende voorbeeld van markeringen ziet u hoe een samengestelde lettertypefamilie kan worden gedefinieerd als een schijfbestand. Dit bestand kan worden opgeslagen in de standaardmap Windows lettertype, net als elk ander geïnstalleerd lettertype, of kan op elke locatie worden verwezen door de URI op te slaan wanneer u naar de familie verwijst op naam.
In het volgende voorbeeld ziet u de opmaak van de lettertypefamilie in een ". CompositeFont-bestand.
<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>
De volgende vier samengestelde lettertypen worden weergegeven in de standaardmap Windows lettertype als onderdeel van de installatie van de WPF.
| lettertype | Notes |
|---|---|
| GlobalMonospace.CompositeFont | Hiermee wordt tekst weergegeven met behulp van een monoruimtelettertype, bijvoorbeeld 'Courier New' voor Latijnse tekens. |
| GlobalSanSerif.CompositeFont | Hiermee wordt tekst weergegeven met behulp van een schreefloos lettertype, bijvoorbeeld 'Arial' voor Latijnse tekens. |
| GlobalSerif.CompositeFont | Hiermee wordt tekst weergegeven met behulp van een schreefloos lettertype, bijvoorbeeld 'Times New Roman' voor Latijnse tekens. |
| GlobalUserInterface.CompositeFont | Hiermee wordt tekst weergegeven met behulp van een standaardlettertype, bijvoorbeeld 'Times New Roman' voor Latijnse tekens. |
XAML-kenmerkgebruik
<object FontFamily="fontFamilyName"/>
- or -
<object FontFamily="fontFamilyNamesList"/>
- or -
<object FontFamily="fontFamilyFolderReference"/>
- or -
<object FontFamily="fontFamilyUriReference"/>
XAML-waarden
fontFamilyName Een tekenreeks die een lettertypefamilienaam opgeeft. Een voorbeeld hiervan is "Arial" of "Century Gothic".
fontFamilyNamesList Een tekenreeks die meerdere namen van lettertypefamilies opgeeft, die elk worden gescheiden door een komma (witruimte na een komma wordt genegeerd). De eerste lettertypefamilie die is opgegeven, fungeert als de primaire lettertypefamilie; volgende lettertypefamilies fungeren als terugvalfamilies die moeten worden gebruikt in gevallen waarin de primaire lettertypefamilie niet beschikbaar is of niet van toepassing is. Hiermee geeft u bijvoorbeeld "Arial, Century Gothic" Arial op als de primaire lettertypefamilie, met Century Gothic als de terugvallettertypefamilie.
fontFamilyFolderReference Een tekenreeks die een map met het lettertype opgeeft, samen met de naam van de lettertypefamilie. De naam van de map en lettertypefamilie worden gescheiden door een #-teken. De mapreferentie kan absoluut of relatief zijn. Bijvoorbeeld: "Custom Fonts\#My Custom Font".
fontFamilyUriReference Een tekenreeks die een URI (Uniform Resource Identifier) voor het lettertype opgeeft, samen met een lettertypefamilienaam. De naam van de URI en de lettertypefamilie worden gescheiden door een #-teken. Bijvoorbeeld: "http://MyFontServer/Fonts/#My Custom Font".
Constructors
| Name | Description |
|---|---|
| FontFamily() |
Initialiseert een nieuw exemplaar van een anonieme FontFamily klasse. |
| FontFamily(String) |
Initialiseert een nieuw exemplaar van de FontFamily klasse op basis van de opgegeven lettertypefamilienaam. |
| FontFamily(Uri, String) |
Initialiseert een nieuw exemplaar van de FontFamily klasse op basis van de opgegeven lettertypefamilienaam en een optionele URI-waarde (Base Uniform Resource Identifier). |
Eigenschappen
| Name | Description |
|---|---|
| Baseline |
Hiermee haalt u de afstand tussen de basislijn en de cel met tekens op of stelt u deze in. |
| BaseUri |
Hiermee haalt u de URI (Base Uniform Resource Identifier) op die wordt gebruikt om een lettertypefamilienaam op te lossen. |
| FamilyMaps |
Hiermee haalt u de verzameling FontFamilyMap objecten op. |
| FamilyNames |
Hiermee haalt u een verzameling tekenreeksen en CultureInfo waarden op die de namen van de lettertypefamilies van het FontFamily object vertegenwoordigen. |
| FamilyTypefaces |
Hiermee haalt u een verzameling lettertypen voor het FontFamily object op. |
| LineSpacing |
Hiermee haalt u de regelafstandswaarde voor het object op of stelt u deze FontFamily in. De regelafstand is de aanbevolen afstand tussen basislijnen voor de tekst in dit lettertype ten opzichte van de em-grootte. |
| Source |
Hiermee haalt u de naam van de lettertypefamilie op die wordt gebruikt om het FontFamily object samen te stellen. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Hiermee wordt een waarde opgehaald die aangeeft of het huidige lettertypefamilieobject en het opgegeven lettertypefamilieobject hetzelfde zijn. |
| GetHashCode() |
Fungeert als een hash-functie voor FontFamily. Het is geschikt voor gebruik in hash-algoritmen en gegevensstructuren, zoals een hash-tabel. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| GetTypefaces() |
Retourneert een verzameling Typeface objecten die het type gezichten vertegenwoordigen op de standaardlocatie van het systeemlettertype. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert de waarde van de Source eigenschap. |