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使用されるアプリケーション定義のコールバック関数。 IDWriteFontCollectionインターフェイス、IDWriteFactory::GetSystemFontCollection
EnumFontFamiliesExの 特定の特性を持つシステム内のすべてのフォントを列挙します。 IDWriteFontCollectionインターフェイス、IDWriteFactory::GetSystemFontCollection
extTextOutの 文字列を描画します。 IDWriteTextLayout::D raw または IDWriteRenderBitmapTarget::D rawGlyphRun
GetAspectRatioFilterExをする 縦横比フィルターの設定を取得します。 N/A
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の 表示コンテキストの選択したフォントに関する情報を返します。 N/A
GetFontUnicodeRangesの フォントでサポートされている Unicode 文字を示します。 IDWriteFont::HasCharacter のループ
GetGlyphIndicesの 文字列をグリフ インデックスの配列に変換します。 IDWriteFontFace::GetGlyphIndices
GetGlyphOutlineをする TrueType フォントの文字のアウトラインまたはビットマップを取得します。 glyph metrics -- IDWriteFontFace::GetDesignGlyphMetrics, 実際のアウトライン情報 --IDwriteFontFace::GetGlyphRunOutline, グリフ ビットマップが必要な場合は、IDWriteRenderBitmapRenderTarget::D rawGlyphRun
GetKerningPairs フォントの文字とカーニングのペアを取得します。 カーニングは、レイアウトの文字体裁プロパティを介して許可されます (DirectWrite 自体はカーニングを行うので、この情報を返すメソッドはありません)。
GetOutlineTextMetricsをする TrueType フォントのテキスト メトリックを取得します。 IDWriteFontFace::GetMetrics
GetRasterizerCapsの TrueType フォントがインストールされているかどうかを示します。 (TrueType フォントは、既定で Windows Vista および Windows 7 にインストールされます)。
GetTabbedTextExtentをする タブを含む文字列の幅と高さを計算します。 IDWriteTextLayout::GetMetrics
GetTextAlignの デバイス コンテキストのテキスト配置設定を取得します。 IDWriteTextFormat::GetTextAlignment
GetTextCharacterExtraの デバイス コンテキストの現在の文字間の間隔を取得します。 N/A
GetTextColorの デバイス コンテキストのテキストの色を取得します。 N/A。 (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の
RemoveFontResourceの システム フォント テーブルからファイル内のフォントを削除します。 N/A
RemoveFontResourceExの システム フォント テーブルからプライベートフォントまたは列挙不可能フォントを削除します。 N/A
SetMapperFlagsの 論理フォントを物理フォントにマップするために使用するアルゴリズムを変更します。 N/A
SetTextAlignの デバイス コンテキストのテキスト配置フラグを設定します。 IDWriteTextFormat::SetTextAlignment
SetTextCharacterExtraの 文字間の間隔を設定します。 N/A
SetTextColorの デバイス コンテキストのテキストの色を設定します。 アプリケーションは、Draw 呼び出しのいずれかで色を指定する必要があります。
SetTextJustificationの システムが文字列内の区切り文字に追加する領域の量を指定します。 N/A。 このリリースでは、理由と文字間隔はサポートされていません。
TabbedTextOutをする 指定した値にタブを展開して、位置に文字列を書き込みます。 IDWriteTextLayout::D raw
TextOutの 場所に文字列を書き込みます IDWriteTextLayout::D raw