如何确定 HFONT 是光栅字体还是矢量字体?

How can I determine if a HFONT is a raster or a vector font?

我正在使用 CreateFont()OUT_DEFAULT_PRECIS 创建逻辑字体。现在如何检查分配给我的 HFONT Windows 是光栅字体还是矢量字体?

我天真的方法是尝试使用 GetGlyphOutline() 获得字形轮廓,如果成功,它必须是矢量字体,否则是光栅字体。

但我想问一下是否有更好的版本来检查 HFONT 句柄并判断它是光栅字体还是矢量字体。

Select 通过 SelectObject(), and then pass the HDC to GetTextMetrics(). The resulting TEXTMETRICHFONT 转换为 HDC 结构有一个 tmPitchAndFamily 字段,它有一个 TMPF_VECTOR 标志启用矢量字体。