複製鏈接
請複製以下鏈接發送給好友

GetFontData

鎖定
GetFontData是一種函數,該函數的功能是得到一種字體的度量數據。
中文名
GetFontData
Windows NT
3.1及以上版本
Windows
95及以上版本
Windows CE
不支持

目錄

GetFontData簡介

函數功能:該函數得到一種字體的度量數據。
函數原型:DWORD GetFontData(HDC hdc, DWORD dwTable, DWORD dwOffset, LPVOID lpvBuffer, DWORD cbData);
參數:
hdc:設備環境句柄。
dwTable:指定字體度量表的名字,從度量表中可獲得度量數據,此參數可確定歸檔於微軟公司出版的TrueType字體文字規格説明中的度量表之一。如果此參數為零,得到的信息開始於字體文件的起始處。
dwOffset:指定從字體度量表的起點開始的偏移量,以確定此函數獲取信息的開始位置。如果此參數為0,則取回的信息開始於由dwTable指定的表的起點。如果此參數值大於或等於表的長度,將引發錯誤。
lpbBuffer:指向緩衝區的指針,該緩衝區用於接收字體信息,如果此參數NULL,此函數返回能容納字體信息的緩衝區的大小。
cbData:指定要取回的信息的字節數。如果此參數為0,GetFontData返回由參數dwTable指定的數據的大小。
返回值:如果函數調用成功,返回值是返回的字節數;如果函數調用失敗,返回值是GDI_ERROR。
Windows NT:若想獲得更多錯誤信息,請調用GetLastError函數。
備註:應用程序可以不時地用函數GetFontData來將一種TrueType字體文件一起保存。要實現這一眯,應用程序檢查OUTLINETEXTMETRIC結構裏的otmfsType成員來確定字體是否嵌入。如果otmfsType的第一位被設置,則該字體不允許嵌入。如果第1位被清除,字體可被嵌入。如果第2位被設置,表示嵌入是隻讀的。如果允許嵌入,則應用程序可通過將dwTable, dwOffset和cbData置為0來取得整個字體文件。
如果應用程序試圖用此函數來取得一種非TrueType字體的信息,將引發錯誤。

GetFontData説明

速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文件:wingdi.h;庫文件:gdi32.lib。
示例:
下面的例和查詢整個TrueType字體的原始數據:
TableDirctory * GetTrueTypeFont (HDC hDC ,DWORD &nFontSize)
//query font size
nFontSize=GetFontData(hDC,0,0,NULL,0);
TableDirectory * pFont =(TableDirectory *)new BYTE(nFontSize);
if (pFont==NULL)
return NULL;
GetFontData(hDC,0,0,pFont,nFontSize);
return pFont;