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


Функция 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 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

Одноимесяца

Функции uniscribe