IDWriteFontFace::TryGetFontTable-Methode (dwrite.h)

Sucht die angegebene OpenType-Schriftarttabelle, wenn sie vorhanden ist, und gibt einen Zeiger darauf zurück. Die Funktion greift über die IDWriteFontFileStream Schnittstelle, die vom Laden der Schriftartdatei implementiert wird, auf die zugrunde liegenden Schriftartdaten zu.

Syntax

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

Parameter

[in] openTypeTableTag

Typ: UINT32-

Das vierstellige Tag einer OpenType-Schriftarttabelle, die gesucht werden soll. Verwenden Sie das DWRITE_MAKE_OPENTYPE_TAG Makro, um es als UINT32-zu erstellen. Im Gegensatz zu GDI unterstützt es nicht die speziellen TTCF- und NULL-Tags, um auf die gesamte Schriftart zuzugreifen.

[out] tableData

Typ: const void**

Wenn diese Methode zurückgegeben wird, enthält sie die Adresse eines Zeigers auf die Basis der Tabelle im Arbeitsspeicher. Der Zeiger ist nur gültig, solange die Schriftart, die zum Abrufen der Schriftarttabelle verwendet wird, noch vorhanden ist. (keine andere Schriftart, auch wenn sie tatsächlich auf dieselbe physische Schriftart verweist). Dieser Parameter wird nicht initialisiert übergeben.

[out] tableSize

Typ: UINT32*

Wenn diese Methode zurückgegeben wird, enthält sie einen Zeiger auf die Größe der Schriftarttabelle in Byte.

[out] tableContext

Typ: void**

Wenn diese Methode zurückgegeben wird, wird die Adresse eines Zeigers auf den undurchsichtigen Kontext zurückgegeben, der durch Aufrufen ReleaseFontTable-freigegeben werden muss. Der Kontext stammt tatsächlich aus der unteren ebene IDWriteFontFileStream, die von der Anwendung oder DWrite selbst implementiert werden kann. Es ist möglich, dass ein NULL-tableContext- zurückgegeben werden kann, insbesondere, wenn die Implementierung eine direkte Speicherzuordnung für die gesamte Datei durchführt. Veröffentlichen Sie es jedoch immer später, und verwenden Sie sie nicht als Test für den Funktionserfolg. Dieselbe Tabelle kann mehrmals abgefragt werden, da jedoch jeder zurückgegebene Kontext unterschiedlich sein kann, müssen Sie jeden Kontext separat freigeben.

[out] exists

Typ: BOOL*

Wenn diese Methode zurückgegeben wird, TRUE, wenn die Schriftarttabelle vorhanden ist; andernfalls FALSE.

Rückgabewert

Typ: HRESULT-

Wenn diese Methode erfolgreich ist, wird S_OKzurückgegeben. Andernfalls wird ein HRESULT- Fehlercode zurückgegeben.

Bemerkungen

Der Kontext für dasselbe Tag kann für jeden Anruf unterschiedlich sein, sodass jeder einzelne gehalten und getrennt freigegeben werden muss.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform- Fenster
Header- dwrite.h
Library Dwrite.lib
DLL- Dwrite.dll

Siehe auch

IDWriteFontFace