Функция ScriptGetFontFeatureTags (usp10.h)
Извлекает список типографических признаков для определенной системы записи для обработки OpenType. Теги типографических признаков, составляющие список, извлекаются из шрифта в предоставленном контексте или кэше устройства.
Синтаксис
HRESULT ScriptGetFontFeatureTags(
[in, optional] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in, optional] SCRIPT_ANALYSIS *psa,
[in] OPENTYPE_TAG tagScript,
[in] OPENTYPE_TAG tagLangSys,
[in] int cMaxTags,
[out] OPENTYPE_TAG *pFeatureTags,
[out] int *pcTags
);
Параметры
[in, optional] hdc
Дескриптор контекста устройства. Дополнительные сведения см. в разделе Кэширование.
[in, out] psc
Указатель на структуру SCRIPT_CACHE , определяющую кэш скриптов.
[in, optional] psa
Указатель на структуру SCRIPT_ANALYSIS , полученную из предыдущего вызова ScriptItemizeOpenType. Этот параметр идентифицирует подсистему формирования, чтобы можно было получить теги признаков шрифта для соответствующего шрифта и скриптов.
Кроме того, приложение может присвоить этому параметру значение NULL , чтобы получить неотфильтрованные результаты.
[in] tagScript
Структура OPENTYPE_TAG , определяющая тег скрипта, связанный с указанными тегами компонентов.
[in] tagLangSys
Структура OPENTYPE_TAG , определяющая тег языка, связанный с указанными тегами компонентов.
[in] cMaxTags
Длина массива, заданного pFeatureTags.
[out] pFeatureTags
Указатель на буфер, в котором эта функция извлекает массив OPENTYPE_TAG структур, определяющих теги типографических признаков, поддерживаемые шрифтом, в контексте устройства или кэше для определенной системы записи.
[out] pcTags
Указатель на количество элементов в массиве тегов признаков.
Возвращаемое значение
Возвращает 0 в случае успеха. Функция возвращает ненулевое значение HRESULT, если не удалось. Приложение может проверить возвращаемое значение с помощью макросов SUCCEEDED и FAILED .
Если число совпадающих тегов превышает значение cMaxTags, функция завершается сбоем с E_OUTOFMEMORY. Приложение может повторить вызов с большими буферами.
Комментарии
Хотя структура OPENTYPE_TAG официально объявлена как тип ULONG, содержит 4-байтовый массив, содержащий четыре 8-разрядных значения ASCII пробела, A–Z или a–z. Например, тег компонента Ligature — "liga".
Эта функция скрывает обязательные для скрипта или языка функции, так как подсистема формирования управляет этими функциями. Приложение не контролирует обработку подсистемы формирования для функций, необходимых для языка. Например, ScriptGetFontFeatureTags скрывает функции арабского письма для начальной, медиаловой и конечной форм.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | usp10.h |
Библиотека | Usp10.lib |
DLL | Usp10.dll |
Распространяемые компоненты | Usp10.dll версии 1.600 или более поздней в Windows XP |