|
版主,按照您的方法,我创建了一个矢量字体程序,但是死活不显示啊。我是NXP的单片机,可以用emwin——freetype的字体吧?函数清单如下,我在主函数中调用了这个函数。
FIL TrueTypeSrc;
char *_acBuffer;
FRESULT result_type;
uint32_t bw=0;
GUI_TTF_CS Cs0,Cs1,Cs2,Cs3;
GUI_TTF_DATA Data;
GUI_FONT Font0,Font1,Font2,Font3;
GUI_HMEM hMem_type;
//void myTrueTypeFont();
void myTrueTypeFont()
{
hMem_type=GUI_ALLOC_AllocNoInit(1024*1024*6);
_acBuffer=GUI_ALLOC_h2p(hMem_type);
result_type=f_open(&TrueTypeSrc,"kaiti.ttf",FA_OPEN_EXISTING|FA_READ|FA_OPEN_ALWAYS);
result_type=f_read(&TrueTypeSrc,_acBuffer,TrueTypeSrc.fsize,&bw);
Data.pData=_acBuffer;
Data.NumBytes=TrueTypeSrc.fsize;
Cs0.pTTF=&Data;
Cs0.PixelHeight=24;
Cs0.FaceIndex=0;
Cs1.pTTF=&Data;
Cs1.PixelHeight=48;
Cs1.FaceIndex=0;
Cs2.pTTF=&Data;
Cs2.PixelHeight=96;
Cs2.FaceIndex=0;
Cs3.pTTF=&Data;
Cs3.PixelHeight=144;
Cs3.FaceIndex=0;
GUI_TTF_CreateFont(&Font0,&Cs0);
GUI_TTF_CreateFont(&Font1,&Cs1);
GUI_TTF_CreateFont(&Font2,&Cs2);
GUI_TTF_CreateFont(&Font3,&Cs3);
}
我跟踪了,文件系统执行的结果是正确的。kaiti.ttf是我从网上下载的字体,PC上打开后也是正确的。 |
|