以truetype字体获取字母的矢量点

时间:2010-05-02 01:38:18

标签: c++ winapi fonts

由于True Type字体只是矢量,我想知道是否有一种方法可以获得一个字母的向量(点数组),因为我使用的是WinAPI。 感谢

2 个答案:

答案 0 :(得分:4)

将GetGlyphOutline函数与GGO_NATIVE选项一起使用。

http://msdn.microsoft.com/en-us/library/dd144891%28v=VS.85%29.aspx

实际上,True Type字体是由Bezier曲线定义的,而不是矢量,所以你得到一个曲线列表。大多数图形库都有一种绘制贝塞尔曲线的方法,所以你可以通过知道曲线是由几个控制点定义的。

字体将预先安装到网格中(例如,提示)。

答案 1 :(得分:1)

我不知道Win32 API是否会为您提供解构的字形。 FOSS FreeType2库在FT_Outline::points中提供了字形点。

请注意,字形不仅仅是它的点数。您必须使用Bézier曲线并提示正确再现字形。提示部分对于小字体至关重要,并且很难做到正确。 FreeType通常会为您完成所有这些。