Neuerungen in DirectWrite
In diesem Thema werden die Neuerungen in DirectWrite für verschiedene Releases von Windows 10 beschrieben.
Windows-App-SDK
Das Windows App SDK führt eine neue Version von DirectWrite mit dem Namen DWriteCore ein. Weitere Informationen finden Sie unter Übersicht über DWriteCore.
Windows 10-Update von Mai 2019
Für Windows 10 Version 1903 (10.0; Build 18362) — auch als Windows 10 May 2019 Update bezeichnet.
Windows 10-Update von Oktober 2018
Die folgenden Features und APIs wurden für Windows 10, Version 1809 (10.0; Build 17763) — auch als Windows 10 October 2018 Update bezeichnet.
Neu
- DWRITE_FONT_SOURCE_TYPE-Enumeration
- IDWriteFontSet3-Schnittstelle und ihre Methoden
Windows 10-Update vom April 2018
Die folgenden Features und APIs wurden für Windows 10 Version 1803 (10.0; Build 17134) — auch als Windows 10 April 2018 Update bezeichnet.
Neu
- IDWriteFactory7-Schnittstelle und ihre Methoden
- IDWriteFontCollection3-Schnittstelle und ihre Methoden
- IDWriteFontSet2-Schnittstelle und ihre Methoden
Windows 10 Fall Creators Update
Die folgenden Features und APIs wurden für Windows 10 Version 1709 (10.0; Build 16299) — auch als Windows 10 Fall Creators Update bezeichnet.
Neu
- DWRITE_AUTOMATIC_FONT_AXES-Enumeration
- DWRITE_FONT_AXIS_ATTRIBUTES-Enumeration
- DWRITE_FONT_AXIS_TAG-Enumeration
- DWRITE_FONT_FAMILY_MODEL-Enumeration
- IDWriteFactory6-Schnittstelle und ihre Methoden
- IDWriteFontCollection2-Schnittstelle und ihre Methoden
- IDWriteFontFace5-Schnittstelle und ihre Methoden
- IDWriteFontFaceReference1-Schnittstelle und ihre Methoden
- IDWriteFontFallback1-Schnittstelle und ihre Methoden
- IDWriteFontFamily2-Schnittstelle und ihre Methoden
- IDWriteFontList2-Schnittstelle und ihre Methoden
- IDWriteFontResource-Schnittstelle und ihre Methoden
- IDWriteFontSet1-Schnittstelle und ihre Methoden
- IDWriteFontSetBuilder2-Schnittstelle und ihre Methoden
- IDWriteTextFormat3-Schnittstelle und ihre Methoden
- IDWriteTextLayout4-Schnittstelle und ihre Methoden
- DWRITE_MAKE_FONT_AXIS_TAG-Makro
- DWRITE_FONT_AXIS_RANGE-Struktur
- DWRITE_FONT_AXIS_VALUE-Struktur
Verschoben
Die DWRITE_GLYPH_IMAGE_FORMATS Enumeration wurde von dwrite_3.h in dcommon.h verschoben.
Windows 10 Creators Update
Die folgenden Features und APIs wurden für Windows 10 Version 1703 (10.0; Build 15063) — auch als Windows 10 Creators Update bezeichnet.
Erweiterte API-Unterstützung für Cloudschriftarten und benutzerdefinierte Schriftartensätze
Windows 10 enthaltene APIs, mit denen Apps problemlos über einen Windows Schriftartendienst auf Schriftarten zugreifen können. Im Windows 10 Creators Update werden APIs für Remoteschriftarten erweitert, um den einfachen Zugriff auf Schriftarten aus anderen Quellen im Web zu ermöglichen, auf die über HTTP oder HTTPS zugegriffen werden kann.
Die neuen Remoteschriftart-APIs können mit öffentlichen oder privaten Webdiensten verwendet werden. Darüber hinaus können sie verwendet werden, um auf unformatierte, OpenType-Schriftartdateien (TTF, OTF,, TTC, WLAN) oder Schriftarten zuzugreifen, die in WOFF- oder WOFF2-Containerformaten gepackt sind. Die neuen APIs werden in Verbindung mit vorhandenen APIs für Warteschlangenanforderungen verwendet, um Remoteschriftdaten herunterzuladen und den eigentlichen Downloadvorgang zu verarbeiten.
Andere neue APIs erleichtern Apps die Arbeit mit benutzerdefinierten Schriftarten, die im lokalen Dateisystem gespeichert oder in einen Speicherpuffer geladen werden.
Weitere Informationen zu neuen APIs für die Arbeit mit Remoteschriftarten, benutzerdefinierten Schriftartsätzen oder WOFF/WOFF2-Containerformaten finden Sie im folgenden Thema:
Benutzerdefinierte Schriftartenkombinationen
Siehe auch die Links zu API-Referenzthemen, die in diesem Thema bereitgestellt werden. Die Verwendung neuer und vorhandener APIs für die Arbeit mit benutzerdefinierten Schriftarten wird auch im DirectWrite Beispiel für benutzerdefinierte Schriftartensätzeveranschaulicht. Dieses Beispiel veranschaulicht die Codeimplementierung für verschiedene Szenarien, einschließlich lokaler Schriftarten auf dem Datenträger, Remoteschriftarten im Web, In-Memory-Schriftartdaten und Schriftarten in gepackten WOFF- oder WOFF2-Formaten.
Anfängliche Unterstützung für OpenType-Schriftartvariationen
In Version 1.8 der Spezifikation für das OpenType-Schriftformat wurde eine interessante neue Erweiterung für das Format eingeführt, das als OpenType-Schriftartvariationen bezeichnet wird. DirectWrite wurde im Windows 10 Creators Update aktualisiert, um benannte Instanzen von Variablenschriftarten zu unterstützen. Weitere Informationen finden Sie in den folgenden Themen:
OpenType-Variablenschriftarten
Windows 10 Anniversary Update
Die folgenden Features und APIs wurden für Windows 10 Version 1607 (10.0; Build 14393) — auch als Windows 10 Anniversary Update bezeichnet.
Verbesserte Unterstützung für farbige Schriftarten
Ab Windows 10 Anniversary Update bietet DirectWrite integrierte Unterstützung für eine größere Vielfalt von Farbschriftformaten, sodass Entwickler mehr Schriftarttypen in ihren DirectWrite-basierten Apps als je zuvor verwenden können. Unter anderem werden folgende Elemente unterstützt:
- Die OpenType-Tabelle "COLR", die kompakte Vektorinhalte in Schriftarten ermöglicht. (Wird seit Windows 8.1 unterstützt.)
- Die OpenType-Tabelle "SVG", die SVG-Inhalt in Schriftarten ermöglicht.
- Die OpenType-Tabelle 'ARCHET', die Farbbitmapinhalte in Schriftarten ermöglicht.
- Die OpenType-Tabelle "sbix", die Farbbitmapinhalte in Schriftarten ermöglicht.
Direct2D, das DirectWrite für das Textrendering verwendet, unterstützt diese Farbschriftartformate automatisch, wenn das Flag D2D1 _ DRAW TEXT OPTIONS ENABLE COLOR _ _ _ _ _ FONT aktiviert ist. Weitere Informationen finden Sie in den folgenden Themen:
Unterstützung für Adobe Typekit und andere Schriftartdienstclients
Einige Schriftartdienste, z. B. Adobe Typekit, verfügen über clientseitige Hilfsprogramme, mit denen ein Benutzer Schriftarten aus dem Dienst laden und in verschiedenen Anwendungen auf dem computerbasierten Windows verwenden kann. Diese Hilfsprogramme funktionieren in der Regel durch Laufzeitaufrufe an GDI, um zusätzliche Schriftarten zu laden, anstatt Schriftarten dauerhaft auf dem System zu installieren. Aufgrund dieses Entwurfs können die Schriftarten in früheren Windows Versionen in GDI-basierten Anwendungen verwendet werden, aber nicht in DirectWrite Anwendungen. Ab Windows 10 Anniversary Update sind Schriftarten, die von solchen Hilfsprogrammen geladen werden, auch in DirectWrite sowie in GDI verfügbar.
Schriftarten, die von einem hilfsprogramm font-service geladen werden, sind in der Systemschriftartauflistung sichtbar, die durch Aufrufen der IDWriteFactory::GetSystemFontCollection-Methode abgerufen wurde. Da Schriftartdienste in der Regel einem Lizenzierungsmodell pro Benutzer folgen, werden von diesen Hilfsprogrammen geladene Schriftarten auf Benutzerbasis verwaltet. Daher können vorhandene DirectWrite Anwendungen Schriftarten nutzen, die Endbenutzer mithilfe solcher Dienste erhalten haben, ohne dass Codeänderungen in der Anwendung erforderlich sind, sodass benutzerfreundlichere Funktionen zur Verfügung stehen.
Unterstützung für OpenType-Sammlungen mit CFF-Konturen
Die Schriftartformate OpenType und TrueType unterstützen seit langem die Möglichkeit, mehrere Schriftarten in einer einzigen Schriftartdatei zusammenzupacken, die als "Schriftartsammlung" bezeichnet wird. Die OpenType-Spezifikation hat schriftarten immer die Verwendung von TrueType- oder CFF-Formaten für Glyphengliederungsdaten ermöglicht. Bis vor Kurzem war die Spezifikation jedoch nur für Auflistungen zulässig, in denen Glyphengliederungen das TrueType-Format verwenden. OpenType Version 1.7 ermöglicht sammlungen jetzt die Verwendung von TrueType- oder CFF-Formaten für Glyphengliederungsdaten. Ab Windows 10 Anniversary Update unterstützt DirectWrite OpenType-Sammlungen mit CFF-Gliederungsdaten.
Windows 10
Windows-Dienstintegration
Ab Windows 10 sind Schriftarten, die in Windows enthalten sind, in einem Onlinedienst verfügbar und über DirectWrite auf jedem Windows 10-Gerät zugänglich. Dies gilt für alle Windows 10 Editionen, einschließlich Windows 10 Mobile, Xbox und HoloLens sowie des Desktopclients. Dadurch können Anwendungen Inhalte mit einer beliebigen Windows Schriftart anzeigen, auch wenn die Schriftart derzeit nicht auf dem Gerät installiert ist.
Die Unterstützung für die DirectWrite Schriftartdienstmechanismen wurde im XAML-Framework implementiert. Dies bedeutet, dass alle Anwendungen, die XAML verwenden, keine Codeänderungen erfordern, um den Schriftartdienst nutzen zu können. Dies wird im Xaml-Codebeispiel (Downloadable Fonts) veranschaulicht. Anwendungen, die DirectWrite APIs direkt aufrufen, müssen neue APIs verwenden, um die Schriftartdienstmechanismen zu nutzen. Weitere Informationen finden Sie in den folgenden Themen:
- IDWriteFactory3::GetSystemFontCollection-Methode
- IDWriteTextLayout3-Schnittstelle
- IDWriteFontDownloadQueue-Schnittstelle
- IDWriteFontDownloadListener-Schnittstelle
Das Codebeispiel Herunterladbare Schriftarten (DirectWrite) veranschaulicht die Verwendung mehrerer der neuen APIs.
Schriftartensatz-APIs
DirectWrite die Schnittstellen für die Schriftartauflistung bieten eine Ansicht für eine Auflistung von Schriftarten, die nach Schriftfamilien organisiert ist, wobei Gewichtung, Stretching und Stil als Unterfamilienattribute verwendet werden. Intern implementiert DirectWrite die Schriftartsammlungsschnittstelle mithilfe einer flachen Liste von Schriftarten mit verschiedenen Attributen. Dieser Ansatz ist flexibler, da in die Enumeration von Gewichtungs-/Stretch-/Stilfamilien unterstützen kann, aber auch abfragen und filtern kann, indem andere Schriftartattribute verwendet werden.
In Windows 10 wird dieser flexiblere Mechanismus zur Schriftartbehandlung für Anwendungen über IDWriteFontSet und zugehörige APIs zur Verfügung gestellt. Die Schriftartensatz-APIs können beispielsweise verwendet werden, um eine benutzerdefinierte Benutzeroberfläche für die Schriftartauswahl zu erstellen, die anwendungsspezifische Schriftarteigenschaften in einem benutzerdefinierten Schriftartsatz nutzt.
Weitere Informationen finden Sie in den folgenden Themen:
- IDWriteFontSet-Schnittstelle
- IDWriteFontSetBuilder-Schnittstelle
- DWRITE _ FONT _ PROPERTY _ ID-Enumeration
- IDWriteFontFactory3::GetSystemFontSet-Methode
Neue Textlayout-Zeilenabstandsmodi
das Textformat und die Textlayoutschnittstellen von DirectWrite unterstützen neue Zeilenabstandsmodi. In früheren Versionen war die Textlayoutimplementierung DirectWrite für den Zeilenabstand zulässig, bei dem die Höhe jeder Zeile automatisch basierend auf dem höchsten Element innerhalb einer Zeile festgelegt wurde (Standardmodus), oder der Zeilenabstand, wobei alle Zeilen auf eine einheitliche Höhe festgelegt wurden, die von der Anwendung bestimmt wird (der "einheitliche" Modus). In Windows 10 wird ein zusätzlicher "proportionaler" Zeilenabstandsmodus unterstützt, der Anwendungen mehr Optionen für das Zeilenabstandsverhalten bietet. Weitere Informationen finden Sie in den folgenden Themen:
- IDWriteTextLayout3-Schnittstelle
- IDWriteTextLayout3::SetLineSpacing-Methode
- DWRITE _ LINE _ SPACING-Struktur
- DWRITE _ LINE _ SPACING _ METHOD-Enumeration
- DWRITE _ FONT _ LINE _ GAP _ USAGE-Enumeration
- IDWriteTextLayout3::GetLineMetrics-Methode
- DWRITE _ LINE _ METRICS1-Struktur
Das Codebeispiel Zeilenabstand (DirectWrite) veranschaulicht die Verwendung mehrerer der neuen APIs und bietet auch eine Visualisierung aller verschiedenen Zeilenabstandsmodi, die es viel einfacher machen, die verschiedenen verfügbaren Zeilenabstandsoptionen zu verstehen.
GDI-Interop
Seit der Einführung in Windows 7 hat DirectWrite einen Migrationspfad für Anwendungen bereitgestellt, die ursprünglich mithilfe des Schriftartmodells, des Textlayouts und des Renderings von GDI implementiert wurden. Dies wurde über die [ [ IDWriteGdiInterop-Schnittstelle ] ] bereitgestellt. In Windows 10 bieten zusätzliche APIs zusätzliche GDI-Interop-Funktionen. Weitere Informationen finden Sie im folgenden Thema:
Windows 8.1
Rendern von Farbschriftarten
Ab Windows Windows 8.1 bietet DirectWrite Unterstützung für Farbschriftarten. Direct2D, das DirectWrite für das Textrendering verwendet, hat den Enumerationswert D2D1 _ DRAW TEXT OPTIONS ENABLE COLOR FONT hinzugefügt, um dieses Feature beim Zeichnen von _ _ Text zu _ _ _ aktivieren. Weitere Informationen finden Sie in den folgenden Themen:
Windows 8
Eine neue Factoryschnittstelle, IDWriteFactory1,zum Erstellen zusätzlicher verfügbarer Schnittstellen.
Zusätzliche Schriftarteigenschaften, z. B.: Super-/Tiefskript-, Caretzeichen-Steigung, PANOSE- und Unicode-Bereiche.
Verbesserungen beim Abstand, z. B.: Steuerelementzeichenabstand, Legacykerningpaare und Begründung. Weitere Informationen finden Sie im Thema Begründung, Kerning und Abstand.
Verbesserte Renderziele und -parameter.
Verbesserungen bei der Analyse der Textkomplexität.
Neue Skripteigenschaften, neue Skriptunterstützung (Unicode 6), Schriftartfallbackhinzufügungen, gekoppelte Klammern und Bidi-Erweiterung.
Leistungsverbesserungen des Schriftartcaches. Ab Windows 8 ist der Schriftartcache global und wird gestartet, wenn Ihr Computer gestartet wird.
Neue Renderingmodi.
Ab Windows 8 unterstützt DirectWrite eine Reihe von Features, mit denen Sie Apps für den Weltweiten Markt erstellen können.
Hier sind mehrere Bereiche, die Ihnen helfen, Rich-Text-Apps zu implementieren, die auf Kunden auf der ganzen Welt zugeschnitten werden können.
Chinesische, japanische und koreanische Erweiterungen C & D
Alle paar Jahre veröffentlicht das Unicode-Konsortium eine standardisierte Liste von Ergänzungen zum Block "Chinesisch", "Japanisch" und "Koreanisch unified Ideogramm". Mit der Unicode 6.0-Revision wurden die Erweiterungsblöcke C und D freigegeben. Diese Ideogrammblöcke finden Sie auf der Unicode-Website Erweiterung C und Erweiterung D.
Ab Windows 8 unterstützt DirectWrite die Unicode-Codepunkte für diese neuen Blöcke standardisierter CJK-Ideogramme, sodass Sie sie in DirectWrite Apps verwenden können.
Symbol für die indische Rupie
Im März 2005 hat die malische Regierung einen Wettbewerb angekündigt, um ein Symbol für die währung der indischen Rupie auszuwählen. Nach vielen Wettbewerben wählte die japanische Regierung am 15. Juli 2010 den entwurf, der von D. Udray Kumar erstellt wurde, und DirectWrite enthält Unterstützung für den Unicode-Codepunkt, der an das Symbol gebunden ist. Daher unterstützen DirectWrite Apps jetzt dieses Währungssymbol.
Emoji
DirectWrite unterstützt jetzt die Verwendung von Emoji in Apps. Frühere Versionen von DirectWrite mit einem fehlenden Glyphenfeld angezeigt, wenn Sie versucht haben, ein Emoji-Ideogramm zu rendern. Ab Windows 8 unterstützt DirectWrite den Unicode-Codeblock, der Emoji zugeordnet ist. Wenn Ihre App also die Unicode-Standardcodepunkte für Emoji verwendet, werden die entsprechenden Glyphen angezeigt.
Die Sprachen "Cin", "Tiffinagh" und "Old Hangul"
Ab Windows 8 unterstützt DirectWrite den Block von Unicode-Codepunkten, die den Glyphen in den Sprachen "Cin", "Tiffinagh" und "Old Hangul" entsprechen, sodass Sie Apps erstellen können, die Text aus diesen drei Sprachen enthalten. Zusätzlich zur Unterstützung dieser Zeichen unterstützt DirectWrite die einzigartige Art und Weise, wie Old Hangul Zeilenbruch behandelt.
Neue Skripts
Ab Windows 8 gibt die GetScriptProperties-Methode Informationen für eine Reihe neuer Skripts zurück. Hier ist die Liste der Skripts, die DirectWrite in Windows 8 und danach unterstützt.
- Avestan
- Bamum
- Batak
- Brahmi
- Hieroglyphen
- Ement A wiesic
- Aufläuliche Pahlavi-Füllung
- Der parthianische Parthian
- Javanisch
- Kaithi
- Lisu (Fraser)
- Mandaic
- Meetei Mayek
- Altes Südarenisch
- Altes Türkisch (Orkhon)
- Samariter
- Thai Tham (Lanna)
- Thai Viet