情况如下:
1、emwin模拟环境用为codeblocks,模拟运行时,ttf字体(xh.ttf)和图标ttf字体(ALiIconfont.ttf)都能正常显示;
2、目标板为裸板运行,文件系统采用新唐自带的;
3、目标板显示ttf字体正常,但显示图标ttf字体为方格。经比较:目标板运行时读图标ttf文件的内容与emwin 模拟环境下读取的图标ttf文件内容是一致的,排除文件系统的问题。(我也不知道有没更好的方法去核对)
4、查GUI_TTF_CreateFontAA()函数返回是成功;
上传了相关源文件(程序有点乱,误拍砖哈!),麻烦哪位哪位大神能否指点一下方向,一样的程序在emwin模拟器运行正常,但目标板上图标ttf字体不显示。是不是用在目标板时有特别要注意的地方?
最近编辑记录 5761193jia (2020-02-11 17:40:23)
离线
文件好像没上传成功
离线
不好意思,目标板的代码发错了,以这个为准!谢谢
GuiStart(目标板).rar
离线
按你的描述,可能是编码问题
试试:把相关C文件转为UTF-8-BOM,用notepad++就行
谢谢Jmhh247:
转了MainTask()所在的C文件GuiStart.c,还是不行。不知道是否还有别的文件也要格式转换。
离线
@Jmhh247,谢谢您。两种格式都试过还是不行,MDK4.74编译。板子上运行的照片我也拍了一下,如下图。另外 TTF_FontCreate()的C文件在以下附件中,不知哪位大神有时间能否帮忙看看?谢谢啦!
CreateFont_ttf.rar
离线
GUI_UC_SetEncodeUTF8() //GUI_DispStringAt("\ue631",200,200); //改为下行: GUI_DispStringAt("\xEE\x98\xB1",200,200);
按上面修改先试一试。
参考: https://www.cnblogs.com/fancyop/p/emWin_Chinese_Show_Tutorial.html
多谢,晕哥和notepad--的指点,直接用UTF-8编码就OK!如图。但这样人工转也麻烦,确定C文件转为了UTF-8,因为文字能正常显示,不知问题何在,会不会是MDK哪里需要设置?
最近编辑记录 5761193jia (2020-02-13 09:34:28)
离线
估计7楼是c文件另存为 无bom utf8 文件, 可能这种操作对用16进制编码字符串的文件无效吧.
最后改成啥样了,麻烦楼主发一个文件上来看看, 谢谢。
@晕哥,jmhh247:按晕哥在9楼的方法,直接在程序中用utf-8编码。
GuiStart.rar
最近编辑记录 5761193jia (2020-02-13 13:01:32)
离线