freeType2.9.1移植到A7(2)
上一篇文章说了freeType移植并编译通过,但是还没有调试并显示字体,今天就讲讲freeType接口的调用。 在调试过程中发现,freeType在解码时对RAM的大小是有要求的,否则会堆栈溢出,这里我们将MCIMX6Y2xxx05_ram.icf文件中的堆空间设置为0x60000,正好是384K,此条件下,调用freeType接口是没有问题的。 创建一个字体的结构体,方便gui进行调用,因为是基于C语言的,为了方便gui后期能够打包为lib库,这里使用回调函数的方式来调用字体渲染函数。 typedef struct { U16 Flags; //取值参考 GUI_TTF_MAP_FILE_MEMERY_MODE GUI_DISPCHAR * pfDispChar; //绘制字形的函数 GUI_GETCHARDISTX * pfGetCharDistX; //获取字形所占的像素个数 GUI_GETFONTINFO * pfGetFontInfo; //获取字号大小,及字体的显示方式 union{ const GUI_TTF_DATA *pTtfData; const GUI_TTF_FONT_MAP *pMap; }p; U8 height; U8 bold;//加粗,0-不加粗 U8 itailc; //斜体 void *matrix; }GUI_FONT; 上篇文章提到