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


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

Создает смещение по оси x от левого или переднего края выполнения до начального или конечного края кластера логических символов.

Синтаксис

HRESULT ScriptCPtoX(
  [in]  int                   iCP,
  [in]  BOOL                  fTrailing,
  [in]  int                   cChars,
  [in]  int                   cGlyphs,
  [in]  const WORD            *pwLogClust,
  [in]  const SCRIPT_VISATTR  *psva,
  [in]  const int             *piAdvance,
  [in]  const SCRIPT_ANALYSIS *psa,
  [out] int                   *piX
);

Параметры

[in] iCP

Положение логического символа в выполнении. Этот параметр соответствует смещению любого логического символа в кластере.

[in] fTrailing

Значение TRUE использует конечный край кластера логических символов для вычисления смещения. Этот параметр имеет значение FALSE , чтобы использовать передний край кластера логических символов.

[in] cChars

Количество символов в выполнении.

[in] cGlyphs

Количество глифов в выполнении.

[in] pwLogClust

Указатель на логические кластеры.

[in] psva

Указатель на SCRIPT_VISATTR массив визуальных атрибутов.

[in] piAdvance

Указатель на значение ширины.

[in] psa

Указатель на структуру SCRIPT_ANALYSIS . Элемент fLogicalOrder указывает конец выполнения, с которого будет измеряться смещение. Если флаг установлен, используется передний край выполнения. Если флаг не задан, используется левый конец выполнения.

[out] piX

Указатель на буфер, в котором функция извлекает x-позицию курсора.

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

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

Комментарии

Начальный или конечный край символа и передний край выполнения зависят от направления текста в выполнении.

Для скриптов, в которых курсор обычно размещается в середине кластеров (например, на арабском и иврите), полученное положение x карата может быть интерполированной позицией для любой кодовой точки в строке.

Для сценариев, в которых курсор обычно привязан к границам кластеров (например, тайской и индийской), позиция x прикрепляется к запрошенной границе кластера, содержащей логическую позицию символов, указанную в iCP.

Важно Начиная с 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

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

SCRIPT_ANALYSIS

SCRIPT_VISATTR

ScriptXtoCP

Одноимесяца

Функции uniscribe