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