IDWriteTextAnalyzer_GetGdiCompatibleGlyphPlacements

GetGlyphs メソッドから出力されたグリフを、フォントと書記系のレンダリング規則に従って配置する。

IDWriteTextAnalyzer_GetGdiCompatibleGlyphPlacements this, textString, clusterMap, textProps, textLength, glyphIndices, glyphProps, glyphCount, fontFace, fontEmSize, pixelsPerDip, transform, useGdiNatural, isSideways, isRightToLeft, scriptAnalysis, localeName, features, featureRangeLengths, featureRanges, glyphAdvances, glyphOffsets

this : [comobj] IDWriteTextAnalyzer インターフェースの COM オブジェクト変数
textString : [wstr] 型: **const WCHAR\*** グリフの元となった元の文字列を格納する文字配列。
clusterMap : [int] 型: **const UINT16\*** 文字範囲からグリフ範囲へのマッピングへのポインタ。これは [**GetGlyphs**](/windows/win32/api/dwrite/nf-dwrite-idwritetextanalyzer-getglyphs) により返される。
textProps : [var] 型: **[**DWRITE\_SHAPING\_TEXT\_PROPERTIES**](/windows/win32/api/dwrite/ns-dwrite-dwrite_shaping_text_properties)\*** 各文字のシェーピングプロパティを格納する構造体の配列へのポインタ。この構造体は [**GetGlyphs**](/windows/win32/api/dwrite/nf-dwrite-idwritetextanalyzer-getglyphs) により返される。
textLength : [int] 型: **UINT32** *textString* のテキスト長。
glyphIndices : [int] 型: **const UINT16\*** [**GetGlyphs**](/windows/win32/api/dwrite/nf-dwrite-idwritetextanalyzer-getglyphs) により返されたグリフインデックスの配列。
glyphProps : [var] 型: **const [**DWRITE\_SHAPING\_GLYPH\_PROPERTIES**](/windows/win32/api/dwrite/ns-dwrite-dwrite_shaping_glyph_properties)\*** [**GetGlyphs**](/windows/win32/api/dwrite/nf-dwrite-idwritetextanalyzer-getglyphs) により返された各グリフのシェーピングプロパティを格納する構造体の配列へのポインタ。
glyphCount : [int] 型: **UINT32** [**GetGlyphs**](/windows/win32/api/dwrite/nf-dwrite-idwritetextanalyzer-getglyphs) から返されたグリフ数。
fontFace : [comobj] 型: **[**IDWriteFontFace**](/windows/win32/api/dwrite/nn-dwrite-idwritefontface)\*** 出力グリフの元となるフォントフェイスへのポインタ。
fontEmSize : [float] 型: **FLOAT** 論理フォントサイズ (DIP 単位)。
pixelsPerDip : [float] 型: **FLOAT** DIP あたりの物理ピクセル数。
transform : [var] 型: **const [**DWRITE\_MATRIX**](/windows/win32/api/dwrite/ns-dwrite-dwrite_matrix)\*** グリフおよびその位置に適用する任意のトランスフォーム。このトランスフォームは、フォントサイズと *pixelsPerDip* による拡大縮小の後に適用される。
useGdiNatural : [int] 型: **BOOL** **FALSE** の場合、メトリクスは GDI エイリアステキストと同じになる。**TRUE** の場合、メトリクスは **CLEARTYPE\_NATURAL\_QUALITY** で作成されたフォントを用いて GDI が計測したテキストと同じになる。
isSideways : [int] 型: **BOOL** テキストを縦書きで描画することを意図している場合に **TRUE** を設定するブールフラグ。
isRightToLeft : [int] 型: **BOOL** 右から左方向のテキストの場合に **TRUE** を設定するブールフラグ。
scriptAnalysis : [var] 型: **const [**DWRITE\_SCRIPT\_ANALYSIS**](/windows/win32/api/dwrite/ns-dwrite-dwrite_script_analysis)\*** [**AnalyzeScript**](/windows/win32/api/dwrite/nf-dwrite-idwritetextanalyzer-analyzescript) 呼び出しから得られるスクリプト解析結果へのポインタ。
localeName : [wstr] 型: **const WCHAR\*** グリフを選択する際に使用するロケールを格納する文字配列。例えば、同じ文字でも ja-jp と zh-chs では異なるグリフにマッピングされる場合がある。**NULL** の場合はスクリプトに基づく既定のマッピングが使用される。
features : [var] 型: **const [**DWRITE\_TYPOGRAPHIC\_FEATURES**](/windows/win32/api/dwrite/ns-dwrite-dwrite_typographic_features)\*\*** 各フィーチャー範囲で使用するタイポグラフィフィーチャーの集合へのポインタの配列。
featureRangeLengths : [var] 型: **const UINT32\*** 各フィーチャー範囲の長さ (文字数)。すべての長さの合計は *textLength* と等しくなるべきである。
featureRanges : [int] 型: **UINT32** フィーチャー範囲の数。
glyphAdvances : [float] 型: **FLOAT\*** メソッドが戻る際、各グリフのアドバンス幅を格納する。
glyphOffsets : [var] 型: **[**DWRITE\_GLYPH\_OFFSET**](/windows/win32/api/dwrite/ns-dwrite-dwrite_glyph_offset)\*** メソッドが戻る際、各グリフの原点のオフセットを格納する。

(プラグイン / モジュール : com_misc.dll)

解説

GetGlyphs メソッドから出力されたグリフを、フォントと書記系のレンダリング規則に従って配置する。

[戻り値]
型: **HRESULT** このメソッドが成功した場合は **S\_OK** を返す。そうでない場合は **HRESULT**
エラーコードを返す。

情報

プラグイン / モジュールcom_misc.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の com_misc.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_com_misc_gen2.hs