IDWriteTextAnalyzer::GetGlyphs メソッド (dwrite.h)
入力テキスト文字列を解析し、フォントと書き込みシステムのレンダリング ルールに従って、グリフと関連するグリフ データのセットにマップします。
構文
HRESULT GetGlyphs(
[in] WCHAR const *textString,
UINT32 textLength,
IDWriteFontFace *fontFace,
BOOL isSideways,
BOOL isRightToLeft,
[in] DWRITE_SCRIPT_ANALYSIS const *scriptAnalysis,
[in, optional] WCHAR const *localeName,
[optional] IDWriteNumberSubstitution *numberSubstitution,
[in, optional] DWRITE_TYPOGRAPHIC_FEATURES const **features,
[in, optional] UINT32 const *featureRangeLengths,
UINT32 featureRanges,
UINT32 maxGlyphCount,
[out] UINT16 *clusterMap,
[out] DWRITE_SHAPING_TEXT_PROPERTIES *textProps,
[out] UINT16 *glyphIndices,
[out] DWRITE_SHAPING_GLYPH_PROPERTIES *glyphProps,
[out] UINT32 *actualGlyphCount
);
パラメーター
[in] textString
型: const WCHAR*
グリフに変換する文字の配列。
textLength
型: UINT32
textString の長さ。
fontFace
種類: IDWriteFontFace*
出力グリフのソースであるフォント面。
isSideways
種類: BOOL
テキストを垂直方向に描画する場合は、ブール値フラグを TRUE に設定します。
isRightToLeft
種類: BOOL
右から左へのテキストの場合、ブール型のフラグを TRUE に設定します。
[in] scriptAnalysis
型: const DWRITE_SCRIPT_ANALYSIS*
AnalyzeScript 呼び出しからのスクリプト分析結果へのポインター。
[in, optional] localeName
型: const WCHAR*
グリフを選択するときに使用するロケール。 たとえば、同じ文字が ja-jp と zh-chs の異なるグリフにマップされる場合があります。 これが NULL の場合は、スクリプトに基づく既定のマッピングが使用されます。
[optional] numberSubstitution
AnalyzeNumberSubstitution から取得した結果に応じて、数字と関連する数値の適切なグリフを選択するオプションの数値置換へのポインター。 NULL を渡すと、置換は必要なく、数字は名目上のグリフを受け取る必要があることを示します。
[in, optional] features
型: const DWRITE_TYPOGRAPHIC_FEATURES**
各機能範囲で使用する文字体裁機能のセットへのポインターの配列。
[in, optional] featureRangeLengths
型: const UINT32*
各特徴範囲の長さ (文字数)。
すべての長さの合計は textLength と等しい必要があります。
featureRanges
型: UINT32
特徴範囲の数。
maxGlyphCount
型: UINT32
返すことができるグリフの最大数。
[out] clusterMap
型: UINT16*
このメソッドが戻るときに、 には文字範囲からグリフ範囲へのマッピングが含まれます。
[out] textProps
種類: DWRITE_SHAPING_TEXT_PROPERTIES*
このメソッドが戻るときに、 には、各文字の整形プロパティを含む構造体の配列へのポインターが含まれます。
[out] glyphIndices
型: UINT16*
出力グリフのインデックス。
[out] glyphProps
種類: DWRITE_SHAPING_GLYPH_PROPERTIES*
このメソッドが戻るときに、 には、各出力グリフの整形プロパティを含む構造体の配列へのポインターが含まれます。
[out] actualGlyphCount
種類: UINT32*
このメソッドから制御が戻るときに、呼び出しが成功した場合に返されるグリフの実際の数が格納されます。
戻り値
型: HRESULT
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
解説
文字からグリフへのマッピングは、一般に多対多であることに注意してください。 グリフごとの出力バッファーの推奨される推定値は (3 * textLength / 2 + 16) です。 これで十分であるとは限りません。
actualGlyphCount パラメーターの値は、呼び出しが成功した場合にのみ有効です。 maxGlyphCount が十分な大きさでない場合は、HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) が返されます。 アプリケーションは、より大きなバッファーを割り当ててからもう一度試す必要があります。
要件
サポートされている最小のクライアント | Windows 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | dwrite.h |
Library | Dwrite.lib |
[DLL] | Dwrite.dll |