GetFontData 函式 (wingdi.h)

GetFontData 函式會擷取 TrueType 字型的字型計量數據。

語法

DWORD GetFontData(
  [in]  HDC   hdc,
  [in]  DWORD dwTable,
  [in]  DWORD dwOffset,
  [out] PVOID pvBuffer,
  [in]  DWORD cjBuffer
);

參數

[in] hdc

裝置內容的句柄。

[in] dwTable

要從中擷取字型數據的字型計量數據表名稱。 此參數可以識別 Microsoft Corporation 所發行 TrueType 字型檔案規格中所記載的其中一個計量數據表。 如果此參數為零,則會從 TrueType 字型檔案的檔案開頭,或從目前針對 TrueType 集合檔案選取字型的數據開頭擷取資訊。 若要從 TrueType 集合檔案的檔案開頭擷取數據,請指定 'ttcf' (0x66637474) 。

[in] dwOffset

從字型計量數據表的開頭到函式應該開始擷取資訊的位置的位移。 如果此參數為零,則會從 dwTable 參數所指定的數據表開頭擷取資訊。 如果此值大於或等於數據表的大小,就會發生錯誤。

[out] pvBuffer

接收字型信息的緩衝區指標。 如果此參數為 NULL,函式會傳回字型數據所需的緩衝區大小。

[in] cjBuffer

要擷取之資訊的長度,以位元組為單位。 如果此參數為零, GetFontData 會傳回 dwTable 參數中指定的數據大小。

傳回值

如果函式成功,傳回值就是傳回的位元組數。

如果函式失敗,傳回值會GDI_ERROR。

備註

此函式是用來透過字型操作應用程式直接從字型檔案擷取 TrueType 字型資訊。 如需內嵌字型的詳細資訊,請參閱字型 內嵌參考

應用程式有時可以使用 GetFontData 函式,以檔案儲存 TrueType 字型。 若要這樣做,應用程式會檢查 OUTLINETEXTMETRIC 結構的 otmfsType 成員,判斷是否可以內嵌字型。 如果 已設定 otmfsType 的位 1,則字型不允許內嵌。 如果位 1 清楚,字型可以內嵌。 如果設定位 2,則內嵌是唯讀的。 如果允許內嵌,應用程式可以擷取整個字型檔案,併為 dwTabledwOffsetcbData 參數指定零。

如果應用程式嘗試使用此函式來擷取非 TrueType 字型的資訊,就會發生錯誤。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 wingdi.h (包含 Windows.h)
程式庫 Gdi32.lib
Dll Gdi32.dll

另請參閱

字型和文字函式

字型和文字概觀

GetTextMetrics

OUTLINETEXTMETRIC