Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit onderwerp bevat een overzicht van enkele van de belangrijkste functies van OpenType-lettertypetechnologie in Windows Presentation Foundation (WPF).
OpenType-lettertypeformaat
De OpenType-lettertype-indeling is een uitbreiding van de TrueType-lettertype-indeling®, waarbij ondersteuning wordt toegevoegd voor PostScript-lettertypegegevens. De OpenType-lettertypeindeling is gezamenlijk ontwikkeld door Microsoft en Adobe Corporation. OpenType-lettertypen en de besturingssysteemservices die OpenType-lettertypen ondersteunen, bieden gebruikers een eenvoudige manier om lettertypen te installeren en te gebruiken, ongeacht of de lettertypen TrueType-overzichten of CFF-overzichten (PostScript) bevatten.
De OpenType-lettertypeindeling biedt een oplossing voor de volgende uitdagingen voor ontwikkelaars:
Bredere ondersteuning voor meerdere platforms.
Betere ondersteuning voor internationale karaktersets.
Betere beveiliging voor lettertypegegevens.
Kleinere bestandsgrootten om de distributie van lettertypen efficiënter te maken.
Bredere ondersteuning voor geavanceerde typografische controle.
Opmerking
De Windows SDK bevat een set OpenType-voorbeeldlettertypen die u kunt gebruiken met WPF-toepassingen (Windows Presentation Foundation). Deze lettertypen bieden de meeste functies die in de rest van dit onderwerp worden geïllustreerd. Zie OpenType Font Pack-voorbeeldvoor meer informatie.
Zie de OpenType-specificatievoor meer informatie over de opentype-indeling.
Geavanceerde typografische extensies
De geavanceerde typografische tabellen (OpenType Layout-tabellen) breiden de functionaliteit van lettertypen uit met TrueType- of CFF-overzichten. OpenType Layout-lettertypen bevatten aanvullende informatie die de mogelijkheden van de lettertypen uitbreidt ter ondersteuning van internationale typografie van hoge kwaliteit. De meeste OpenType-lettertypen bevatten slechts een subset van de totale Beschikbare OpenType-functies. OpenType-lettertypen bieden de volgende functies.
Rijke toewijzing tussen tekens en glyfen die ondersteuning bieden aan ligaturen, positionele vormen, alternatieven en andere lettertypevervangingen.
Ondersteuning voor tweedimensionale plaatsing en glyph-aanhechting.
Expliciete script- en taalgegevens in het lettertype, zodat een toepassing voor tekstverwerking het gedrag ervan kan aanpassen.
De OpenType-indelingstabellen worden gedetailleerder beschreven in de sectie 'Lettertypebestandstabellen' sectie van de OpenType-specificatie.
De rest van dit overzicht introduceert de breedte en flexibiliteit van enkele visueel interessante OpenType-functies die worden weergegeven door de eigenschappen van het Typography-object. Zie Typografieklassevoor meer informatie over dit object.
Varianten
Varianten worden gebruikt om verschillende typografische stijlen weer te geven, zoals superscripts en subscripts.
Boven- en onderschrift
Met de eigenschap Variants kunt u superscript- en subscriptwaarden instellen voor een OpenType-lettertype.
In de volgende tekst worden superscripts weergegeven voor het lettertype Palatino Linotype.
In het volgende markeringsvoorbeeld ziet u hoe u superscripts definieert voor het lettertype Palatino Linotype, met behulp van eigenschappen van het Typography-object.
<Paragraph FontFamily="Palatino Linotype">
2<Run Typography.Variants="Superscript">3</Run>
14<Run Typography.Variants="Superscript">th</Run>
</Paragraph>
In de volgende tekst worden subscripts weergegeven voor het lettertype Palatino Linotype.
In het volgende opmaakvoorbeeld ziet u hoe u subscripts definieert voor het lettertype Palatino Linotype, met behulp van eigenschappen van het Typography-object.
<Paragraph FontFamily="Palatino Linotype">
H<Run Typography.Variants="Subscript">2</Run>O
Footnote<Run Typography.Variants="Subscript">4</Run>
</Paragraph>
Decoratieve toepassingen van Superscripts en Subscripts
U kunt ook superscripts en subscripts gebruiken om decoratieve effecten van gemengde hoofdletters te maken. In de volgende tekst wordt superscript- en subscripttekst weergegeven voor het lettertype Palatino Linotype. Houd er rekening mee dat de hoofdletters niet worden beïnvloed.
In het volgende voorbeeld van markeringen ziet u hoe u superscripts en subscripts definieert voor een lettertype, met behulp van eigenschappen van het Typography-object.
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Superscript">
Chapter One
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Subscript">
Chapter One
</Paragraph>
Hoofdsteden
Hoofdletters zijn een reeks typografische vormen die tekst weergeven in hoofdletterstijl glyphen. Wanneer tekst wordt weergegeven als alle hoofdletters, kan de afstand tussen letters te strak worden weergegeven en kan het gewicht en de verhouding van de letters te zwaar zijn. OpenType ondersteunt een aantal stijlindelingen voor hoofdletters, waaronder kleine hoofdletters, kleine hoofdletters, titling en afstand tussen hoofdletters. Met deze stijlindelingen kunt u het uiterlijk van hoofdletters bepalen.
In de volgende tekst worden standaard hoofdletters weergegeven voor het lettertype Pescadero, gevolgd door de letters in de stijl "SmallCaps" en "AllSmallCaps". In dit geval wordt dezelfde tekengrootte gebruikt voor alle drie de woorden.
In het volgende markeervoorbeeld wordt getoond hoe hoofdletters worden gedefinieerd voor het lettertype Pescadero, met behulp van eigenschappen van het Typography-object. Wanneer de notatie SmallCaps wordt gebruikt, wordt elke voorloopletter genegeerd.
<Paragraph FontFamily="Pescadero" FontSize="48">
<Run>CAPITALS</Run>
<Run Typography.Capitals="SmallCaps">Capitals</Run>
<Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
Hoofdletters in Titelstijl
Titling hoofdletters zijn lichter in gewicht en verhouding en ontworpen om een eleganter uiterlijk te geven dan normale hoofdletters. Titling-hoofdletters worden meestal gebruikt in grotere tekengrootten als koppen. In de volgende tekst worden normale hoofdletters en titling-hoofdletters weergegeven voor het Pescadero-lettertype. Let op de smallere stembreedten van de tekst op de tweede regel.
In het volgende markupvoorbeeld ziet u hoe u kapitaalletters definieert voor het lettertype Pescadero, met behulp van eigenschappen van het Typography-object.
<Paragraph FontFamily="Pescadero">
<Run Typography.Capitals="Titling">chapter one</Run>
</Paragraph>
Hoofdletterafstand
Hoofdletterafstand is een functie waarmee u meer afstand kunt bieden wanneer u alle hoofdletters in tekst gebruikt. Hoofdletters zijn meestal ontworpen om te combineren met kleine letters. De spatiëring die aantrekkelijk lijkt tussen een hoofdletter en een kleine letter, kan te strak zijn wanneer er volledig hoofdletters worden gebruikt. In de volgende tekst wordt de normale en hoofdlettersafstand weergegeven voor het Pescadero-lettertype.
In het volgende opmaakvoorbeeld ziet u hoe u de spatiëring voor hoofdletters definieert voor het lettertype Pescadero, door gebruik te maken van de eigenschappen van het Typography-object.
<Paragraph FontFamily="Pescadero">
<Run Typography.CapitalSpacing="True">CHAPTER ONE</Run>
</Paragraph>
Ligaturen
Ligaturen zijn twee of meer glyphs die in één glyph worden gevormd om beter leesbare of aantrekkelijke tekst te creëren. OpenType-lettertypen ondersteunen vier typen ligaturen:
Standaard ligaturen. Ontworpen om de leesbaarheid te verbeteren. Standaard ligaturen zijn 'fi', 'fl' en 'ff'.
Contextuele ligaturen. Ontworpen om de leesbaarheid te verbeteren door beter samenvoeggedrag te bieden tussen de tekens waaruit de ligatuur bestaat.
Discretionaire ligaturen. Ontworpen om sierlijk te zijn en niet specifiek ontworpen voor leesbaarheid.
historische ligaturen. Ontworpen om historisch te zijn en niet specifiek ontworpen voor leesbaarheid.
In de volgende tekst worden standaard ligaturen voor het lettertype Pericles weergegeven.
In het volgende markeringsvoorbeeld ziet u hoe u standaard ligatuurtekens definieert voor het lettertype Pericles, met behulp van eigenschappen van het Typography-object.
<Paragraph FontFamily="Pericles" Typography.StandardLigatures="True">
<Run Typography.StylisticAlternates="1">FI</Run>
<Run Typography.StylisticAlternates="1">FL</Run>
<Run Typography.StylisticAlternates="1">TH</Run>
<Run Typography.StylisticAlternates="1">TT</Run>
<Run Typography.StylisticAlternates="1">TV</Run>
<Run Typography.StylisticAlternates="1">TW</Run>
<Run Typography.StylisticAlternates="1">TY</Run>
<Run Typography.StylisticAlternates="1">VT</Run>
<Run Typography.StylisticAlternates="1">WT</Run>
<Run Typography.StylisticAlternates="1">YT</Run>
</Paragraph>
In de volgende tekst worden discretionaire ligatuurtekens weergegeven voor het lettertype Pericles.
In het volgende markeringsvoorbeeld ziet u hoe u discretionaire ligatuurglyphs voor het lettertype Pericles definieert met behulp van eigenschappen van het Typography-object.
<Paragraph FontFamily="Pericles" Typography.DiscretionaryLigatures="True">
<Run Typography.StylisticAlternates="1">CO</Run>
<Run Typography.StylisticAlternates="1">LA</Run>
<Run Typography.StylisticAlternates="1">LE</Run>
<Run Typography.StylisticAlternates="1">LI</Run>
<Run Typography.StylisticAlternates="1">LL</Run>
<Run Typography.StylisticAlternates="1">LO</Run>
<Run Typography.StylisticAlternates="1">LU</Run>
</Paragraph>
OpenType-lettertypen in Windows Presentation Foundation (WPF) maken standaard ligaturen mogelijk. Als u bijvoorbeeld het lettertype Palatino Linotype gebruikt, verschijnen de standaard ligaturen 'fi', 'ff' en 'fl' als een gecombineerd teken. U ziet dat het paar tekens voor elke standaard ligatuur elkaar aanraakt.
U kunt echter standaard ligatuurfuncties uitschakelen, zodat een standaard ligatuur zoals 'ff' wordt weergegeven als twee afzonderlijke glyphs, in plaats van als een gecombineerde teken-glyph.
In het volgende markeringsvoorbeeld ziet u hoe u standaard ligatuurglyphs kunt uitschakelen voor het lettertype Palatino Linotype, met behulp van eigenschappen van het Typography-object.
<!-- Set standard ligatures to false in order to disable feature. -->
<Paragraph Typography.StandardLigatures="False" FontFamily="Palatino Linotype" FontSize="72">
fi ff fl
</Paragraph>
Sierletters
Swashes zijn decoratieve tekens die zijn voorzien van uitgebreide ornamenten en vaak worden geassocieerd met kalligrafie. In de volgende tekst worden standaard- en swash-glyphs weergegeven voor het lettertype Pescadero.
Swashes worden vaak gebruikt als decoratieve elementen in korte zinnen zoals aankondigingen van gebeurtenissen. In de volgende tekst worden krullen gebruikt om de hoofdletters van de naam van het evenement te benadrukken.
In het volgende voorbeeld van markeringen ziet u hoe u swashes voor een lettertype definieert met behulp van eigenschappen van het Typography-object.
<Paragraph FontFamily="Pescadero" TextBlock.TextAlignment="Center">
Wishing you a<LineBreak/>
<Run Typography.StandardSwashes="1" FontSize="36">Happy New Year!</Run>
</Paragraph>
Contextuele swashes
Bepaalde combinaties van swash-glyphs kunnen een onaantrekkelijk uiterlijk veroorzaken, zoals overlappende afstammingen op aangrenzende letters. Met behulp van een contextuele swash kunt u een vervangende swash-glyph gebruiken die een beter uiterlijk produceert. In de volgende tekst ziet u hetzelfde woord voordat en nadat een contextuele swash is toegepast.
In het volgende voorbeeld van markup ziet u hoe u een contextuele swash definieert voor het lettertype Pescadero, met eigenschappen van het Typography-object.
<Paragraph FontFamily="Pescadero" Typography.StandardSwashes="1">
Lyon <Run Typography.ContextualSwashes="1">L</Run>yon
</Paragraph>
Alternatieven
Alternatieven zijn glyphs die kunnen worden vervangen door een standaard glyph. OpenType-lettertypen, zoals het lettertype Pericles dat in de volgende voorbeelden wordt gebruikt, kunnen alternatieve glyphs bevatten die u kunt gebruiken om verschillende weergaven voor tekst te maken. In de volgende tekst worden standaardglyphs voor het lettertype Pericles weergegeven.
Het Pericles OpenType-lettertype bevat extra glyphen die stijlistische alternatieven bieden voor de standaardset glyphen. In de volgende tekst worden stilistische alternatieve glyphs weergegeven.
In het volgende markeringsvoorbeeld ziet u hoe u stijlalternatieve glyphs voor het lettertype Pericles definieert met behulp van functies van het Typography-object.
<Paragraph FontFamily="Pericles">
<Run Typography.StylisticAlternates="1">A</Run>NCIENT
GR<Run Typography.StylisticAlternates="1">EE</Run>K
MYTH<Run Typography.StylisticAlternates="1">O</Run>LOGY
</Paragraph>
In de volgende tekst worden verschillende andere stijl-alternatieve glyphs voor het lettertype Pericles weergegeven.
In het volgende voorbeeld van markup ziet u hoe u deze andere stylistische alternatieve glyphs definieert.
<Paragraph FontFamily="Pericles">
<Run Typography.StylisticAlternates="1">A</Run>
<Run Typography.StylisticAlternates="2">A</Run>
<Run Typography.StylisticAlternates="3">A</Run>
<Run Typography.StylisticAlternates="1">C</Run>
<Run Typography.StylisticAlternates="1">E</Run>
<Run Typography.StylisticAlternates="1">G</Run>
<Run Typography.StylisticAlternates="1">O</Run>
<Run Typography.StylisticAlternates="1">Q</Run>
<Run Typography.StylisticAlternates="1">R</Run>
<Run Typography.StylisticAlternates="2">R</Run>
<Run Typography.StylisticAlternates="1">S</Run>
<Run Typography.StylisticAlternates="1">Y</Run>
</Paragraph>
Willekeurige contextuele alternatieven
Willekeurige contextuele alternatieven bieden meerdere vervangende glyphs voor één teken. Wanneer deze functie wordt geïmplementeerd met lettertypen van het type script, kan deze functie handschrift simuleren met behulp van een set willekeurig gekozen glyphs met kleine verschillen in uiterlijk. In de volgende tekst worden willekeurige contextuele alternatieven gebruikt voor het lettertype Lindsey. U ziet dat de letter 'a' enigszins varieert in uiterlijk
In het volgende markeringsvoorbeeld ziet u hoe u willekeurige contextuele alternatieven definieert voor het lettertype Lindsey, met behulp van eigenschappen van het Typography-object.
<TextBlock FontFamily="Lindsey">
<Run Typography.ContextualAlternates="True">
a banana in a cabana
</Run>
</TextBlock>
Historische formulieren
Historische vormen zijn typografische conventies die in het verleden gebruikelijk waren. In de volgende tekst wordt de woordgroep 'Boston, Massachusetts' weergegeven met behulp van een historische vorm van glyphs voor het lettertype Palatino Linotype.
In het volgende opmaakvoorbeeld ziet u hoe u historische formulieren definieert voor het lettertype Palatino Linotype, met behulp van eigenschappen van het Typography-object.
<Paragraph FontFamily="Palatino Linotype">
<Run Typography.HistoricalForms="True">Boston, Massachusetts</Run>
</Paragraph>
Numerieke stijlen
OpenType-lettertypen ondersteunen een groot aantal functies die kunnen worden gebruikt met numerieke waarden in tekst.
Breuken
OpenType-lettertypen ondersteunen stijlen voor breuken, waaronder slashed en gestapeld.
In de volgende tekst worden breukstijlen weergegeven voor het lettertype Palatino Linotype.
In het volgende opmaakvoorbeeld ziet u hoe u breukstijlen definieert voor het lettertype Palatino Linotype, met behulp van eigenschappen van het Typography-object.
<Paragraph FontFamily="Palatino Linotype" Typography.Fraction="Slashed">
1/8 1/4 3/8 1/2 5/8 3/4 7/8
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Fraction="Stacked">
1/8 1/4 3/8 1/2 5/8 3/4 7/8
</Paragraph>
Oude stijl cijfers
OpenType-lettertypen ondersteunen een oud stijlnummerformaat. Deze indeling is handig voor het weergeven van cijfers in stijlen die niet langer standaard zijn. In de volgende tekst wordt een datum uit de 18e eeuw weergegeven in standaard- en oude stijlnotaties voor het lettertype Palatino Linotype.
In de volgende tekst worden standaard cijfers weergegeven voor het lettertype Palatino Linotype, gevolgd door cijfers in oude stijl.
In het volgende opmaakvoorbeeld ziet u hoe u oude stijlaantallen definieert voor het lettertype Palatino Linotype, met behulp van eigenschappen van het Typography object.
<Paragraph FontFamily="Palatino Linotype">
<Run Typography.NumeralStyle="Normal">1234567890</Run>
<Run Typography.NumeralStyle="OldStyle">1234567890</Run>
</Paragraph>
Proportionele en tabellaire cijfers
OpenType-lettertypen ondersteunen een proportionele en tabellaire afbeeldingsfunctie om de uitlijning van breedten te bepalen bij het gebruik van cijfers. Proportionele cijfers beschouwen elk cijfer als verschillend in breedte: "1" is nauwer dan "5". Tabellaire afbeeldingen worden behandeld als cijfers met gelijke breedte, zodat ze verticaal worden uitgelijnd, waardoor de leesbaarheid van financiële gegevens wordt verhoogd.
In de volgende tekst worden twee proportionele cijfers in de eerste kolom weergegeven met behulp van het lettertype Miramont. Let op het verschil in breedte tussen de cijfers '5' en '1'. In de tweede kolom ziet u dezelfde twee numerieke waarden, waarbij de breedte is aangepast met behulp van de functie voor tabellaire afbeeldingen.
In het volgende voorbeeld van markeringen ziet u hoe u proportionele en tabellaire afbeeldingen definieert voor het lettertype Miramonte, met behulp van eigenschappen van het Typography-object.
<TextBlock FontFamily="Miramonte">
<Run Typography.NumeralAlignment="Proportional">114,131</Run>
</TextBlock>
<TextBlock FontFamily="Miramonte">
<Run Typography.NumeralAlignment="Tabular">114,131</Run>
</TextBlock>
Doorgestreepte nul
OpenType-lettertypen ondersteunen een schuine nul-numerieke notatie om het verschil tussen de letter 'O' en het numerieke getal '0' te benadrukken. Het schuine nulnummer wordt vaak gebruikt voor id's in financiële en bedrijfsgegevens.
De volgende tekst toont een voorbeeld van een volgorde-identificatie met het lettertype Miramonte. De eerste regel maakt gebruik van standaardnumerals. Om beter contrast te bieden met de hoofdletter 'O', zijn in de tweede regel nulcijfers met schuine streep gebruikt.
In het volgende markup-voorbeeld ziet u hoe u met behulp van de eigenschappen van het Typography-object geslashte nulcijfers definieert voor het lettertype Miramonte.
<Paragraph FontFamily="Miramonte">
<Run>Order #0048-OTC-390</Run>
<LineBreak/>
<Run Typography.SlashedZero="True">Order #0048-OTC-390</Run>
</Paragraph>
Typografieklasse
Het Typography-object bevat de set functies die door een OpenType-lettertype worden ondersteund. Door de eigenschappen van Typography in markeringen in te stellen, kunt u eenvoudig documenten maken die gebruikmaken van OpenType-functies.
In de volgende tekst worden standaard hoofdletters weergegeven voor het lettertype Pescadero, gevolgd door de letters in de stijl "SmallCaps" en "AllSmallCaps". In dit geval wordt dezelfde tekengrootte gebruikt voor alle drie de woorden.
In het volgende markeervoorbeeld wordt getoond hoe hoofdletters worden gedefinieerd voor het lettertype Pescadero, met behulp van eigenschappen van het Typography-object. Wanneer de notatie SmallCaps wordt gebruikt, wordt elke voorloopletter genegeerd.
<Paragraph FontFamily="Pescadero" FontSize="48">
<Run>CAPITALS</Run>
<Run Typography.Capitals="SmallCaps">Capitals</Run>
<Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
In het volgende codevoorbeeld wordt dezelfde taak uitgevoerd als in het vorige voorbeeld van markeringen.
MyParagraph.FontFamily = new FontFamily("Pescadero");
MyParagraph.FontSize = 48;
Run run_1 = new Run("CAPITALS ");
MyParagraph.Inlines.Add(run_1);
Run run_2 = new Run("Capitals ");
run_2.Typography.Capitals = FontCapitals.SmallCaps;
MyParagraph.Inlines.Add(run_2);
Run run_3 = new Run("Capitals");
run_3.Typography.Capitals = FontCapitals.AllSmallCaps;
MyParagraph.Inlines.Add(run_3);
MyParagraph.Inlines.Add(new LineBreak());
MyParagraph.FontFamily = New FontFamily("Pescadero")
MyParagraph.FontSize = 48
Dim run_1 As New Run("CAPITALS ")
MyParagraph.Inlines.Add(run_1)
Dim run_2 As New Run("Capitals ")
run_2.Typography.Capitals = FontCapitals.SmallCaps
MyParagraph.Inlines.Add(run_2)
Dim run_3 As New Run("Capitals")
run_3.Typography.Capitals = FontCapitals.AllSmallCaps
MyParagraph.Inlines.Add(run_3)
MyParagraph.Inlines.Add(New LineBreak())
Eigenschappen van typografieklasse
De volgende tabel bevat de eigenschappen, waarden en standaardinstellingen van het Typography-object.
Zie ook
.NET Desktop feedback