структура DWRITE_SCRIPT_PROPERTIES (dwrite_1.h)
Структура DWRITE_SCRIPT_PROPERTIES задает свойства скрипта для навигации по курсору и обоснования.
Синтаксис
struct DWRITE_SCRIPT_PROPERTIES {
UINT32 isoScriptCode;
UINT32 isoScriptNumber;
UINT32 clusterLookahead;
UINT32 justificationCharacter;
UINT32 restrictCaretToClusters : 1;
UINT32 usesWordDividers : 1;
UINT32 isDiscreteWriting : 1;
UINT32 isBlockWriting : 1;
UINT32 isDistributedWithinCluster : 1;
UINT32 isConnectedWriting : 1;
UINT32 isCursiveWriting : 1;
UINT32 reserved : 25;
};
Члены
isoScriptCode
Стандартизированный код четырех символов для данного скрипта.
isoScriptNumber
Стандартизированный числовой код в диапазоне от 0 до 999.
clusterLookahead
Количество символов для оценки прогноза сложных скриптов. Латынь и все кана, как правило, 1. Индийские скрипты до 15, а большинство других — 8.
justificationCharacter
Соответствующий символ для удлиняния заданного скрипта для обоснования. Пример:
- Арабский — U+0640 Tatweel
- Ogham - U+1680 Ogham Space Mark
restrictCaretToClusters
Ограничьте курсор целыми кластерами, такими как тайский и деванагари. Такие скрипты, как арабский язык, по умолчанию разрешают навигацию между кластерами. Другие, такие как тайский, всегда перемещаются по целым кластерам.
usesWordDividers
Язык использует разделители между словами, например пробелы между латинским или этиопическим пространством слов. Примеры: латинский, греческий, деванагари и этиопский. Китайский, корейский и тайский исключены.
isDiscreteWriting
Символы являются дискретными единицами друг от друга. Сюда входят как блочные, так и кластеризованные скрипты. Примеры: латинский, греческий, кириллица, иврит, китайский и тайский.
isBlockWriting
Язык представляет собой блочный скрипт, расширяющийся между символами. Например, китайский, японский, корейский и бопомофо.
isDistributedWithinCluster
Язык оправдан в кластерах глифов, а не только между кластерами глифов, такими как последовательность символов Тайский Лу и Сара Am (U+E026, U+E033), которые образуют один кластер, но по-прежнему расширяются между ними. Примеры: тайский, лаосский и кхмерский.
isConnectedWriting
Кластеры скрипта связаны друг с другом (например, связанные с базовыми показателями Devanagari), и между символами не добавляется разделение.
isCursiveWriting
Скрипт, естественно, является cursive (арабский и сирийский), то есть он использует другие методы обоснования, такие как расширение кашида, а не межсимвийный интервал.
reserved
Зарезервировано
Требования
Минимальная версия клиента | Windows 8 и Обновление платформы для Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [только классические приложения] |
Верхняя часть | dwrite_1.h |