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


Функция ScriptBreak (usp10.h)

Извлекает сведения для определения разрывов строк.

Синтаксис

HRESULT ScriptBreak(
  [in]  const WCHAR           *pwcChars,
  [in]  int                   cChars,
  [in]  const SCRIPT_ANALYSIS *psa,
  [out] SCRIPT_LOGATTR        *psla
);

Параметры

[in] pwcChars

Указатель на обрабатываемые символы Юникода.

[in] cChars

Число обрабатываемых символов Юникода.

[in] psa

Указатель на структуру SCRIPT_ANALYSIS , полученную при предыдущем вызове ScriptItemize.

[out] psla

Указатель на буфер, в котором эта функция извлекает атрибуты символов в виде структуры SCRIPT_LOGATTR .

Возвращаемое значение

Возвращает 0 в случае успеха. Функция возвращает ненулевое значение HRESULT, если это не удалось. Приложение может проверить возвращаемое значение с помощью макросов SUCCEEDED и FAILED .

Комментарии

Описание контекста, в котором обычно вызывается эта функция, см. в разделе Отображение текста с помощью uniscribe .

Для этой функции не требуется контекст устройства и не выполняется формирование глифов.

Эта функция извлекает перемещение курсора и форматирование позиций разрыва для элемента в массиве SCRIPT_LOGATTR структур. Чтобы правильно поддерживать смешанное форматирование в одном слове, вызов ScriptBreak должен передавать целые элементы, полученные ScriptItemize, а не более точное форматирование.

Структура SCRIPT_LOGATTR определяет допустимые позиции курсора и разрывы линий. Член fCharStop задает флаг, который помечает границы кластера для скриптов, которым обычно запрещено перемещаться внутри кластеров. Те же границы также можно определить, проверив сведения о логическом кластере, полученные ScriptShape. Однако ScriptBreak выполняется значительно быстрее и не требует подготовки контекста устройства.

Флаги, назначенные элементами fWordStop, fSoftBreak и fWhiteSpaceSCRIPT_LOGATTR , доступны только через ScriptBreak.

Большинство подсистем формирования, которые идентифицируют недопустимые последовательности, устанавливают флаг, указанный элементом fInvalidSCRIPT_LOGATTR в ScriptBreak. Член fInvalidLogAttrSCRIPT_PROPERTIES определяет применимые скрипты.

Важно Начиная с Windows 8. Чтобы поддерживать возможность запуска в Windows 7, модуль, использующий Uniscribe, должен указать Usp10.lib перед gdi32.lib в списке библиотек.
 

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header usp10.h
Библиотека Usp10.lib
DLL Usp10.dll
Распространяемые компоненты Internet Обозреватель 5 или более поздней версии в Windows Me/98/95

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

Отображение текста с помощью Uniscribe

SCRIPT_ANALYSIS

SCRIPT_LOGATTR

ScriptItemize

ScriptShape

Одноимесяца

Функции uniscribe