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


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

Содержит флаги элементов управления скриптами для нескольких функций Uniscribe, например ScriptItemize.

Синтаксис

typedef struct tag_SCRIPT_CONTROL {
  DWORD uDefaultLanguage : 16;
  DWORD fContextDigits : 1;
  DWORD fInvertPreBoundDir : 1;
  DWORD fInvertPostBoundDir : 1;
  DWORD fLinkStringBefore : 1;
  DWORD fLinkStringAfter : 1;
  DWORD fNeutralOverride : 1;
  DWORD fNumericOverride : 1;
  DWORD fLegacyBidiClass : 1;
  DWORD fMergeNeutralItems : 1;
  DWORD fUseStandardBidi : 1;
  DWORD fReserved : 6;
} SCRIPT_CONTROL;

Члены

uDefaultLanguage

Идентификатор основного языка для языка, используемого при неоднозначности значений Юникода. Это значение используется при числовой обработке для выбора фигуры цифры при установке элемента fDigitSubstituteSCRIPT_STATE .

fContextDigits

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

Значение Значение
TRUE
Выберите национальные цифры в соответствии с ближайшим предыдущим строгим текстом.
FALSE
Выберите национальные цифры в соответствии со значением элемента uDefaultLanguage .

fInvertPreBoundDir

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

Значение Значение
TRUE
Измените исходный контекст на противоположный базовый уровень внедрения.
FALSE
Задайте для начального контекста базовый уровень внедрения.

fInvertPostBoundDir

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

Значение Значение
TRUE
Измените окончательный контекст на противоположный базовый уровень внедрения.
FALSE
Задайте для конечного контекста базовый уровень внедрения.

fLinkStringBefore

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

Значение Значение
TRUE
Создайте первый символ, связав его с предыдущим символом.
FALSE
Не создавайте первый символ путем связывания с предыдущим символом.

fLinkStringAfter

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

Значение Значение
TRUE
Создайте последний символ, связав его с последующим символом.
FALSE
Не создавайте последний символ путем связывания с последующим символом.

fNeutralOverride

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

Значение Значение
TRUE
Задайте нейтральные элементы в строгом направлении, то есть справа налево или слева направо, в зависимости от текущего уровня внедрения. Этот параметр эффективно блокирует элементы на месте, и изменение порядка происходит только между нейтральными элементами.
FALSE
Не устанавливайте нейтральные элементы в строгом направлении.

fNumericOverride

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

Значение Значение
TRUE
Задайте для числовых символов строгое направление, то есть справа налево или слева направо, в зависимости от текущего уровня внедрения. Этот параметр эффективно блокирует элементы на месте, и изменение порядка происходит только между числовыми символами.
FALSE
Не присваивайте числовым символам строгое направление.

fLegacyBidiClass

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

Значение Значение
TRUE
Рассматривайте знаки "плюс" и "минус" как для устаревших двунаправленных классов в операционных системах до Windows XP. В этом случае символы рассматриваются как нейтральные символы, т. е. без подразумеваемого направления, а символ косой черты рассматривается как общий разделитель.
FALSE
Рассматривайте знаки "плюс" и "минус" как для Windows XP и более поздних версий. В этом случае символы рассматриваются как европейские разделители.

fMergeNeutralItems

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

Значение Значение
TRUE
Объединение нейтральных символов в строгие элементы.
FALSE
Не объединяйте нейтральные символы в строгие элементы.

fUseStandardBidi

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

Значение Значение
TRUE
Пропустите алгоритм сопоставления пар.
FALSE
Используйте алгоритм сопоставления пар.

fReserved

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

Требования

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

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

Фигуры цифр

SCRIPT_STATE

ScriptItemize

Одноимесяца

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