Win32 Text API の比較

Win32 アプリケーション コードを移行する開発者向けに、次の表に、Win32 Text API と、DirectWriteのおおよその同等の API を示します。

GDI テキスト呼び出し 説明 同等のDirectWrite
AddFontMemResourceEx システム フォント テーブルに埋め込みフォントを追加します。 CreateCustomFontFileReference + CreateCustomFontCollection
AddFontResource システム フォント テーブルにフォント リソースを追加します。 同等のものはありません。 AddFontResource は、GDI フォントのインストール手順の一環としてシステム フォント コレクションに追加されます。 DirectWriteは、システム フォント コレクションを事前に設定し、更新プログラムを自動的に監視するため、インストールは必要ありません。
AddFontResourceEx システム フォント テーブルにプライベートフォントまたは列挙可能でないフォントを追加します。 同上
CreateFont 論理フォントを作成します。 アプリケーションでは、論理フォントの代わりに、一連のフォント プロパティ (ファミリ名、太さ、スタイル、ストレッチ、サイズなど) を指定して IDWriteTextFormat を作成できます。 フォントの列挙を必要とするアプリのみが、IDWriteFontCollection を介して IDWriteFont にアクセスします
CreateFontIndirect 構造体から論理フォントを作成します。 同上
CreateFontIndirectEx 構造体から論理フォントを作成します。 同上
Drawtext 書式設定されたテキストを四角形に描画します。 IDWriteTextLayout::D raw
DrawTextEx 書式設定されたテキストを四角形に描画します。 IDWriteTextLayout::D raw
EnumFontFamExProc フォントを処理するために EnumFontFamiliesEx と共に使用されるアプリケーション定義のコールバック関数。 IDWriteFactory::GetSystemFontCollection を使用した IDWriteFontCollection インターフェイス
EnumFontFamiliesEx 特定の特性を持つシステム内のすべてのフォントを列挙します。 IDWriteFactory::GetSystemFontCollection を使用した IDWriteFontCollection インターフェイス
ExtTextOut 文字列を描画します。 IDWriteTextLayout::D raw または IDWriteRenderBitmapTarget::D rawGlyphRun
GetAspectRatioFilterEx 縦横比フィルターの設定を取得します。 該当なし
GetCharABCWidths TrueType フォントから連続する文字の幅を取得します。 IDWriteFontFace::GetDesignGlyphMetrics
GetCharABCWidthsFloat 現在のフォントから連続する文字の幅を取得します。 IDWriteFontFace::GetDesignGlyphMetrics
GetCharABCWidthsI 連続するグリフ インデックスの幅またはグリフ インデックスの配列を TrueType フォントから取得します。 IDWriteFontFace::GetDesignGlyphMetrics
GetCharacterPlacement 文字列に関する情報を取得します。 IDWriteTextAnalyzer
GetCharWidth32 現在のフォントから連続する文字の幅を取得します。 IDWriteFontFace::GetDesignGlyphMetrics または IDWriteTextLayout::GetMetrics
GetCharWidthFloat 現在のフォントから連続する文字の小数部の幅を取得します。 IDWriteFontFace::GetDesignGlyphMetrics または IDWriteTextLayout::GetMetrics
GetCharWidthI 現在のフォントから、連続するグリフ インデックスの幅またはグリフ インデックスの配列を取得します。 IDWriteFontFace::GetDesignGlyphMetrics または IDWriteTextLayout::GetMetrics
GetFontData TrueType フォントのメトリック データを取得します。 IDWriteFontFace::TryGetFontTable
GetFontLanguageInfo 表示コンテキストで選択したフォントに関する情報を返します。 該当なし
GetFontUnicodeRanges フォントでサポートされている Unicode 文字を示します。 IDWriteFont::HasCharacter のループ
GetGlyphIndices 文字列をグリフ インデックスの配列に変換します。 IDWriteFontFace::GetGlyphIndices
GetGlyphOutline TrueType フォントの文字のアウトラインまたはビットマップを取得します。 glyph metrics -- IDWriteFontFace::GetDesignGlyphMetrics, actual outline information --IDwriteFontFace::GetGlyphRunOutline, if you want if you want glyph bitmaps, IDWriteRenderBitmapRenderTarget::D rawGlyphRun
GetKerningPairs フォントの文字とカーニングのペアを取得します。 カーニングはレイアウトの文字体裁プロパティを介して許可されます (DirectWriteはカーニング自体を行うので、この情報を返す方法はありません)。
GetOutlineTextMetrics TrueType フォントのテキスト メトリックを取得します。 IDWriteFontFace::GetMetrics
GetRasterizerCaps TrueType フォントがインストールされているかどうかを示します。 (TrueType フォントはWindows Vista にインストールされ、既定では Windows 7 にインストールされます)。
GetTabbedTextExtent タブを含む文字列の幅と高さを計算します。 IDWriteTextLayout::GetMetrics
GetTextAlign デバイス コンテキストのテキスト配置設定を取得します。 IDWriteTextFormat::GetTextAlignment
GetTextCharacterExtra デバイス コンテキストの現在の文字間隔を取得します。 該当なし
GetTextColor デバイス コンテキストのテキストの色を取得します。 該当なし。 (DirectWriteはレンダリングに依存しないため、色がわかりません。アプリケーションでは、それ自体を追跡する必要があります)。
GetTextExtentExPoint スペース内に収まる文字列内の文字数を取得します。 IDWriteTextLayout::GetMetrics
GetTextExtentExPointI スペース内に収まるグリフ インデックスの数を取得します。 IDWriteTextLayout::GetMetrics
GetTextExtentPoint32 テキストの文字列の幅と高さを計算します。 IDWriteTextLayout::GetMetrics
GetTextExtentPointI グリフ インデックスの配列の幅と高さを計算します。 IDWriteTextLayout::GetMetrics
GetTextFace デバイス コンテキストで選択されたフォントの名前を取得します。 IDWriteFont::GetFaceNames (すべての名前を返します)
GetTextMetrics バッファーにフォントのメトリックを入力します。 IDWriteFontFace::GetMetrics
PolyTextOut デバイス コンテキストでフォントとテキストの色を使用して、複数の文字列を描画します。 N/A;複数のレイアウト オブジェクトを作成する
RemoveFontMemResourceEx ソースがドキュメントに埋め込まれたフォントをシステム フォント テーブルから削除します。 IUnknown::Release on the associated object
RemoveFontResource システム フォント テーブルからファイル内のフォントを削除します 該当なし
RemoveFontResourceEx システム フォント テーブルからプライベートまたは列挙不可能なフォントを削除します。 該当なし
SetMapperFlags 論理フォントを物理フォントにマップするために使用するアルゴリズムを変更します。 該当なし
SetTextAlign デバイス コンテキストのテキスト配置フラグを設定します。 IDWriteTextFormat::SetTextAlignment
SetTextCharacterExtra 文字間の間隔を設定します。 該当なし
SetTextColor デバイス コンテキストのテキストの色を設定します。 アプリケーションは、 描画 呼び出しのいずれかで色を指定する必要があります。
SetTextJustification システムが文字列内の区切り文字に追加する必要がある領域の量を指定します。 該当なし。 このリリースでは、理由と文字の間隔はサポートされていません。
TabbedTextOut 特定の場所に文字列を書き込み、タブを指定した値に展開します。 IDWriteTextLayout::D raw
Textout 場所に文字列を書き込みます IDWriteTextLayout::D raw