首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何检查已安装的字体样式?

如何检查已安装的字体样式?
EN

Stack Overflow用户
提问于 2018-05-23 13:58:49
回答 1查看 656关注 0票数 0

我需要一个包含粗体、斜体和粗体斜体样式的客户端计算机(总是Windows)中所有已安装字体的列表。有这样的功能吗?

我已经能够用EnumFontFamiliesEx列出所有已安装的字体,我认为这可以过滤列表,但我正在寻找一种“更好的方法”:)

谢谢!

PS: --我使用的是C++和MFC。

编辑:

对于没有这些样式的字体,Windows可以“伪造”这种行为(强制字体看起来粗体或斜体),但我需要知道哪些字体真正具有这些样式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-23 17:52:42

在使用"EnumFontFamiliesEx“时,回调函数接收结构LOGFONT.

LOGFONT有两个变量lfWeightlfItalic

使用这两个变量检查枚举字体是否具有样式。

如果lfWeight值为0 (FW_DONTCARE),而lfItalic为false,则可以认为这没有任何样式。

或者,如果您想非常具体,例如,您想考虑字体只有粗体和规则,那么您可以验证,如果lfWeight的值从{400 (规则),600 (粗体),700 (粗体),800 (粗体)}

下面的链接包含了所有细节。

https://msdn.microsoft.com/en-us/library/windows/desktop/dd145037(v=vs.85).aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50490325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档