STROBJ_bGetAdvanceWidths関数 (winddi.h)
STROBJ_bGetAdvanceWidths関数は、指定した文字列を構成するグリフの幅を指定するベクターの配列を取得します。
構文
ENGAPI BOOL STROBJ_bGetAdvanceWidths(
STROBJ *pso,
[in] ULONG iFirst,
ULONG c,
POINTQF *pptqD
);
パラメーター
pso
テキスト文字列を記述する STROBJ 構造体への呼び出し元から提供されるポインターです。 これは通常、ドライバーの DrvTextOut 関数によって受信される STROBJ 構造体です。
[in] iFirst
呼び出し元が指定した、STROBJ 構造体によって提供されるテキスト文字列への 0 から始まるインデックスです。 このインデックスは、幅が返される文字列の最初の文字を表します。
c
呼び出し元が指定した連続した文字数 (開始) と iFirst で指定された文字 (幅の値が返される) の数です。
pptqD
(28.36, 28.36) 形式の文字幅を受け取る POINTQF 構造体の c サイズ配列への呼び出し元指定のポインターです。 このデータ型の説明については、「 GDI データ型」を参照してください。
戻り値
操作が成功した場合、関数は TRUE を返します。それ以外の場合は FALSE を返します。
注釈
STROBJ_bGetAdvanceWidths関数は、STROBJ_bEnumではなくSTROBJ_bEnumPositionsOnlyを呼び出すプリンター ドライバーに役立ちます。 この関数は pptqD 配列に文字列のグリフの幅を入力します。プリンターのグリフ レンダリング ハードウェアが正確な文字幅を返さない場合は、プリンターによってレンダリングされた文字列の後のプリンター位置を計算するために使用できます。
STROBJ_bEnumPositionsOnlyによって返されるグリフ位置は、 必ずしもSTROBJ_bGetAdvanceWidths によって返される幅に正確に対応するわけではないことに注意 してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | winddi.h (Winddi.h を含む) |
Library | Win32k.lib |
[DLL] | Win32k.sys |