ScriptRecordDigitSubstitution 関数 (usp10.h)
各国語サポート (NLS) のネイティブ数字と数字の置換設定を読み取り、 SCRIPT_DIGITSUBSTITUTE 構造で記録します。 詳細については、「 Digit Shapes」を参照してください。
構文
HRESULT ScriptRecordDigitSubstitution(
[in] LCID Locale,
[out] SCRIPT_DIGITSUBSTITUTE *psds
);
パラメーター
[in] Locale
クエリを実行するロケールのロケール識別子。 通常、アプリケーションでは、このパラメーターを LOCALE_USER_DEFAULT に設定する必要があります。 または、特定のロケールを LOCALE_NOUSEROVERRIDE と組み合わせて既定の設定を取得することもできます。
[out] psds
SCRIPT_DIGITSUBSTITUTE構造体へのポインター。 この構造体は、後で ScriptApplyDigitSubstitution に渡すことができます。
戻り値
成功した場合はS_OKを返します。 関数が成功しない場合は、0 以外の HRESULT 値を返します。
エラーの戻り値は次のとおりです。
- E_INVALIDARG。 Locale パラメーターは、無効なロケールまたはインストールされていないロケールを示します。
- E_POINTER。 psds パラメーターは NULL に設定されています。
解説
この関数が通常呼び出されるコンテキストについては、「 Uniscribe でテキストを表示 する」を参照してください。
この関数は、アラビア語とペルシャ語のロケールに対してのみコンテキスト桁の置換をサポートします。 その他のロケールの場合、コンテキスト桁の置換は置換なしにマップされます。
次の例は、この関数を呼び出す一般的な方法を示しています。
SCRIPT_DIGITSUBSTITUTE sds;
ScriptRecordDigitSubstitution(LOCALE_USER_DEFAULT, &sds);
次の例に示すように、すべての項目化で、アプリケーションで結果を使用できます。
SCRIPT_CONTROL sc = {0};
SCRIPT_STATE ss = {0};
ScriptApplyDigitSubstitution(&sds, &sc, &ss);
パフォーマンス上の理由から、アプリケーションで ScriptRecordDigitSubstitution を頻繁に呼び出さないでください。 この関数では、 ScriptItemize または ScriptStringAnalyse が呼び出されるたびに呼び出すには、かなりのオーバーヘッドが必要です。 代わりに、アプリケーションは SCRIPT_DIGITSUBSTITUTE 構造を保存し、 WM_SETTINGCHANGE メッセージを受信したときにのみ更新できます。 または、専用スレッドで RegNotifyChangeKeyValue 呼び出しが HKCU\コントロール パネル\International のレジストリの変更を示している場合に、アプリケーションで構造体を更新することもできます。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | usp10.h |
Library | Usp10.lib |
[DLL] | Usp10.dll |