Win32-Text-API–Vergleich
Für Entwickler, die ihren Win32-Anwendungscode migrieren, sind in der folgenden Tabelle die Win32-Text-APIs und die ungefähre Entsprechung in DirectWrite aufgeführt.
GDI-Textaufrufe | BESCHREIBUNG | DirectWrite Äquivalent |
---|---|---|
AddFontMemResourceEx | Fügt der Systemschriftarttabelle eine eingebettete Schriftart hinzu. | CreateCustomFontFileReference + CreateCustomFontCollection |
AddFontResource | Fügt der Systemschriftarttabelle eine Schriftartressource hinzu. | Es gibt keine Entsprechung. AddFontResource fügt der Systemschriftartsammlung im Rahmen des Installationsschritts für GDI-Schriftarten hinzu. DirectWrite füllt die Systemschriftartensammlung im Voraus auf und überwacht automatisch Updates, sodass keine Installation erforderlich ist. |
AddFontResourceEx | Fügt der Systemschriftarttabelle eine private oder nicht aufzählbare Schriftart hinzu. | Wie oben |
CreateFont | Erstellt eine logische Schriftart. | Anstelle der logischen Schriftart können Anwendungen eine Reihe von Schriftarteigenschaften (z. B. Familienname, Gewichtung, Formatvorlage, Stretch und Größe) angeben, um ein IDWriteTextFormat zu erstellen. Nur Apps, die eine Enumeration der Schriftart erfordern, greifen über idWriteFontCollection auf ein IDWriteFont zu. |
CreateFontIndirect | Erstellt eine logische Schriftart aus einer -Struktur. | Wie oben |
CreateFontIndirectEx | Erstellt eine logische Schriftart aus einer -Struktur. | Wie oben |
Drawtext | Zeichnet formatierten Text in einem Rechteck. | IDWriteTextLayout::D raw |
DrawTextEx | Zeichnet formatierten Text in einem Rechteck. | IDWriteTextLayout::D raw |
EnumFontFamExProc | Eine anwendungsdefinierte Rückruffunktion, die mit EnumFontFamiliesEx zum Verarbeiten von Schriftarten verwendet wird. | IDWriteFontCollection-Schnittstelle über IDWriteFactory::GetSystemFontCollection |
EnumFontFamiliesEx | Listet alle Schriftarten im System mit bestimmten Merkmalen auf. | IDWriteFontCollection-Schnittstelle über IDWriteFactory::GetSystemFontCollection |
ExtTextOut | Zeichnet eine Zeichenfolge. | IDWriteTextLayout::D raw oder IDWriteRenderBitmapTarget::D rawGlyphRun |
GetAspectRatioFilterEx | Ruft die Einstellung für den Seitenverhältnisfilter ab. | – |
GetCharABCWidths | Ruft die Breite aufeinanderfolgender Zeichen aus der TrueType-Schriftart ab. | IDWriteFontFace::GetDesignGlyphMetrics |
GetCharABCWidthsFloat | Ruft die Breite aufeinanderfolgender Zeichen aus der aktuellen Schriftart ab. | IDWriteFontFace::GetDesignGlyphMetrics |
GetCharABCWidthsI | Ruft die Breite aufeinanderfolgender Glyphenindizes oder ein Array von Glyphenindizes aus der TrueType-Schriftart ab. | IDWriteFontFace::GetDesignGlyphMetrics |
GetCharacterPlacement | Ruft Informationen zu einer Zeichenfolge ab. | IDWriteTextAnalyzer |
GetCharWidth32 | Ruft die Breite aufeinanderfolgender Zeichen aus der aktuellen Schriftart ab. | IDWriteFontFace::GetDesignGlyphMetrics oder IDWriteTextLayout::GetMetrics |
GetCharWidthFloat | Ruft die Bruchbreite aufeinanderfolgender Zeichen aus der aktuellen Schriftart ab. | IDWriteFontFace::GetDesignGlyphMetrics oder IDWriteTextLayout::GetMetrics |
GetCharWidthI | Ruft die Breite aufeinanderfolgender Glyphenindizes oder eines Arrays von Glyphenindizes aus der aktuellen Schriftart ab. | IDWriteFontFace::GetDesignGlyphMetrics oder IDWriteTextLayout::GetMetrics |
GetFontData | Ruft Metrikdaten für eine TrueType-Schriftart ab. | IDWriteFontFace::TryGetFontTable |
GetFontLanguageInfo | Gibt Informationen zur ausgewählten Schriftart für einen Anzeigekontext zurück. | – |
GetFontUnicodeRanges | Gibt an, welche Unicode-Zeichen von einer Schriftart unterstützt werden. | Schleife von IDWriteFont::HasCharacter |
GetGlyphIndices | Übersetzt eine Zeichenfolge in ein Array von Glyphenindizes. | IDWriteFontFace::GetGlyphIndices |
GetGlyphOutline | Ruft die Gliederung oder Bitmap für ein Zeichen in der TrueType-Schriftart ab. | glyph metrics -- IDWriteFontFace::GetDesignGlyphMetrics, tatsächliche Gliederungsinformationen --IDwriteFontFace::GetGlyphRunOutline, wenn Sie Glyph-Bitmaps, IDWriteRenderBitmapRenderTarget::D rawGlyphRun |
GetKerningPairs | Ruft die Zeichen-Kerning-Paare für eine Schriftart ab. | Kerning ist über typografische Eigenschaften des Layouts zulässig (DirectWrite führt das Kerning selbst durch, sodass es keine Methode gibt, um diese Informationen zurückzugeben). |
GetOutlineTextMetrics | Ruft Textmetriken für TrueType-Schriftarten ab. | IDWriteFontFace::GetMetrics |
GetRasterizerCaps | Gibt an, ob TrueType-Schriftarten installiert sind. | (TrueType-Schriftarten werden unter Windows Vista und Windows 7 standardmäßig installiert.) |
GetTabbedTextExtent | Berechnet die Breite und Höhe einer Zeichenfolge, einschließlich Registerkarten. | IDWriteTextLayout::GetMetrics |
GetTextAlign | Ruft die Textausrichtungseinstellung für einen Gerätekontext ab. | IDWriteTextFormat::GetTextAlignment |
GetTextCharacterExtra | Ruft den aktuellen Zeichenabstand für einen Gerätekontext ab. | – |
GetTextColor | Ruft die Textfarbe für einen Gerätekontext ab. | N/V. (DirectWrite ist unabhängig vom Rendern und kennt daher die Farbe nicht. Anwendungen müssen sie selbst nachverfolgen.) |
GetTextExtentExPoint | Ruft die Anzahl der Zeichen in einer Zeichenfolge ab, die in ein Leerzeichen passen. | IDWriteTextLayout::GetMetrics |
GetTextExtentExPointI | Ruft die Anzahl der Glyphenindizes ab, die in ein Leerzeichen passen. | IDWriteTextLayout::GetMetrics |
GetTextExtentPoint32 | Berechnet die Breite und Höhe einer Textzeichenfolge. | IDWriteTextLayout::GetMetrics |
GetTextExtentPointI | Berechnet die Breite und Höhe eines Arrays von Glyphenindizes. | IDWriteTextLayout::GetMetrics |
GetTextFace | Ruft den Namen der Schriftart ab, die in einem Gerätekontext ausgewählt ist. | IDWriteFont::GetFaceNames (Gibt alle Namen zurück) |
GetTextMetrics | Füllt einen Puffer mit den Metriken für eine Schriftart. | IDWriteFontFace::GetMetrics |
PolyTextOut | Zeichnet mehrere Zeichenfolgen unter Verwendung der Schriftart- und Textfarben in einem Gerätekontext. | N/A; Erstellen mehrerer Layoutobjekte |
RemoveFontMemResourceEx | Entfernt eine Schriftart, deren Quelle in ein Dokument eingebettet wurde, aus der Systemschriftarttabelle. | IUnknown::Release für das zugeordnete Objekt |
RemoveFontResource | Entfernt die Schriftarten in einer Datei aus der Systemschriftarttabelle. | – |
RemoveFontResourceEx | Entfernt eine private oder nicht aufzählbare Schriftart aus der Systemschriftarttabelle. | – |
SetMapperFlags | Ändert den Algorithmus, der zum Zuordnen logischer Schriftarten zu physischen Schriftarten verwendet wird. | – |
SetTextAlign | Legt die Textausrichtungsflags für einen Gerätekontext fest. | IDWriteTextFormat::SetTextAlignment |
SetTextCharacterExtra | Legt den Zeichenabstand fest. | – |
SetTextColor | Legt die Textfarbe für einen Gerätekontext fest. | Eine Anwendung muss die Farbe in einem der Draw-Aufrufe angeben. |
SetTextJustification | Gibt den Speicherplatz an, den das System den Umbruchzeichen in einer Zeichenfolge hinzufügen soll. | N/V. Begründung und Zeichenabstand werden in dieser Version nicht unterstützt. |
TabbedTextOut | Schreibt eine Zeichenfolge an einer Position und erweitert Registerkarten auf angegebene Werte. | IDWriteTextLayout::D raw |
Textout | Schreibt eine Zeichenfolge an einer Position | IDWriteTextLayout::D raw |