ScriptCPtoX 関数 (usp10.h)

実行の左端または先頭端から論理文字クラスターの先頭または末尾のエッジまでの x オフセットを生成 します

構文

HRESULT ScriptCPtoX(
  [in]  int                   iCP,
  [in]  BOOL                  fTrailing,
  [in]  int                   cChars,
  [in]  int                   cGlyphs,
  [in]  const WORD            *pwLogClust,
  [in]  const SCRIPT_VISATTR  *psva,
  [in]  const int             *piAdvance,
  [in]  const SCRIPT_ANALYSIS *psa,
  [out] int                   *piX
);

パラメーター

[in] iCP

実行内の論理文字の位置。 このパラメーターは、クラスター内の任意の論理文字のオフセットに対応します。

[in] fTrailing

論理 文字クラスターの末尾の端を使用してオフセットを計算する場合は TRUE。 論理文字クラスターの先頭端を使用するには、このパラメーターを FALSE に 設定します。

[in] cChars

実行の文字数。

[in] cGlyphs

実行中のグリフの数。

[in] pwLogClust

論理クラスターへのポインター。

[in] psva

ビジュアル属性の SCRIPT_VISATTR 配列へのポインター。

[in] piAdvance

拡張幅の値へのポインター。

[in] psa

SCRIPT_ANALYSIS構造体へのポインター。 fLogicalOrder メンバーは、オフセットを測定する実行の終了を指定します。 フラグが設定されている場合は、実行の先頭端が使用されます。 フラグが設定されていない場合は、実行の左端が使用されます。

[out] piX

関数がキャレットの x 位置を取得するバッファーへのポインター。

戻り値

処理が正常に終了した場合は 0 を返します。 成功しなかった場合、この関数は 0 以外の HRESULT 値を返します。 アプリケーションは、 SUCCEEDED マクロと FAILED マクロを使用して戻り値をテストできます。

注釈

文字の先頭または末尾の端と実行の前端は、実行内のテキストの方向によって異なります。

キャレットが従来クラスターの中央 (アラビア語やヘブライ語など) に配置されているスクリプトの場合、カラットの取得された x 位置は、行内の任意のコード ポイントの補間位置にすることができます。

キャレットが従来、クラスターの境界 (タイ語やインド語など) にスナップされているスクリプトの場合、x 位置は 、iCP で示される論理文字位置を含むクラスターの要求されたエッジにスナップされます。

大事なWindows 8以降: Windows 7 で実行する機能を維持するには、Uniscribe を使用するモジュールで、ライブラリ リストで gdi32.lib の前に Usp10.lib を指定する必要があります。
 

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー usp10.h
Library Usp10.lib
[DLL] Usp10.dll
再頒布可能パッケージ Windows Me/98/95 のインターネット エクスプローラー 5 以降

こちらもご覧ください

SCRIPT_ANALYSIS

SCRIPT_VISATTR

ScriptXtoCP

Uniscribe

Uniscribe 関数