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


структура SCRIPT_STATE (usp10.h)

Содержит сведения о состоянии скрипта.

Синтаксис

typedef struct tag_SCRIPT_STATE {
  WORD uBidiLevel : 5;
  WORD fOverrideDirection : 1;
  WORD fInhibitSymSwap : 1;
  WORD fCharShape : 1;
  WORD fDigitSubstitute : 1;
  WORD fInhibitLigate : 1;
  WORD fDisplayZWG : 1;
  WORD fArabicNumContext : 1;
  WORD fGcpClusters : 1;
  WORD fReserved : 1;
  WORD fEngineReserved : 2;
} SCRIPT_STATE;

Члены

uBidiLevel

Уровень внедрения, связанный со всеми символами в связанном выполнении в соответствии с двунаправленным алгоритмом Юникода. Когда приложение передает эту структуру в ScriptItemize, этот элемент должен быть инициализирован до 0 для базового уровня внедрения слева направо или до 1 для базового уровня внедрения справа налево.

fOverrideDirection

Начальное значение направления переопределения, указывающее, использует ли скрипт уровень переопределения (код LRO или RLO в строке). Возможные значения определены в следующей таблице. Для уровня переопределения символы размещаются только в одном направлении: слева направо или справа налево. Изменение порядка цифр или сильных символов противоположного направления не выполняется. Обратите внимание, что это значение сбрасывается с помощью кодов LRE, RLE, LRO или RLO в строке.

Значение Значение
ИСТИННЫЙ
Используйте уровень переопределения, который отражает уровень внедрения.
ЛОЖНЫХ
Не используйте уровень переопределения, который отражает уровень внедрения.

fInhibitSymSwap

Значение, указывающее, обходит ли подсистема формирования зеркальное отображение глифов Юникода, например квадратных скобок. Возможные значения определены в следующей таблице. Этот элемент задается символом Юникода ISS и очищается ASS.

Значение Значение
ИСТИННЫЙ
Обход зеркального отображения глифов в Юникоде.
ЛОЖНЫХ
Не обходить зеркальное отображение глифов Юникода.

fCharShape

Не реализован. Значение, указывающее, следует ли формировать коды символов в арабских формах представления Юникода. Возможные значения определены в следующей таблице.

Значение Значение
ИСТИННЫЙ
Коды символов фигуры в областях арабских форм презентации в Юникоде.
ЛОЖНЫХ
Не фигурировать коды символов в областях арабских форм презентации Юникода.

fDigitSubstitute

Этот элемент обеспечивает тот же контроль над поведением подстановки цифр, который мог быть получен в устаревших реализациях с помощью устаревших символов Юникода U+206E NATIONAL DIGIT SHAPES ("NADS") и U+206F НОМИНАЛЬНЫЕ ЦИФРЫ ("NODS"). Возможные значения определены в следующей таблице.

Значение Значение
ИСТИННЫЙ
Коды символов от U+0030 до U+0039 заменяются национальными цифрами.
ЛОЖНЫХ
Коды символов от U+0030 до U+0039 не заменяются национальными цифрами.

fInhibitLigate

Значение, указывающее, используются ли лигатуры при формировании арабских или ивритских символов. Возможные значения определены в следующей таблице.

Значение Значение
ИСТИННЫЙ
Не используйте лигатуры при формировании арабских или ивритских символов.
ЛОЖНЫХ
Используйте лигатуры при формировании символов арабского или иврита.

fDisplayZWG

Значение, указывающее, формируются ли нераспровержимые управляющие символы в виде глифов представления для языков, требующих изменения порядка, или разных фигур глифов в зависимости от положения символов в слове. Возможные значения определены в следующей таблице. Как правило, символы не отображаются. Они имеют форму пустого глифа и имеют ширину 0.

Значение Значение
ИСТИННЫЙ
Управляющие символы фигуры в виде глифов представления.
ЛОЖНЫХ
Не фигурирует управляющих символов в виде глифов представления.

fArabicNumContext

Значение, указывающее, являются ли предыдущие строгие символы арабскими для целей правила P0, как описано в стандарте Юникода версии 2.0. Возможные значения определены в следующей таблице. Обычно для этого элемента должно быть задано значение TRUE перед элементизацией абзаца справа налево на арабском языке, а в противном случае — значение FALSE .

Значение Значение
ИСТИННЫЙ
В целях правила P0 следует считать, что предыдущие строгие символы будут арабскими.
ЛОЖНЫХ
Не следует рассматривать предыдущие строгие символы как арабские для целей правила P0.

fGcpClusters

Только для устаревшей версии GetCharacterPlacement . Значение, указывающее, как ScriptShape должен создавать массив, указанный pwLogClust. Возможные значения определены в следующей таблице. Этот элемент влияет только на элементы на арабском и иврите.

Значение Значение
ИСТИННЫЙ
Создайте массив так же, как и GetCharacterPlacement .
ЛОЖНЫХ
Не создавайте массив так, как это делает GetCharacterPlacement .

fReserved

Защищены; всегда инициализируйте значение 0.

fEngineReserved

Защищены; всегда инициализируйте значение 0.

Комментарии

Эта структура используется для инициализации состояния алгоритма Юникода в качестве входных данных для ScriptItemize. Он также используется в качестве компонента анализа, полученного с помощью ScriptItemize.

Требования

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

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

ScriptItemize

ScriptShape

Одноимесяца

Структуры без символов