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


Функция 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 8. Чтобы поддерживать возможность запуска в Windows 7, модуль, использующий Uniscribe, должен указать Usp10.lib перед gdi32.lib в списке библиотек.
 

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header usp10.h
Библиотека Usp10.lib
DLL Usp10.dll
Распространяемые компоненты Usp10.dll версии 1.600 или более поздней в Windows XP

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

Кэширование

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

Одноимесяца

Функции uniscribe