STROBJ_bGetAdvanceWidths

STROBJ_bGetAdvanceWidths 関数は、指定した文字列を構成するグリフの推定幅を示すベクトルの配列を取得する。

STROBJ_bGetAdvanceWidths pso, iFirst, c, pptqD

pso : [var] テキスト文字列を記述する STROBJ 構造体への呼び出し元が提供するポインタ。これは通常、ドライバの DrvTextOut 関数が受け取る STROBJ 構造体である。
iFirst : [int] STROBJ 構造体で提供されたテキスト文字列へのゼロベースのインデックス。このインデックスは、幅を返す対象となる文字列の最初の文字を表す。呼び出し元が指定する。
c : [int] iFirst で指定された文字から始まる、幅の値を返す連続した文字数。呼び出し元が指定する。
pptqD : [var] (28.36, 28.36) 形式で文字幅を受け取る、c 個の POINTQF 構造体の配列への呼び出し元が提供するポインタ。このデータ型の説明は GDI Data Types を参照。

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

解説

STROBJ_bGetAdvanceWidths 関数は、指定した文字列を構成するグリフの推定幅を示すベクトルの配列を取得する。

[戻り値]
操作が成功した場合、関数は TRUE を返す。そうでない場合は FALSE を返す。

[備考]
STROBJ_bGetAdvanceWidths 関数は、STROBJ_bEnum の代わりに
STROBJ_bEnumPositionsOnly を呼び出すプリンタドライバに役立つ。関数は pptqD
配列を文字列のグリフの推定幅で埋め、プリンタのグリフレンダリングハードウェアが正確な文字幅を返さない場合に、プリンタが文字列をレンダリングした後のプリンタ位置を計算するために使用できる。STROBJ_bEnumPositionsOnly
から返されるグリフ位置は、必ずしも STROBJ_bGetAdvanceWidths
から返される幅と正確に対応するわけではないことに注意。

情報

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