【问题标题】:How do you get underline font geometry from font? CreateFont你如何从字体中获得下划线字体几何?创建字体
【发布时间】:2014-07-04 00:54:19
【问题描述】:

我有一个库,可以从 truetype 字体文件中提取文本几何图形。

我使用对 CreateFont 的调用来获取字形索引,然后读取字节流以获取点数据。

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

问题是,如果我在下划线参数中传递 true,几何不包含下划线。 有什么具体的事情需要做吗??

文档如下: fdwUnderline [in] 如果设置为 TRUE,则指定带下划线的字体。

这会有很大帮助!

【问题讨论】:

  • Truetype 字体没有单独的下划线变体。例如,当您选择带下划线的 Arial 时,Windows 将使用常规 Arial 并在其下方绘制一条线。如果你从 ttf 文件中读取几何图形,你会得到不带下划线的几何图形,因为这就是文件包含的内容。
  • 嗯..我是这么认为的..所以该标志仅用于位图渲染。谢谢!
  • 顺便说一句。请添加答案,以便我接受。
  • 我已经回答并添加了一些进一步的信息。

标签: winapi fonts gdi+ gdi truetype


【解决方案1】:

Truetype 字体没有单独的下划线变体。例如,当您选择带下划线的 Arial 时,Windows 将使用常规 Arial 并在其下方绘制一条线。如果你从 ttf 文件中读取几何图形,你会得到不带下划线的几何图形,因为这就是文件包含的内容。

如果您想要“绘制的”几何图形,请选择轮廓字体并调用 BeginPathTextOutEndPathGetPath

【讨论】:

  • 您可以使用GetOutlineTextMetrics,它包含的字段告诉您下划线应该在哪里绘制以及它应该有多粗。同样的答案也适用于删除线。
猜你喜欢
  • 1970-01-01
  • 2011-03-03
  • 2010-11-25
  • 2020-12-18
  • 2018-07-19
  • 1970-01-01
  • 2011-08-07
  • 2017-11-16
  • 1970-01-01
相关资源
最近更新 更多