📄 testname.c
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <ft2build.h>
#include FT_FREETYPE_H
int main( int argc,
char* argv[] )
{
FT_Library font_library;
FT_Face font_face;
FT_Bitmap bitmap;
FT_GlyphSlot cur_glyph;
FT_Glyph_Metrics glyph_metrics;
int glyph_ind;
int num_chars;
char char_name[256];
if (argc != 2)
exit( 1 );
if ( FT_Init_FreeType( &font_library ) )
exit( 1 );
if ( FT_New_Face( font_library, argv[1], 0 , &font_face ) )
exit( 1 );
if ( FT_Set_Char_Size( font_face , 0 , 768 , 300 , 300 ) )
exit( 1 );
num_chars = (int)font_face->num_glyphs;
FT_Set_Transform( font_face , NULL , NULL );
for ( glyph_ind = 0 ; glyph_ind < num_chars; glyph_ind++ )
{
if ( FT_Load_Glyph( font_face, glyph_ind, FT_LOAD_DEFAULT ) )
exit( 1 );
cur_glyph = font_face->glyph;
if ( cur_glyph->format != FT_GLYPH_FORMAT_BITMAP )
if ( FT_Render_Glyph( font_face->glyph, FT_RENDER_MODE_MONO ) )
exit( 1 );
if ( FT_Get_Glyph_Name( font_face, glyph_ind, char_name, 16 ) )
exit( 1 );
bitmap = cur_glyph->bitmap;
glyph_metrics = cur_glyph->metrics;
printf( "Glyph %d name %s %ld %ld %ld %d %d\n",
glyph_ind,
char_name,
glyph_metrics.horiBearingX / 64,
glyph_metrics.horiBearingY / 64,
glyph_metrics.horiAdvance / 64,
bitmap.width , bitmap.rows );
}
return 0;
}
/* END */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -