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


Функция 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 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