ScriptRecordDigitSubstitution 函数 (usp10.h)
读取国家语言支持 (NLS) 本机数字和数字替换设置,并将其记录在 SCRIPT_DIGITSUBSTITUTE 结构中。 有关详细信息,请参阅 数字形状。
语法
HRESULT ScriptRecordDigitSubstitution(
[in] LCID Locale,
[out] SCRIPT_DIGITSUBSTITUTE *psds
);
参数
[in] Locale
要查询的区域设置的区域设置标识符。 通常,应用程序应将此参数设置为 LOCALE_USER_DEFAULT。 或者,该设置可以指示与 LOCALE_NOUSEROVERRIDE 组合的特定区域设置,以获取默认设置。
[out] psds
指向 SCRIPT_DIGITSUBSTITUTE 结构的指针。 此结构稍后可以传递给 ScriptApplyDigitSubstitution。
返回值
如果成功,则返回S_OK。 如果函数不成功,则返回非零 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 |