Porovnání textových rozhraní API win32

Pro vývojáře, kteří migrují kód aplikace Win32, uvádí následující tabulka rozhraní API win32 text a přibližný ekvivalent v directWrite.

Volání textu GDI Popis Ekvivalent directWrite
AddFontMemResourceEx Přidá vložené písmo do systémové tabulky písem. CreateCustomFontFileReference + CreateCustomFontCollection
AddFontResource Přidá prostředek písma do systémové tabulky písem. Neexistuje žádný ekvivalent. AddFontResource přidá do systémové kolekce písem v rámci kroku instalace písma GDI. DirectWrite naplní systémovou kolekci písem předem a automaticky monitoruje aktualizace, takže nikdy není potřeba žádná instalace.
AddFontResourceEx Přidá do systémové tabulky písem soukromé nebo nečíslitelné písmo. Stejné jako výše uvedené
CreateFont Vytvoří logické písmo. Místo logického písma můžou aplikace zadat sadu vlastností písma (například název rodiny, váha, styl, roztažení a velikost) a vytvořit tak IDWriteTextFormat. Pouze aplikace, které vyžadují výčet písma, budou mít přístup k IDWriteFont prostřednictvím IDWriteFontCollection.
CreateFontIndirect Vytvoří logické písmo ze struktury. Stejné jako výše uvedené
CreateFontIndirectEx Vytvoří logické písmo ze struktury. Stejné jako výše uvedené
DrawText Nakreslí formátovaný text do obdélníku. IDWriteTextLayout::D raw
DrawTextEx Nakreslí formátovaný text do obdélníku. IDWriteTextLayout::D raw
EnumFontFamExProc Funkce zpětného volání definovaná aplikací používaná s EnumFontFamiliesEx ke zpracování písem. rozhraní IDWriteFontCollection prostřednictvím IDWriteFactory::GetSystemFontCollection
EnumFontFamiliesEx Vytvoří výčet všech písem v systému s určitými vlastnostmi. rozhraní IDWriteFontCollection prostřednictvím IDWriteFactory::GetSystemFontCollection
ExtTextOut Nakreslí řetězec znaků. IDWriteTextLayout::D raw nebo IDWriteRenderBitmapTarget::D rawGlyphRun
getAspectRatioFilterEx Získá nastavení pro filtr poměru stran. Není k dispozici
GetCharABCWidths Získá šířky po sobě jdoucích znaků z písma TrueType. IDWriteFontFace::GetDesignGlyphMetrics
GetCharABCWidthsFloat Získá šířky po sobě jdoucích znaků z aktuálního písma. IDWriteFontFace::GetDesignGlyphMetrics
GetCharABCWidthsI Získá šířky po sobě jdoucích indexů glyfů nebo pole indexů glyph z písma TrueType. IDWriteFontFace::GetDesignGlyphMetrics
GetCharacterPlacement Získá informace o řetězci znaků. idWriteTextAnalyzer
GetCharWidth32 Získá šířky po sobě jdoucích znaků z aktuálního písma. IDWriteFontFace::GetDesignGlyphMetrics nebo IDWriteTextLayout::GetMetrics
GetCharWidthFloat Získá desetinné šířky po sobě jdoucích znaků z aktuálního písma. IDWriteFontFace::GetDesignGlyphMetrics nebo IDWriteTextLayout::GetMetrics
GetCharWidthI Získá šířky po sobě jdoucích indexů glyfů nebo pole indexů glyfů z aktuálního písma. IDWriteFontFace::GetDesignGlyphMetrics nebo IDWriteTextLayout::GetMetrics
GetFontData Získá data metriky pro písmo TrueType. IDWriteFontFace::TryGetFontTable
GetFontLanguageInfo Vrátí informace o vybraném písmu pro kontext zobrazení. Není k dispozici
GetFontUnicodeRanges Určuje, které znaky Unicode písmo podporuje. smyčka IDWriteFont::HasCharacter
getGlyphIndices Převede řetězec na pole indexů glyfů. IDWriteFontFace::GetGlyphIndices
GetGlyphOutline Získá obrys nebo rastrový obrázek znaku v písmu TrueType. metriky glyph -- IDWriteFontFace::GetDesignGlyphMetrics, skutečné informace osnovy --IDwriteFontFace::GetGlyphRunLine, pokud chcete glyph bitmapy, IDWriteRenderBitmapRenderTarget::D rawGlyphRun
GetKerningPairs Získá dvojice prokládání znaků pro písmo. Prokládání povolené prostřednictvím typografických vlastností rozložení (DirectWrite provádí prokládání samotné, takže neexistuje žádná metoda pro vrácení těchto informací).
GetOutlineTextMetrics Získá textové metriky pro písma TrueType. IDWriteFontFace::GetMetrics
GetRasterizerCaps Určuje, jestli jsou nainstalována písma TrueType. (Písma TrueType jsou ve výchozím nastavení nainstalována v systémech Windows Vista a Windows 7.)
GetTabbedTextExtent Vypočítá šířku a výšku znakového řetězce včetně tabulátoru. IDWriteTextLayout::GetMetrics
GetTextAlign Získá nastavení zarovnání textu pro kontext zařízení. IDWriteTextFormat::GetTextAlignment
GetTextCharacterExtra Získá aktuální mezery mezi znaky pro kontext zařízení. Není k dispozici
GetTextColor Získá barvu textu pro kontext zařízení. Není k dispozici. (DirectWrite je nezávislý na vykreslování, a proto nezná barvu. Aplikace si musí udržet přehled o sobě.)
GetTextExtentExpoint Získá počet znaků v řetězci, který se vejde do mezery. IDWriteTextLayout::GetMetrics
GetTextExtentExtentExPointI Získá počet indexů glyfů, které se vejdou do prostoru. IDWriteTextLayout::GetMetrics
GetTextExtentPoint32 Vypočítá šířku a výšku řetězce textu. IDWriteTextLayout::GetMetrics
GetTextExtentPointI Vypočítá šířku a výšku pole indexů glyfů. IDWriteTextLayout::GetMetrics
GetTextFace Získá název písma vybraného do kontextu zařízení. IDWriteFont::GetFaceNames (vrátí všechny názvy)
GetTextMetrics Vyplní vyrovnávací paměť metrikami písma. IDWriteFontFace::GetMetrics
PolyTextOut Nakreslí několik řetězců pomocí barvy písma a textu v kontextu zařízení. Není k dispozici; vytvoření několika objektů rozložení
RemoveFontMemResourceEx Odebere písmo, jehož zdroj byl vložen do dokumentu, ze systémové tabulky písem. IUnknown::Release u přidruženého objektu
RemoveFontResource Odebere písma v souboru ze systémové tabulky písem. Není k dispozici
RemoveFontResourceEx Odebere ze systémové tabulky písem soukromé nebo ne enumerovatelné písmo. Není k dispozici
SetMapperFlags Změní algoritmus použitý k mapování logických písem na fyzická písma. Není k dispozici
SetTextAlign Nastaví příznaky zarovnání textu pro kontext zařízení. IDWriteTextFormat::SetTextAlignment
SetTextCharacterExtra Nastaví mezery mezi znaky. Není k dispozici
SetTextColor Nastaví barvu textu pro kontext zařízení. Aplikace se musí postarat o určení barvy v jednom z kreslení volání.
SetTextJustification Určuje velikost místa, které má systém přidat k znaky přerušení v řetězci. Není k dispozici. V této verzi není podporováno zarovnání a mezer mezi znaky.
TabbedTextOut Zapíše řetězec znaků do umístění a rozbalí tabulátory na zadané hodnoty. IDWriteTextLayout::D raw
TextOut Zapíše řetězec znaků do umístění. IDWriteTextLayout::D raw