Vergleich der Win32-Text-API
Für Entwickler, die ihren Win32-Anwendungscode migrieren, sind in der folgenden Tabelle die Win32-Text-APIs und die ungefähre Entsprechung in DirectWrite.
| GDI-Textaufrufe | Beschreibung | DirectWrite Entsprechende |
|---|---|---|
| AddFontMemResourceEx | Fügt der Schriftarttabelle des Systems eine eingebettete Schriftart hinzu. | CreateCustomFontFileReference + CreateCustomFontCollection |
| AddFontResource | Fügt der Schriftarttabelle des Systems eine Schriftartressource hinzu. | Es gibt keine Entsprechung. AddFontResource fügt der Auflistung der Systemschriftart im Rahmen des Installationsschritts der GDI-Schriftart hinzu. DirectWrite die Auflistung der Systemschriftart im Voraus auf und überwacht automatisch Updates dafür, sodass keine Installation erforderlich ist. |
| AddFontResourceEx | Fügt der Schriftarttabelle des Systems eine private oder nicht aufzählbare Schriftart hinzu. | Wie oben |
| CreateFont | Erstellt eine logische Schriftart. | Anstelle einer logischen Schriftart können Anwendungen einen Satz von Schriftarteigenschaften (z. B. Familienname, Gewichtung, Stil, Stretching und Größe) angeben, um ein IDWriteTextFormat-Objekt zu erstellen. Nur Apps, die eine Enumeration der Schriftart erfordern, greifen über die IDWriteFontCollection auf 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 | Enumeriert alle Schriftarten im System mit bestimmten Merkmalen. | IDWriteFontCollection-Schnittstelle über IDWriteFactory::GetSystemFontCollection |
| ExtTextOut | Zeichnet eine Zeichenfolge. | IDWriteTextLayout::D raw oder IDWriteRenderBitmapTarget::D rawGlyphRun |
| GetAspectRatioFilterEx | Ruft die Einstellung für den Filter für das Seitenverhältnis ab. | NICHT ZUTREFFEND |
| 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 eines Arrays 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 Bruchbreiten 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 über die ausgewählte Schriftart für einen Anzeigekontext zurück. | NICHT ZUTREFFEND |
| 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 Kontur oder Bitmap für ein Zeichen in der TrueType-Schriftart ab. | glyph metrics -- IDWriteFontFace::GetDesignGlyphMetrics, actual outline information --IDwriteFontFace::GetGlyphRunOutline, if you want 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 kerning selbst, sodass keine Methode zum Zurückgeben dieser Informationen zur Verfügung steht). |
| GetOutlineTextMetrics | Ruft Textmetriken für TrueType-Schriftarten ab. | IDWriteFontFace::GetMetrics |
| GetRasterizerCaps | Gibt an, ob TrueType-Schriftarten installiert sind. | (TrueType-Schriftarten werden standardmäßig auf Windows Vista Windows 7 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 Abstand zwischen Zeichen für einen Gerätekontext ab. | NICHT ZUTREFFEND |
| GetTextColor | Ruft die Textfarbe für einen Gerätekontext ab. | N/V. (DirectWrite ist unabhängig vom Rendering und kennt daher die Farbe nicht. Anwendungen müssen dies 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 aus. | IDWriteFontFace::GetMetrics |
| PolyTextOut | Zeichnet mehrere Zeichenfolgen unter Verwendung der Schrift- und Textfarben in einem Gerätekontext. | N/A; Erstellen mehrerer Layoutobjekte |
| RemoveFontMemResourceEx | Entfernt eine Schriftart, deren Quelle in ein Dokument eingebettet wurde, aus der Schriftarttabelle des Systems. | IUnknown::Release für das zugeordnete Objekt |
| RemoveFontResource | Entfernt die Schriftarten in einer Datei aus der Schriftarttabelle des Systems. | NICHT ZUTREFFEND |
| RemoveFontResourceEx | Entfernt eine private oder nicht aufzählbare Schriftart aus der Schriftarttabelle des Systems. | NICHT ZUTREFFEND |
| SetMapperFlags | Ändert den Algorithmus, der verwendet wird, um logische Schriftarten physischen Schriftarten zuzuordnen. | NICHT ZUTREFFEND |
| SetTextAlign | Legt die Textausrichtungsflags für einen Gerätekontext fest. | IDWriteTextFormat::SetTextAlignment |
| SetTextCharacterExtra | Legt den Abstand zwischen Zeichen fest. | NICHT ZUTREFFEND |
| SetTextColor | Legt die Textfarbe für einen Gerätekontext fest. | Eine Anwendung muss die Angabe der Farbe in einem der Draw-Aufrufe übernehmen. |
| SetTextJustification | Gibt den Speicherplatz an, den das System den Unterbrechungszeichen 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 Tabstopps auf angegebene Werte. | IDWriteTextLayout::D raw |
| Textout | Schreibt eine Zeichenfolge an einer Position. | IDWriteTextLayout::D raw |