1.初始化库
FT_Library library;
FT_Face face;
FT_Error error = FT_Init_FreeType( &library );
2. 加载相应的字体文件
FT_New_Face( library, "/usr/share/fonts/truetype/arial.ttf", 0, &face );
3. 设置字体的大小
FT_Set_Char_Size(face, /* handle to face object */
0, /* char_width in 1/64th of points */
16*64, /* char_height in 1/64th of points */
300, /* horizontal device resolution */
300 ); /* vertical device resolution */
FT_Set_Pixel_Sizes(face, /* handle to face object */
0, /* pixel_width */
16 ); /* pixel_height */
4. 加载字符的glyph
glyph_index = FT_Get_Char_Index( face, charcode );
FT_Load_Glyph(face, /* handle to face object */
glyph_index, /* glyph index */
load_flags ); /* load flags, see below */
5. 字体变换(旋转和缩放)
FT_Set_Transform( face, /* target face object */
&matrix, /* pointer to 2x2 matrix */
&delta ); /* pointer to 2d vector */
6. 使用其中的位图
根据应用不同,使用方式不同。
7. 使用示例:
nehe 在opengl中绘制字符:
http://nehe.gamedev.net/tutorial/freetype_fonts_in_opengl/24001/