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 |