gpt4 book ai didi

c++ - 如何检查已安装的字体样式?

转载 作者:行者123 更新时间:2023-11-28 04:39:48 24 4
gpt4 key购买 nike

我需要客户端计算机(始终是 Windows)中所有已安装字体的列表,其中包含样式粗体斜体粗体 斜体。有那个功能吗?

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

谢谢!
PS:我正在使用 C++ 和 MFC。

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

最佳答案

当您使用“EnumFontFamiliesEx”时,回调函数接收结构 LOGFONT....

LOGFONT 有两个变量 lfWeightlfItalic

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

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

或者如果你想要非常具体,例如,你想考虑只有粗体和常规的字体,那么你可以验证,如果 lfWeight 的值来自 {400 (REGULAR), 600 (粗体)、700(粗体)、800(粗体)

以下链接包含所有详细信息。

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

关于c++ - 如何检查已安装的字体样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50490325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com