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

こちらもご覧ください

DrvTextOut

STROBJ

STROBJ_bEnum

STROBJ_bEnumPositionsOnly