共用方式為


IDWriteFontFace::TryGetFontTable 方法 (dwrite.h)

如果指定的 OpenType 字型數據表存在,並傳回它的指標,則會尋找指定的 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 Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
標頭 dwrite.h
連結庫 Dwrite.lib
DLL Dwrite.dll

另請參閱

IDWriteFontFace