完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
根据“钢铁侠EMWIN5.22移植”改了以后,字体显示乱码,本人对EMWIN不是太了解。求高手。。。。。
代码如下: static void GUI_GetDataFromMemory(const GUI_FONT_PROP GUI_UNI_PTR *pProp, U16P c) { unsigned char qh,ql; unsigned char num; unsigned char i; unsigned long foffset; unsigned char t; unsigned char *mat; unsigned char size;//字体大小 U16 BytesPerFont; U32 oft; char *font = (char *)pProp->paCharInfo->pData; BytesPerFont = GUI_pContext->pAFont->YSize * pProp->paCharInfo->BytesPerLine; //每个字模的数据字节数 if (BytesPerFont > BYTES_PER_FONT){BytesPerFont = BYTES_PER_FONT;} if((GUI_pContext->pAFont == &GUI_FontHZ12)) size=12; else if((GUI_pContext->pAFont == &GUI_FontHZ16)) size =16; else if((GUI_pContext->pAFont == &GUI_FontHZ24)) size =24; //if(BytesPerFont== &GUI_FontHZ16) //GUI_SetFont { if (c < 0x80) //英文字符地址偏移算法 { //num=(unsigned char)c-' ';//得到偏移后的值 for(t=0;t // oft = base + (c - 0x20) * BytesPerFont; //计算出字码在flash中的偏移地址 //if(size==12)temp=asc2_1206[num][t]; //调用1206字体 // GUI_FontDataBuf[t] = acFont8x16[c-0x20][t]; //直接取出字模 GUI_FontDataBuf[t]=asc_for_emwin1608[c-0x20][t]; //调用1608字体 } }else { ql=c/256; qh=c%256; if(qh<0x81||ql<0x40||ql==0xff||qh==0xff)//非 常用汉字 { for(i=0;i<(size*2);i++)*mat++=0x00;//填充满格 return; //结束访问 } if(ql<0x7f)ql-=0x40;//注意! else ql-=0x41; qh-=0x81; foffset=((unsigned long)190*qh+ql)*(size*2);//得到字库中的字节偏移量 if(size==24) { W25QXX_Read(GUI_FontDataBuf,foffset+ftinfo.f24addr,size*2); }else if(size==16) { W25QXX_Read(GUI_FontDataBuf,foffset+ftinfo.f16addr,size*2); }else { W25QXX_Read(GUI_FontDataBuf,foffset+ftinfo.f12addr,size*2); } } } } 怎么改? |
|
相关推荐
7个回答
|
|
帮顶.....
|
|
|
|
好像是XY翻转了,钢铁侠那个中文显示有点小问题,我参考原子的代码简单修改了下
[C] 纯文本查看 复制代码 void LCD_Show_Font(u16 x,u16 y,u8 size){u8 mode;u8 temp,t,t1;u16 y0=y;//u8 dzk[32];u32 tempcolor,tempbkcolor; u8 PrePenSize;//保存画笔尺寸PrePenSize = GUI_GetPenSize();GUI_SetPenSize(1);//if(size!=12&&size!=16)return;//不支持的size//Get_HzMat(font,dzk,size);//得到相应大小的点阵数据tempcolor=GUI_GetColor();tempbkcolor=GUI_GetBkColor();mode = GUI_GetTextMode();if(mode==GUI_TM_NORMAL)//正常显示,文字前景色,背景色填充{ for(t=0;t |
|
|
|
另外我发现还是有部分汉字显示不出来,但是把汉字编码作为入口参数能显示
|
|
|
|
有人在探索者上调试成功的吗?求共享啊!!!!!!!!!!
|
|
|
|
层主如果有好方法共享啊
|
|
|
|
|
|
|
|
问一下LZ,你的字体转换生成C文件, 是用的什么软件
|
|
|
|
只有小组成员才能发言,加入小组>>
725 浏览 0 评论
1125 浏览 1 评论
2506 浏览 5 评论
2840 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2687 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
665浏览 9评论
680浏览 7评论
imx6dl芯片与imx6q芯片互换启动无反应请问是什么问题呢
287浏览 5评论
219浏览 4评论
新手求助makefile交叉编译生成文件不能移植到板子上运行咋办
249浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 08:53 , Processed in 0.684249 second(s), Total 89, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号