TTF字体:TrueType Font ,由Apple和微软公司合作推出的文字文件格式;
一个TTF字符由许多轮廓组成,每一个轮廓由一个名叫TTPOLYGONHEADER的数据结构开始,跟在TTPOLYGONHEADER后面的是一系列的TTPOLYCURVE数据结构体。轮廓的顶点是POINTFX类型的数据结构点。
TTPOLYGONHEADER的结构如下:
typedef struct _TTPOLYGONHEADER {
DWORD cb; //描述字符要求的字节数
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;
POINTFX的结构如下:
typedef struct tagPOINTFX {
FIXED x; //x-component of a point on the outline of a TrueType character
FIXED y; //y-component of a point on the outline of a TrueType character
} POINTFX, *LPPOINTFX;
对文字轮廓的获取通过API函数GetGlyphOutline()进行获取,在进行绘制。