SCRIPT_STATE 構造体 (usp10.h)

スクリプトの状態情報が含まれています。

構文

typedef struct tag_SCRIPT_STATE {
  WORD uBidiLevel : 5;
  WORD fOverrideDirection : 1;
  WORD fInhibitSymSwap : 1;
  WORD fCharShape : 1;
  WORD fDigitSubstitute : 1;
  WORD fInhibitLigate : 1;
  WORD fDisplayZWG : 1;
  WORD fArabicNumContext : 1;
  WORD fGcpClusters : 1;
  WORD fReserved : 1;
  WORD fEngineReserved : 2;
} SCRIPT_STATE;

メンバー

uBidiLevel

Unicode 双方向アルゴリズムに従って、関連付けられた実行内のすべての文字に関連付けられている埋め込みレベル。 アプリケーションがこの構造体を ScriptItemize に渡す場合、このメンバーは、左から右への基本埋め込みレベルの場合は 0、右から左への基本埋め込みレベルの場合は 1 に初期化する必要があります。

fOverrideDirection

スクリプトでオーバーライド レベル (文字列内の LRO または RLO コード) を使用するかどうかを示す初期オーバーライド方向の値。 次の表に、使用できる値を定義します。 オーバーライド レベルの場合、文字は左から右または右から左のどちらか一方向にのみレイアウトされます。 反対方向の数字や強い文字の並べ替えは行われません。 この値は、文字列内の LRE、RLE、LRO、または RLO コードによってリセットされることに注意してください。

意味
True
埋め込みレベルを反映するオーバーライド レベルを使用します。
False
埋め込みレベルを反映するオーバーライド レベルは使用しないでください。

fInhibitSymSwap

整形エンジンが Unicode ミラー化されたグリフ (角かっこなど) のミラーリングをバイパスするかどうかを示す値。 次の表に、使用できる値を定義します。 このメンバーは Unicode 文字 ISS によって設定され、ASS によってクリアされます。

意味
True
Unicode ミラー化されたグリフのミラーリングをバイパスします。
False
Unicode ミラー化されたグリフのミラーリングをバイパスしないでください。

fCharShape

実装されていません。 Unicode のアラビア語プレゼンテーション フォーム領域の文字コードを整形する必要があるかどうかを示す値。 次の表に、使用できる値を定義します。

意味
True
Unicode のアラビア語プレゼンテーション フォーム領域の図形文字コード。
False
Unicode のアラビア語プレゼンテーション フォーム領域で文字コードを整形しないでください。

fDigitSubstitute

このメンバーは、非推奨になった Unicode 文字 U+206E NATIONAL DIGIT SHAPES ("NADS") と U+206F NOMINAL DIGIT SHAPES ("NODS") を使用して、従来の実装で取得した可能性のある桁置換動作を制御します。 次の表に、使用できる値を定義します。

意味
True
文字コード U+0030 ~ U+0039 は、各国の数字で置き換えます。
False
文字コード U+0030 から U+0039 は、各国の数字に置き換えされません。

fInhibitLigate

合字がアラビア語またはヘブライ語の文字の形で使用されているかどうかを示す値。 次の表に、使用できる値を定義します。

意味
True
アラビア語やヘブライ語の文字の整形には合字を使用しないでください。
False
アラビア語またはヘブライ語の文字の形で合字を使用します。

fDisplayZWG

表示できないコントロール文字が、単語内の文字の位置に応じて、並べ替えまたは異なるグリフ図形を必要とする言語の表現グリフとして整形されているかどうかを示す値。 次の表に、使用できる値を定義します。 通常、文字は表示されません。 これらは空白のグリフに整形され、幅が 0 になります。

意味
True
図形コントロール文字を表現グリフとして設定します。
False
コントロール文字を表現グリフとして整形しないでください。

fArabicNumContext

Unicode 標準バージョン 2.0 で説明されているように、以前の厳密な文字がルール P0 の目的でアラビア語であるかどうかを示す値。 次の表に、使用できる値を定義します。 このメンバーは通常、アラビア語で右から左に段落を項目化する前に TRUE に設定し、それ以外の場合は FALSE に設定する必要があります。

意味
True
ルール P0 の目的で、以前の強力な文字をアラビア語と考えてください。
False
ルール P0 の目的で、以前の強力な文字をアラビア語と見なさないでください。

fGcpClusters

GetCharacterPlacement レガシ サポートの場合のみ。 ScriptShapepwLogClust によって示される配列を生成する方法を示す値。 次の表に、使用できる値を定義します。 このメンバーは、アラビア語とヘブライ語の項目にのみ影響します。

意味
True
GetCharacterPlacement と同じ方法で配列を生成します。
False
GetCharacterPlacement と同じ方法で配列を生成しないでください。

fReserved

予約;は常に 0 に初期化されます。

fEngineReserved

予約;は常に 0 に初期化されます。

注釈

この構造体は、 ScriptItemize への入力として Unicode アルゴリズムの状態を初期化するために使用されます。 また、 ScriptItemize によって取得された分析のコンポーネントとしても使用されます。

要件

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

こちらもご覧ください

ScriptItemize

ScriptShape

Uniscribe

ユニスクライブ構造体