/*總結
1 首先建立乙個庫
2 根據字型檔案得到face object
3 設定字型大小及第乙個座標值
4 載入face得到字型的glyph及buffer
5 顯示 (每次顯示乙個字元都是根據前乙個字元的glyph得到下乙個字元座標的原點值,這樣方便顯示)
*/#include #include #include #include #include #include #include #include #include #include #include #include ft_freetype_h
#include ft_glyph_h
#define dbg_printf printf
static ft_library g_tlibrary;
static ft_face g_tface;
static ft_glyphslot g_tslot;
static unsigned char *filename=null;
int fd_fb;
struct fb_var_screeninfo var; /* current var */
struct fb_fix_screeninfo fix; /* current fix */
int screen_size;
unsigned char *fbmem;
unsigned int line_width;
unsigned int pixel_width;
typedef struct fontbitmap t_fontbitmap, *pt_fontbitmap;
static int freetypefontinit(char *pcfontfile, unsigned int dwfontsize);
static int freetypegetfontbitmap(unsigned int dwcode, pt_fontbitmap ptfontbitmap);
/* color : 0x00rrggbb */
void lcd_put_pixel(int x, int y, unsigned int color)
case 16:
case 32:
default:
}}static int freetypegetfontbitmap(unsigned int dwcode, pt_fontbitmap ptfontbitmap)
int showonefont(pt_fontbitmap ptfontbitmap)
if (ucbyte & (1}
else
bit--;
if (bit == -1)
}} }
else
return 0;
}static int freetypefontinit(char *pcfontfile, unsigned int dwfontsize)
int main(int argc, char **argv)
if (ioctl(fd_fb, fbioget_vscreeninfo, &var))
if (ioctl(fd_fb, fbioget_fscreeninfo, &fix))
line_width = var.xres * var.bits_per_pixel / 8;
printf("line_width=%d\n",line_width);
pixel_width = var.bits_per_pixel / 8;
printf("pixel_width=%d\n",pixel_width);
screen_size = var.xres * var.yres * var.bits_per_pixel / 8;
printf("screen_size=%d\n",screen_size);
fbmem = (unsigned char *)mmap(null , screen_size, prot_read | prot_write, map_shared, fd_fb, 0);
/* 清屏: 全部設為黑色 */
memset(fbmem, 0, screen_size);
error=freetypefontinit(filename,50);
for ( n = 0; n < wcslen(chinese_str1); n++ )
return 0;
}
freetype 使用小結
freetype是乙個完全開源的 可擴充套件 可定製且可移植的字型引擎,它提供truetype字型驅動的實現統一的介面來訪問多種字型格式檔案,包括點陣字 truetype opentype type1 cid cff windows fon fnt x11 pcf等。freetype函式庫具有以下特...
freetype的安轉和使用
1.tar xvj freetype 2.4.10.tar.bz2 2 cd freetype 2.4.10 3 configure 4 make 5 sudo make install usr local lib 1.如此時編譯 gcc show fontprint.c o show fontpr...
HGE使用free type實現中文輸出
hge 使用free type 實現中文輸出 之前在irrlicht 論壇看到有日本人把 free type 字型庫用在 irrlicht 引擎裡,使該引擎支援多位元組文字輸出。但是他修改了引擎,後來我把他的 修改了下,使其不用修改引擎 就可以直接使用。考慮到過段時間可能會用 hge做些外包,就把這...