SCRIPT_CONTROL構造体 (usp10.h)

いくつかの Uniscribe 関数 ( ScriptItemize など) のスクリプト コントロール フラグが含まれています。

構文

typedef struct tag_SCRIPT_CONTROL {
  DWORD uDefaultLanguage : 16;
  DWORD fContextDigits : 1;
  DWORD fInvertPreBoundDir : 1;
  DWORD fInvertPostBoundDir : 1;
  DWORD fLinkStringBefore : 1;
  DWORD fLinkStringAfter : 1;
  DWORD fNeutralOverride : 1;
  DWORD fNumericOverride : 1;
  DWORD fLegacyBidiClass : 1;
  DWORD fMergeNeutralItems : 1;
  DWORD fUseStandardBidi : 1;
  DWORD fReserved : 6;
} SCRIPT_CONTROL;

メンバー

uDefaultLanguage

Unicode 値があいまいな場合に使用する言語のプライマリ 言語識別子 。 この値は、数値処理で使用され、SCRIPT_STATEの fDigitSubstitute メンバーが設定されている場合に数字の図形を選択します。

fContextDigits

国の数字を選択する方法を示す値。 使用できる値は、次の表で定義されています。

値 意味
TRUE
最も近い前の強いテキストに従って国の数字を選択します。
FALSE
uDefaultLanguage メンバーの値に従って、各国の数字を選択します。

fInvertPreBoundDir

初期コンテキストが基本埋め込みレベルの反対に設定されているか、基本埋め込みレベル自体に設定されているかを示す値。 使用できる値は、次の表で定義されています。 このメンバーは、基本埋め込みレベルが 0 の場合は厳密な左から右の文字に従うかのように、文字列の先頭のテキストが既定でレイアウトされることを示すように設定し、基本 埋め込みレベル が 1 の場合は右から左への強力な文字に従うかのように設定します。 このメンバーは、 GetCharacterPlacement レガシ サポートに使用されます。

値 意味
TRUE
初期コンテキストを基本埋め込みレベルの反対に変更します。
FALSE
初期コンテキストを基本埋め込みレベルに設定します。

fInvertPostBoundDir

最終的なコンテキストが基本埋め込みレベルの反対に設定されているか、基本埋め込みレベル自体に設定されるかを示す値。 使用できる値は、次の表で定義されています。 このメンバーは、文字列の末尾のテキストが既定で、基本埋め込みレベルと同じ方向の厳密なテキストの前にレイアウトされることを示すように、このメンバーを設定します。 これは、GetCharacterPlacement レガシ サポートに使用されます。

値 意味
TRUE
最終的なコンテキストを基本埋め込みレベルの反対に変更します。
FALSE
最終的なコンテキストを基本埋め込みレベルに設定します。

fLinkStringBefore

シェイプ エンジンが文字列の最初の文字を前の文字と結合するかのように整形するかどうかを示す値。 使用できる値は、次の表で定義されています。

値 意味
TRUE
前の文字とリンクして、最初の文字を整形します。
FALSE
前の文字とリンクして最初の文字を整形しないでください。

fLinkStringAfter

シェイプ エンジンが文字列の最後の文字を、後続の文字に結合されているかのように整形するかどうかを示す値。 使用できる値は、次の表で定義されています。

値 意味
TRUE
後続の文字とリンクして、最後の文字を整形します。
FALSE
後続の文字とリンクして、最後の文字を整形しないでください。

fNeutralOverride

文字列内のすべてのニュートラル文字の処理を示す値。 使用できる値は、次の表で定義されています。

値 意味
TRUE
現在の埋め込みレベルに応じて、ニュートラル項目を厳密な方向 (右から左または左から右) に設定します。 この設定により、アイテムが効果的にロックされ、並べ替えはニュートラルの間でのみ行われます。
FALSE
中立的な項目を強い方向に設定しないでください。

fNumericOverride

文字列内のすべての数値の処理を示す値。 使用できる値は、次の表で定義されています。

値 意味
TRUE
現在の埋め込みレベルに応じて、数値を厳密な方向 (右から左または左から右) に設定します。 この設定により、アイテムが効果的にロックされ、並べ替えは数字の間でのみ行われます。
FALSE
数値を厳密な方向に設定しないでください。

fLegacyBidiClass

シェイプ エンジンによるプラスおよびマイナス文字の処理を示す値。 使用できる値は、次の表で定義されています。

値 意味
TRUE
プラスとマイナスの文字は、Windows XP 以前のオペレーティング システムのレガシ双方向クラスの場合と同様に扱います。 この場合、文字はニュートラル文字として扱われます。つまり、暗黙的な方向はありません。スラッシュ文字は共通の区切り文字として扱われます。
FALSE
プラスとマイナスの文字は、Windows XP 以降の場合と同様に扱います。 この場合、文字はヨーロッパの区切り記号として扱われます。

fMergeNeutralItems

可能な場合、シェイプ エンジンがニュートラル文字を強力な項目にマージするかどうかを指定する値。 使用できる値は、次の表で定義されています。

値 意味
TRUE
ニュートラル文字を強力な項目にマージします。
FALSE
ニュートラル文字を強力な項目にマージしないでください。

fUseStandardBidi

シェーピング エンジンが標準の双方向一致ペア アルゴリズムを使用するかどうかを指定する値。 使用できる値は、次の表で定義されています。

値 意味
TRUE
一致するペア アルゴリズムをスキップします。
FALSE
一致するペア アルゴリズムを使用します。

fReserved

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

要件

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

こちらもご覧ください

数字の図形

SCRIPT_STATE

ScriptItemize

Uniscribe

Uniscribe 構造体