FreeType使用步骤

  • Post author:
  • Post category:其他


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/