Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Thema enthält eine Übersicht über einige der wichtigsten Features der OpenType-Schriftarttechnologie in Windows Presentation Foundation (WPF).
OpenType-Schriftartformat
Das OpenType-Schriftartformat ist eine Erweiterung des TrueType-Schriftartformats® und fügt Unterstützung für PostScript-Schriftartdaten hinzu. Das OpenType-Schriftartformat wurde gemeinsam von Microsoft und Adobe Corporation entwickelt. OpenType-Schriftarten und die Betriebssystemdienste, die OpenType-Schriftarten unterstützen, bieten Benutzern eine einfache Möglichkeit zum Installieren und Verwenden von Schriftarten, unabhängig davon, ob die Schriftarten TrueType-Gliederungen oder CFF -Gliederungen (PostScript) enthalten.
Das OpenType-Schriftartformat behebt die folgenden Entwicklerprobleme:
Umfassendere Multiplattformunterstützung.
Bessere Unterstützung für internationale Zeichensätze
Besserer Schutz für Schriftartdaten.
Kleinere Dateigrößen, um die Schriftverteilung effizienter zu gestalten.
Breitere Unterstützung für erweiterte typografische Kontrolle.
Hinweis
Das Windows SDK enthält eine Reihe von OpenType-Beispielschriftarten, die Sie mit Windows Presentation Foundation (WPF)-Anwendungen verwenden können. Diese Schriftarten enthalten die meisten Features, die im restlichen Thema veranschaulicht werden. Weitere Informationen finden Sie unter OpenType-Beispielschriftartenpaket.
Ausführliche Informationen zum OpenType-Schriftartformat finden Sie in der OpenType-Spezifikation.
Erweiterte typografische Erweiterungen
Die Erweiterten Typografietabellen (OpenType Layout-Tabellen) erweitern die Funktionalität von Schriftarten mit TrueType- oder CFF-Gliederungen. OpenType Layout-Schriftarten enthalten zusätzliche Informationen, die die Funktionen der Schriftarten erweitern, um qualitativ hochwertige internationale Typografie zu unterstützen. Die meisten OpenType-Schriftarten machen nur eine Teilmenge der verfügbaren OpenType-Features verfügbar. OpenType-Schriftarten stellen die folgenden Features bereit.
Umfangreiche Zuordnung zwischen Zeichen und Glyphen, die Ligaturen, positionelle Formen, alternative Stile und andere Schriftartersetzungen unterstützen
Unterstützung der zweidimensionalen Positionierung und Glyphenanfügung
Explizite Skript- und Sprachinformationen, die in der Schriftart enthalten sind, sodass eine Textverarbeitungsanwendung ihr Verhalten entsprechend anpassen kann.
Die OpenType Layout-Tabellen werden im Abschnitt "Schriftart-Dateitabellen" der OpenType-Spezifikation ausführlicher beschrieben.
Im restlichen Teil dieser Übersicht wird die Vielfalt und Flexibilität einiger visuell ansprechender OpenType-Features vorgestellt, die durch die Eigenschaften des Typography-Objekts verfügbar gemacht werden. Weitere Informationen zu diesem Objekt finden Sie unter Typografieklasse.
Varianten
Varianten werden verwendet, um verschiedene typographische Formate zu rendern (z. B. hochgestellte und tiefgestellte Zeichen).
Hochgestellte und tiefgestellte Zeichen
Mit der Eigenschaft Variants können Sie hoch- und tiefgestellte Werte für eine OpenType-Schriftart festlegen.
Der folgende Text zeigt hochgestellte Zeichen für die Schriftart „Palatino Linotype“.
Im folgenden Markupbeispiel wird gezeigt, wie mit den Eigenschaften des Typography-Objekts hochgestellte Zeichen für die Schriftart „Palatino Linotype“ definiert werden.
<Paragraph FontFamily="Palatino Linotype">
2<Run Typography.Variants="Superscript">3</Run>
14<Run Typography.Variants="Superscript">th</Run>
</Paragraph>
Der folgende Text zeigt tiefgestellte Zeichen für die Schriftart „Palatino Linotype“.
Im folgenden Markupbeispiel wird gezeigt, wie mit den Eigenschaften des Typography-Objekts tiefgestellte Zeichen für die Schriftart „Palatino Linotype“ definiert werden.
<Paragraph FontFamily="Palatino Linotype">
H<Run Typography.Variants="Subscript">2</Run>O
Footnote<Run Typography.Variants="Subscript">4</Run>
</Paragraph>
Dekorative Verwendung von hochgestellten und tiefgestellten Zeichen
Hoch- und tiefgestellte Zeichen können auch verwendet werden, um mit Groß- und Kleinbuchstaben aus einem Text dekorative Effekte zu erzielen. Der folgende Text zeigt hoch- und tiefgestellte Zeichen für die Schriftart Palatino Linotype. Beachten Sie, dass Großbuchstaben nicht beeinflusst werden.
Im folgenden Markupbeispiel wird gezeigt, wie mit den Eigenschaften des Typography-Objekts hochgestellte und tiefgestellte Zeichen für eine Schriftart definiert werden.
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Superscript">
Chapter One
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Subscript">
Chapter One
</Paragraph>
Hauptstädte
Großbuchstaben sind ein Satz typografischer Formen, bei dem Text mit Glyphen gerendert wird, die als Großbuchstaben formatiert sind. Wenn Text ausschließlich in Großbuchstaben gerendert wird, kann der Abstand zwischen den Buchstaben als zu gering, die Breite der Buchstaben als zu groß und die Proportionen der Buchstaben als zu unausgewogen erscheinen. OpenType unterstützt eine Reihe von Formatierungen für Großbuchstaben, z. B. Kapitälchen, kleine Kapitälchen, Titel und Großbuchstabenabstand. Mit diesen Formatierungen kann die Darstellung von Großbuchstaben gesteuert werden.
Der folgende Text zeigt zuerst die Standardgroßbuchstaben gefolgt von den Buchstaben in den Formaten „SmallCaps“ und „AllSmallCaps“ für die Schriftart „Pescadero“. In diesem Fall wird derselbe Schriftgrad für alle drei Wörter verwendet.
Das folgende Markupbeispiel zeigt, wie Großbuchstaben für die Schriftart Pescadero mithilfe von Eigenschaften des Typography-Objekts definiert werden. Wenn das SmallCaps-Format verwendet wird, werden führende Großbuchstaben ignoriert.
<Paragraph FontFamily="Pescadero" FontSize="48">
<Run>CAPITALS</Run>
<Run Typography.Capitals="SmallCaps">Capitals</Run>
<Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
Großbuchstaben für Titel
Großbuchstaben für Titel sind weniger stark ausgebildet und proportioniert und sollen im Vergleich zu normalen Großbuchstaben eine elegantere Darstellungsweise sicherstellen. Großbuchstaben für Titel werden üblicherweise mit größeren Schriftgraden in Überschriften verwendet. Der folgende Text zeigt normale Großbuchstaben und Großbuchstaben für Titel für die Schriftart „Pescadero“. Beachten Sie die schmaleren Stammbreiten des Texts in der zweiten Zeile.
Im folgenden Markupbeispiel wird gezeigt, wie mit den Eigenschaften des Typography-Objekts Großbuchstaben für Titel für die Schriftart „Pescadero“ definiert werden.
<Paragraph FontFamily="Pescadero">
<Run Typography.Capitals="Titling">chapter one</Run>
</Paragraph>
Kapitalabstand
Der Großbuchstabenabstand ist ein Feature, mit dem Sie bei Verwendung aller Großbuchstaben in Text mehr Abstände bereitstellen können. Großbuchstaben sind in der Regel so konzipiert, dass sie mit Kleinbuchstaben kombiniert werden. Ein Abstand, der zwischen einem Großbuchstaben und einem Kleinbuchstaben ästhetisch wirkt, kann zwischen Großbuchstaben zu gering erscheinen. Im folgende Text werden normale Großbuchstaben und Großbuchstaben für Titel für die Schriftart „Pescadero“ gezeigt.
Das folgende Markupbeispiel zeigt, wie Sie den Versalabstand für die Schriftart Pescadero mithilfe von Eigenschaften des Typography-Objekts definieren.
<Paragraph FontFamily="Pescadero">
<Run Typography.CapitalSpacing="True">CHAPTER ONE</Run>
</Paragraph>
Ligaturen
Ligaturen sind zwei oder mehr Glyphen, die zu einer einzelnen Glyphe zusammengefügt werden, um besser lesbaren und ansprechenderen Text zu erzeugen. OpenType-Schriftarten unterstützen vier Arten von Ligaturen:
Standardligaturen: Entwickelt, um die Lesbarkeit zu verbessern. Zu den Standardligaturen gehören „fi“, „fl“ und „ff“.
Kontextbedingte Ligaturen. Mit Kontextligaturen soll die Lesbarkeit verbessert werden, indem die Buchstaben einer Ligatur optimal verbunden werden.
Bedingte Ligaturen. Bedingte Ligaturen sollen verzierend wirken, wobei die Lesbarkeit eine untergeordnete Rolle spielt.
Historische Ligaturen. Historische Ligaturen sollen eine historische Wirkung erzielen, wobei die Lesbarkeit eine untergeordnete Rolle spielt.
Im folgenden Text werden Glyphe für Standardligaturen in der Schriftart „Pericles“ gezeigt.
Das folgende Markupbeispiel zeigt, wie Standardligaturglyphen für die Schriftart Pericles mithilfe von Eigenschaften des Typography-Objekts definiert werden.
<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>
Der folgende Text zeigt diskretionäre Ligaturglyphen für die Schriftart Pericles an.
Im folgenden Markup-Beispiel wird gezeigt, wie Sie optionale Ligatur-Glyphen für die Schriftart Pericles mithilfe von Eigenschaften des Typography-Objekts definieren.
<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>
Standardmäßig aktivieren OpenType-Schriftarten in Windows Presentation Foundation (WPF) Standardligaturen. Wenn Sie beispielsweise die Schriftart „Palatino Linotype“ verwenden, werden die Standardligaturen „fi“, „ff“ und „fl“ als kombinierte Zeichenglyphe angezeigt. Beachten Sie, dass sich die Zeichenpaare für die einzelnen Standardligaturen berühren.
Allerdings können Sie die Features für Standardligaturen auch deaktivieren, sodass beispielsweise die Standardligatur „ff“ nicht als kombinierte Zeichenglyphe, sondern als zwei einzelne Glyphen angezeigt wird.
Im folgenden Markupbeispiel wird gezeigt, wie mit den Eigenschaften des Typography-Objekts Standardligaturglyphen in der Schriftart „Palatino Linotype“ definiert werden.
<!-- Set standard ligatures to false in order to disable feature. -->
<Paragraph Typography.StandardLigatures="False" FontFamily="Palatino Linotype" FontSize="72">
fi ff fl
</Paragraph>
Schwungbuchstaben
Schwungschrift besteht aus dekorativen Symbolen, deren reiche Verzierungen häufig mit Kalligraphie assoziiert werden. Im folgenden Text werden Standard- und Schwungbuchstabenglyphen für die Schriftart „Pescadero“ gezeigt.
Schwungschrift wird häufig als dekoratives Element in kurzen Sätzen verwendet, z.B. in Veranstaltungsankündigungen. Im folgenden Text werden die Großbuchstaben eines Veranstaltungstitels mit Schwungschrift hervorgehoben.
Im folgenden Markupbeispiel wird gezeigt, wie mit den Eigenschaften des Typography-Objekts Schwungbuchstaben für eine Schriftart definiert werden.
<Paragraph FontFamily="Pescadero" TextBlock.TextAlignment="Center">
Wishing you a<LineBreak/>
<Run Typography.StandardSwashes="1" FontSize="36">Happy New Year!</Run>
</Paragraph>
Kontextbedingte Schwungbuchstaben
Bestimmte Kombinationen von Symbolen in Schwungschrift können unästhetisch wirken, z.B. sich überschneidende Unterlängen bei aufeinander folgenden Buchstaben. Mit kontextbedingter Schwungschrift können Sie Varianten eines Symbols in Schwungschrift verwenden, deren Darstellung dann ästhetischer wirkt. Im folgenden Text wird das gleiche Wort vor und nach dem Übernehmen einer kontextbedingten Variante für die Schwungschrift gezeigt.
Im folgenden Markupbeispiel wird gezeigt, wie mit den Eigenschaften des Typography-Objekts kontextuelle Schwungbuchstaben für die Schriftart „Pescadero“ definiert werden.
<Paragraph FontFamily="Pescadero" Typography.StandardSwashes="1">
Lyon <Run Typography.ContextualSwashes="1">L</Run>yon
</Paragraph>
Alternative Stile
Alternativen sind Glyphen, die anstelle einer Standardglyphe verwendet werden können. OpenType-Schriftarten, z. B. die in den folgenden Beispielen verwendete Pericles-Schriftart, können alternative Glyphen enthalten, mit denen Sie unterschiedliche Darstellungen für Text erstellen können. Der folgende Text zeigt Standardglyphen für die Schriftart Pericles an.
Die Schriftart Pericles OpenType enthält zusätzliche Glyphen, die stilistische Alternativen zum Standardsatz von Glyphen bereitstellen. Der folgende Text zeigt stilistische alternative Glyphen an.
Das folgende Markupbeispiel zeigt, wie stilistische alternative Glyphen für die Pericles-Schriftart mithilfe von Eigenschaften des Typography-Objekts definiert werden.
<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>
Der folgende Text zeigt mehrere andere stilistische alternative Glyphen für die Schriftart Pericles an.
Das folgende Markupbeispiel zeigt, wie diese anderen stilistischen alternativen Glyphen definiert werden.
<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>
Zufällige kontextuelle Alternativen
Zufällige Kontextvarianten stellen mehrere Ersatzglyphen für ein einzelnes Zeichen bereit. Wenn dieses Feature mit Schreibschriftarten implementiert wird, kann es handschriftliche Schrift simulieren, indem es eine Reihe von zufällig ausgewählten Glyphen mit leichten Unterschieden im Aussehen verwendet. Der folgende Text verwendet zufällige Kontextvarianten für die Schriftart Lindsey. Beachten Sie, dass der Buchstabe "a" geringfügig in der Darstellung variiert.
Das folgende Markupbeispiel zeigt, wie zufällige kontextbezogene Alternativen für die Lindsey-Schriftart mithilfe von Eigenschaften des Typography-Objekts definiert werden.
<TextBlock FontFamily="Lindsey">
<Run Typography.ContextualAlternates="True">
a banana in a cabana
</Run>
</TextBlock>
Historische Formulare
Historische Formen sind typografische Konventionen, die in der Vergangenheit üblich waren. Der folgende Text verwendet den Ausdruck "Boston, Massachusetts" unter Verwendung einer historischen Glypenform der Schriftart Palatino Linotype.
Im folgenden Markupbeispiel wird gezeigt, wie mit den Eigenschaften des Typography-Objekts historische Formen für die Schriftart „Palatino Linotype“ definiert werden.
<Paragraph FontFamily="Palatino Linotype">
<Run Typography.HistoricalForms="True">Boston, Massachusetts</Run>
</Paragraph>
Numerische Stile
OpenType-Schriftarten unterstützen eine große Anzahl von Features, die mit numerischen Werten im Text verwendet werden können.
Brüche
OpenType-Schriftarten unterstützen u. a. auch Bruchformate mit diagonalem und horizontalem Bruchstrich.
Im folgenden Text werden Bruchformate für die Schriftart „Palatino Linotype“ gezeigt.
Im folgenden Markupbeispiel wird gezeigt, wie mit den Eigenschaften des Typography-Objekts Bruchformatstile für die Schriftart „Palatino Linotype“ definiert werden.
<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>
Mediävalziffern
OpenType-Schriftarten unterstützen ein altes Zahlenformat. Dieses Format eignet sich zum Anzeigen von Ziffern in Stilen, die nicht mehr Standard sind. Der folgende Text zeigt ein Datum aus dem 18. Jahrhundert in Standard- und historischen Numeralformaten für die Schriftart Palatino Linotype.
Der folgende Text zeigt Standardzahlen für die Schriftart Palatino Linotype, gefolgt von Zahlen im alten Stil.
Das folgende Markupbeispiel zeigt, wie Zahlen im alten Stil für die Schriftart Palatino Linotype mithilfe von Eigenschaften des Typography-Objekts definiert werden.
<Paragraph FontFamily="Palatino Linotype">
<Run Typography.NumeralStyle="Normal">1234567890</Run>
<Run Typography.NumeralStyle="OldStyle">1234567890</Run>
</Paragraph>
Proportionale und tabellarische Abbildungen
OpenType-Schriftarten unterstützen bei der Verwendung von Ziffern in der proportionalen Darstellung und Tabellendarstellung ein Feature zum Anpassen von Ziffern in der Breite. In der proportionalen Darstellung verfügt jede Ziffer über eine eigene Breite: „1“ ist schmaler als „5“. Tabellarische Zahlen werden als Zahlen mit gleicher Breite behandelt, sodass sie vertikal ausgerichtet werden, wodurch die Lesbarkeit von Finanztypinformationen erhöht wird.
Im folgenden Text werden in der ersten Spalte zwei proportionale Zahlen in der Schriftart „Miramonte“ proportional dargestellt. Beachten Sie den Unterschied in der Breite zwischen den Ziffern "5" und "1". In der zweiten Spalte wurde die Breite der gleichen Zahlen mit dem Feature für die Tabellendarstellung angepasst.
Das folgende Markupbeispiel zeigt, wie proportionale und tabellarische Abbildungen für die Schriftart Miramonte mithilfe von Eigenschaften des Typography-Objekts definiert werden.
<TextBlock FontFamily="Miramonte">
<Run Typography.NumeralAlignment="Proportional">114,131</Run>
</TextBlock>
<TextBlock FontFamily="Miramonte">
<Run Typography.NumeralAlignment="Tabular">114,131</Run>
</TextBlock>
Null mit Schrägstrich
OpenType-Schriftarten unterstützen ein durchgestrichenes Null-Ziffernformat, um den Unterschied zwischen dem Buchstaben "O" und der Zahl "0" hervorzuheben. Die Ziffer 0 (null) mit Schrägstrich wird häufig für Kennungen in Finanz- und Geschäftsinformationen verwendet.
Im folgenden Text wird ein Beispiel mit einer Bestellnummer in der Schriftart „Miramonte“ gezeigt. In der ersten Zeile werden Standardzahlen verwendet. In der zweiten Zeile wird die Ziffer 0 (null) mit Schrägstrich verwendet, um die Ziffer 0 (null) optisch besser vom Großbuchstaben „O“ zu unterscheiden.
Im folgenden Markupbeispiel wird gezeigt, wie durchgestrichene Nullziffern für die Schriftart Miramonte mithilfe der Eigenschaften des Typography-Objekts definiert werden.
<Paragraph FontFamily="Miramonte">
<Run>Order #0048-OTC-390</Run>
<LineBreak/>
<Run Typography.SlashedZero="True">Order #0048-OTC-390</Run>
</Paragraph>
Typografieklasse
Das Typography-Objekt macht den Satz von Features verfügbar, die von einer OpenType-Schriftart unterstützt werden. Indem Sie die Eigenschaften von Typography im Markup festlegen, können Sie dokumente, die die OpenType-Features nutzen, ganz einfach erstellen.
Der folgende Text zeigt zuerst die Standardgroßbuchstaben gefolgt von den Buchstaben in den Formaten „SmallCaps“ und „AllSmallCaps“ für die Schriftart „Pescadero“. In diesem Fall wird derselbe Schriftgrad für alle drei Wörter verwendet.
Das folgende Markupbeispiel zeigt, wie Großbuchstaben für die Schriftart Pescadero mithilfe von Eigenschaften des Typography-Objekts definiert werden. Wenn das SmallCaps-Format verwendet wird, werden führende Großbuchstaben ignoriert.
<Paragraph FontFamily="Pescadero" FontSize="48">
<Run>CAPITALS</Run>
<Run Typography.Capitals="SmallCaps">Capitals</Run>
<Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
Im folgenden Codebeispiel wird dieselbe Aufgabe wie im vorherigen Markupbeispiel ausgeführt.
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())
Eigenschaften der Typografieklasse
In der folgenden Tabelle sind die Eigenschaften, Werte und Standardeinstellungen des Typography-Objekts aufgeführt.
Siehe auch
.NET Desktop feedback