Метод 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]
Целевая платформа Windows
Header dwrite.h
Библиотека Dwrite.lib
DLL Dwrite.dll

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

IDWriteFontFace