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


структура 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;

Members

uBidiLevel

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

fOverrideDirection

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

Ценность Meaning
TRUE
Используйте уровень переопределения, который отражает уровень внедрения.
FALSE
Не используйте уровень переопределения, который отражает уровень внедрения.

fInhibitSymSwap

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

Ценность Meaning
TRUE
Обход зеркального отображения зеркальных глифов Юникода.
FALSE
Не обходить зеркальное отображение зеркальных глифов Юникода.

fCharShape

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

Ценность Meaning
TRUE
Коды символов фигур в областях арабских форм презентации Юникода.
FALSE
Не фигурировать коды символов в областях арабских форм презентации Юникода.

fDigitSubstitute

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

Ценность Meaning
TRUE
Коды символов U+0030 по U+0039 заменяются национальными цифрами.
FALSE
Коды символов U+0030 по U+0039 не заменяются национальными цифрами.

fInhibitLigate

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

Ценность Meaning
TRUE
Не используйте лигатуры в формировании арабских или ивритских символов.
FALSE
Используйте лигатуры в формировании арабских или ивритских символов.

fDisplayZWG

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

Ценность Meaning
TRUE
Символы элемента управления фигурами в виде глифов представления.
FALSE
Не имитирует символы элементов управления фигурами в виде глифов представления.

fArabicNumContext

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

Ценность Meaning
TRUE
Рассмотрим предыдущие сильные символы, которые должны быть арабскими для целей правила P0.
FALSE
Не учитывайте предыдущие сильные символы для арабских целей правила P0.

fGcpClusters

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

Ценность Meaning
TRUE
Создайте массив так же, как и GetCharacterPlacement .
FALSE
Не создавайте массив так же, как и GetCharacterPlacement .

fReserved

Скрытный; всегда инициализировать до 0.

fEngineReserved

Скрытный; всегда инициализировать до 0.

Замечания

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

Требования

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

См. также

ScriptItemize

ScriptShape

Юнипись

Структуры юниписи