相关疑难解决方法(0)

获取基于字体名称和样式的字体文件名(粗体/斜体)

这一直让我疯狂.

我需要根据其名称(在本例中为Arial)获取字体文件名(例如Arial.ttf)以及它是粗体,斜体还是两者.使用这些信息,我需要找到字体文件,以便我可以使用它进行渲染.

更多例子:

  • Calibri,Bold将决定使用calibrib.ttf.
  • Calibri,Italic将决定使用calibrii.ttf.

关于如何在C++(Win32)中实现这一点的任何想法

c++ winapi fonts

18
推荐指数
2
解决办法
1万
查看次数

获取基于字体句柄的字体文件名(HFONT)

我遇到了一种情况,我们需要知道当前正在使用的字体的文件名QFont.知道一个QFont可以给我们字体系列和Windows HFONT句柄.

字体系列是不够的,因为操纵类似BoldItalic可能导致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)

c++ windows qt

7
推荐指数
1
解决办法
4666
查看次数

标签 统计

c++ ×2

fonts ×1

qt ×1

winapi ×1

windows ×1