Функция ScriptLayout (usp10.h)
Преобразует массив уровней внедрения выполнения в карту визуального расположения и (или) логического положения в визуальное положение.
Синтаксис
HRESULT ScriptLayout(
[in] int cRuns,
[in] const BYTE *pbLevel,
[out, optional] int *piVisualToLogical,
[out, optional] int *piLogicalToVisual
);
Параметры
[in] cRuns
Количество запусков для обработки.
[in] pbLevel
Указатель на массив длиной, указанной параметром cRuns, содержащий уровни внедрения запуска. Уровни внедрения для всех запусков в строке должны быть включены, упорядочены логически. Дополнительные сведения см. в разделе «Примечания».
[out, optional] piVisualToLogical
Указатель на массив длиной, указанной cRuns, в котором эта функция извлекает уровни внедрения запуска, упорядоченные в визуальный порядок. Первый элемент массива представляет выполнение, отображаемое в крайнем левом углу, а последующие записи должны отображаться слева направо. Функция задает этому параметру значение NULL , если выходные данные отсутствуют.
[out, optional] piLogicalToVisual
Указатель на массив длиной, указанной cRuns, в котором эта функция извлекает визуальные позиции выполнения. Первый элемент массива — это относительное визуальное положение, в котором должен отображаться первый логический запуск, а самая левая позиция отображения — 0. Функция задает этому параметру значение NULL , если выходные данные отсутствуют.
Возвращаемое значение
Возвращает 0 в случае успеха. Функция возвращает ненулевое значение HRESULT, если не удалось. Приложение может проверить возвращаемое значение с помощью макросов SUCCEEDED и FAILED .
Комментарии
Описание контекста, в котором обычно вызывается эта функция, см. в разделе Отображение текста с помощью uniscribe .
Эта функция обрабатывает только данные, относящиеся к одной строке текста.
Уровни внедрения запуска определяются в двунаправленном алгоритме Юникода. Они описывают направление выполнения, направление всех запусков, в которых он внедрен, и направление абзаца. Для вызова этой функции другие входные данные не требуются. Дополнительные сведения см. в разделе Юникод.
В следующей таблице перечислены предопределенные уровни внедрения. Приложение может добавлять уровни по мере необходимости.
Level | Значение |
---|---|
0 | Выполнение слева направо в абзаце слева направо. |
1 | Выполнение справа налево, внедренное в слева направо в абзаце слева направо. Кроме того, выполнение справа налево, а не встраиваемое в другое выполнение, в абзаце справа налево. |
2 | Выполнение слева направо, внедренное в выполнение справа налево типа 1. |
3 | Выполнение справа налево, внедренное в выполнение слева направо типа 2. |
"Логическая позиция" относится к расположению выполнения относительно других запусков. Это позиция в резервном хранилище и соответствует порядку, в котором пользователь читает текст вслух. "Визуальное положение" выполнения относится к способу визуального отображения выполнения на линии с учетом возможных направлений, которые могут быть у запуска.
Приложение может вызывать этот параметр функции либо piLogicalToVisual , либо piVisualToLogical, либо и то, и другое.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | usp10.h |
Библиотека | Usp10.lib |
DLL | Usp10.dll |
Распространяемые компоненты | Internet Обозреватель 5 или более поздней версии в Windows Me/98/95 |