这一直让我疯狂.
我需要根据其名称(在本例中为Arial)获取字体文件名(例如Arial.ttf)以及它是粗体,斜体还是两者.使用这些信息,我需要找到字体文件,以便我可以使用它进行渲染.
更多例子:
关于如何在C++(Win32)中实现这一点的任何想法
我遇到了一种情况,我们需要知道当前正在使用的字体的文件名QFont
.知道一个QFont
可以给我们字体系列和Windows HFONT
句柄.
字体系列是不够的,因为操纵类似Bold
或Italic
可能导致Windows选择不同的字体文件.(fe arial.ttf,arialbd.ttf,arialbi.ttf,ariali.ttf).
这段代码示例应该给我们<path>\arial.ttf
:
QFont font("Arial", 12);
FindFontFileName(font.handle());
Run Code Online (Sandbox Code Playgroud)
而这段代码样本应该给我们 <path>\arialbi.ttf
QFont font("Arial", 12);
font.setStyle(QFont::StyleItalic);
font.setWeight(QFont::Bold);
FindFontFileName(font.handle());
Run Code Online (Sandbox Code Playgroud)