Поделиться через


Функция 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 8: чтобы поддерживать возможность запуска в Windows 7, модуль, использующий Uniscribe, должен указать Usp10.lib перед gdi32.lib в списке библиотек.
 

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header usp10.h
Библиотека Usp10.lib
DLL Usp10.dll

См. также раздел

Отображение текста с использованием uniscribe

SCRIPT_DIGITSUBSTITUTE

ScriptApplyDigitSubstitution

ScriptItemize

ScriptStringAnalyse

Одноимесяца

Функции uniscribe