一. 相关结构
TrueType Font ,由Apple和微软公司合作推出的文字文件格式. 一个TTF字符由许多轮廓组成,每一个轮廓由一个名叫TTPOLYGONHEADER的数据结构开始,跟在TTPOLYGONHEADER后面的是一系列的TTPOLYCURVE数据结构体。轮廓的顶点是POINTFX类型的数据结构点.
TTPOLYGONHEADER的结构如下:
typedef struct _TTPOLYGONHEADER {
DWORD cb; // 描述字符要求的字节数(1个TTPOLYGONHEADER 和所有TTPOLYCURVE字节和)
DWORD dwType; // 指定返回的字符轮廓类型, 固定为TT_POLYGON_TYPE
POINTFX pfxStart; // 指定字符轮廓的起点
} TTPOLYGONHEADER, *LPTTPOLYGONHEADER;
TTPOLYCURVE的结构如下:
typedef struct tagTTPOLYCURVE {
WORD wType; // 指定描述字符轮廓的线类型: TT_PRIM_LINE, TT_PRIM_QSPLINE, TT_PRIM_CSPLINE
WORD cpfx; // 指定结构中含有POINTFX的个数
POINTFX apfx[1]; // 指定字体中保留的polyline和Bzier spline
} TTPOLYCURVE, *LPTTPOLYCURVE;
TT_PRIM_LINE(直线), TT_PRIM_QSPLINE(