uint8_t get_sysfont(void)
{
FRESULT res;
FIL font_file;
UINT br;
uint8_t w=0;
uint8_t j,i;
char str[5];
res = SD_Init();
if(res==FALSE) return 0;
f_mount(1, &Fatfs[1]);
font16_32=mymalloc(SRAMEX,6080); //6K
font32_32=mymalloc(SRAMEX,0x75580);//470K
res=f_open(&font_file,"1:/FONT_EN/hei16_32.fon",FA_OPEN_ALWAYS | FA_READ );
if(res==FR_OK)
{
res=f_lseek(&font_file,0);
if(res!=FR_OK) return 0;
res=f_read(&font_file,font16_32,6080,&br);
if(res==FR_OK) w++;
for(i=0;i<8;i++) //显示看看。
for(j=0;j<16;j++)
{
sprintf(str,"%02x ",font16_32[i*16+j]);
display_hz(str,5+32*j,10+i*16,16,16,16,0x3,0x00,0xff,0);
}
}
f_close(&font_file);
}
显示的结果是从字库的0x1000 开始的,偏移了4K字节,大家帮忙看看是什么情况啊。 |