Freetype是一个操作字体的函数库,它不但可以处理点阵字体,也可以处理多种矢量字体,包括truetype字体,为上层应用程序提供了一个统一的调用接口。Freetype具有良好的可移植性,特别考虑了嵌入式应用环境,字体文件可以在文件系统中,也可以在ROM中,甚至可以用自定义IO函数来访问字体数据。Freetype采用模块化设计,很容易进行扩充和裁减,据说如果只支持truetype,裁减后的二进制文件大小只有25K。Freetype是开放源代码的,它采用FreeType和GPL两种开源协议,可以用于任何商业用途。Freetype的使用相对比较简单,下面将以一个小例子来讲解一下如何使用Freetype的函数来获取字符的位图,该例子是取32* 32大小的位图,注释部分为详细讲解Freetype的函数,因此字可能会比较多。不多说了,来看例子吧:
#include
#include
#include FT_FREETYPE_H
#define CHARSIZE 32 // 字符位图的大小设为32 * 32
int GetCharBitmap(int iCharSize, unsigned int uiCharCode);
int main(int argc, char** argv)
{
unsigned int uiCharCode = 0x0061; // 字母a的ucs2编码.
GetCharBitmap(CHARSIZE, uiCharCode);
return 0;