下面介绍另外一种获取字模的方法。
我们知道,WINDOWS里面有很多字体,我们在使用文字处理工具时都可以选择。不过WINDOWS中的字体是一种矢量字体,矢量字体在进行放大和缩小时不会失真,这是矢量字体最大的一个优点。而前面提到的HZK16字库中的字称为点阵字体,点阵字体只能在固定大小的点阵中使用,假如点阵大小变了,则字会不完整或失真,基本不能使用。
现在我们需要的是点阵字体,能否把矢量字体转换为点阵字体呢?假如可以的话,我们就可以不用点阵文件,而直接从WINDOWS中的字体来获取字模。答案是肯定的。
主要要用到这个函数:
The GetGlyphOutline function retrieves the outline or bitmap for a character in the TrueType font that is selected into the specified device context
DWORD GetGlyphOutline( HDC hdc, // handle to DC UINT uChar, // character to query UINT uFormat, // data format LPGLYPHMETRICS