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


Метод IDWriteFontFace::TryGetFontTable (dwrite.h)

Находит указанную таблицу шрифтов OpenType, если она существует и возвращает указатель на него. Функция обращается к базовым данным шрифта через интерфейс IDWriteFontFileStream, реализованный загрузчиком файлов шрифта.

Синтаксис

HRESULT TryGetFontTable(
  [in]  UINT32     openTypeTableTag,
  [out] const void **tableData,
  [out] UINT32     *tableSize,
  [out] void       **tableContext,
  [out] BOOL       *exists
);

Параметры

[in] openTypeTableTag

Тип: UINT32

Четырехзначный тег таблицы шрифтов OpenType для поиска. Используйте макрос DWRITE_MAKE_OPENTYPE_TAG для создания его в качестве UINT32. В отличие от GDI, он не поддерживает специальные теги TTCF и NULL для доступа ко всему шрифту.

[out] tableData

Тип: const void**

При возврате этого метода содержит адрес указателя на базу таблицы в памяти. Указатель действителен только до тех пор, пока лицо шрифта, используемое для получения таблицы шрифтов, по-прежнему существует; (не любое другое лицо шрифта, даже если оно на самом деле относится к тому же физическому шрифту). Этот параметр передается неинициализирован.

[out] tableSize

Тип: UINT32*

При возврате этого метода содержит указатель на размер в байтах таблицы шрифтов.

[out] tableContext

Тип: void**

При возврате этого метода адрес указателя на непрозрачный контекст, который должен быть освобожден путем вызова ReleaseFontTable. Контекст на самом деле происходит из нижнего уровня IDWriteFontFileStream, которые могут быть реализованы приложением или самой DWrite. Можно возвращать nulltableContext, особенно если реализация выполняет прямое сопоставление памяти в целом файле. Тем не менее, всегда выпускайте его позже и не используйте его в качестве теста на успешность работы функции. Одна и та же таблица может запрашиваться несколько раз, но так как каждый возвращаемый контекст может быть разным, необходимо освободить каждый контекст отдельно.

[out] exists

Тип: BOOL*

При возврате этого метода TRUE, если существует таблица шрифтов; в противном случае FALSE.

Возвращаемое значение

Тип: HRESULT

Если этот метод выполнен успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT.

Замечания

Контекст одного и того же тега может отличаться для каждого вызова, поэтому каждый из них должен быть проведен и освобожден отдельно.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновление платформы для Windows Vista [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и обновлением платформы для Windows Server 2008 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка dwrite.h
библиотеки Dwrite.lib
DLL Dwrite.dll

См. также

IDWriteFontFace