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