GetFontData

GetFontData是一種函式,該函式的功能是得到一種字型的度量數據。

基本介紹

  • 中文名:GetFontData
  • Windows NT:3.1及以上版本
  • Windows:95及以上版本
  • Windows CE:不支持
簡介,說明,

簡介

函式功能:該函式得到一種字型的度量數據。
函式原型: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字型的信息,將引發錯誤。

說明

速查: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;
}

相關詞條

熱門詞條

聯絡我們