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 | 縦横比フィルターの設定を取得します。 | 該当なし |
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 フォントの文字のアウトラインまたはビットマップを取得します。 | グリフ メトリック -- 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 | デバイス コンテキストの現在の文字間の間隔を取得します。 | 該当なし |
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 |
RemoveFontResource | システム フォント テーブルからファイル内のフォントを削除します | 該当なし |
RemoveFontResourceEx | システム フォント テーブルからプライベートフォントまたは列挙不可能なフォントを削除します。 | 該当なし |
SetMapperFlags | 論理フォントを物理フォントにマップするために使用するアルゴリズムを変更します。 | 該当なし |
SetTextAlign | デバイス コンテキストのテキスト配置フラグを設定します。 | IDWriteTextFormat::SetTextAlignment |
SetTextCharacterExtra | 文字間の間隔を設定します。 | 該当なし |
SetTextColor | デバイス コンテキストのテキストの色を設定します。 | アプリケーションは 、描画 呼び出しのいずれかで色を指定する必要があります。 |
SetTextJustification | システムが文字列内の区切り文字に追加する必要がある領域の量を指定します。 | 該当なし。 このリリースでは、理由と文字間隔はサポートされていません。 |
TabbedTextOut | 特定の場所に文字列を書き込み、タブを指定した値に展開します。 | IDWriteTextLayout::D raw |
Textout | 場所に文字列を書き込みます | IDWriteTextLayout::D raw |