硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3443|回复: 4
收起左侧

[emWin] 模拟器上显示汉字

[复制链接]

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
发表于 2016-5-11 17:18:31 | 显示全部楼层 |阅读模式
今天在模拟器上成功的显示了汉字,不过貌似还不是太完美,先简单说下步骤和效果。
先上效果 QQ图片20160511171047.png 这个是72像素的显示。
步骤大体分两步:
一,制作字库:
1.新建个1.txt文本,写入“挪威的森林”这几个字,保存为unicode格式。
2.用FontCvt工具,将1.txt文本通过read pattern file导入
3.保存为1.c文件,该文件即为字库文件了,填加到工程内编译即可。
二,显示调用:
1.将上述的1.txt保存为UTF-8格式
2.通过U2C工具,将1.txt转换为1.c,并打开,可见下述字符串:
"\xe6\x8c\xaa\xe5\xa8\x81\xe7\x9a\x84\xe6\xa3\xae\xe6\x9e\x97"
该字符串即为“挪威的森林”对应的UTF-8格式码
3.调用字符显示函数,并将上述字符串做为参数写入
这种方法不完美的地方就在于,在显示调用时,不能直接用"挪威的森林"汉字做参数,得先转换一下,这样就不太方便写代码
简单代码台下:

GUI_Init();
GUI_UC_SetEncodeUTF8();
GUI_SetFont(&GUI_Fontst72);
GUI_DispStringInRectWrap("\xe6\x8c\xaa\xe5\xa8\x81\xe7\x9a\x84\xe6\xa3\xae\xe6\x9e\x97", &Rect, GUI_TA_HCENTER, GUI_WRAPMODE_WORD);

评分

参与人数 1 +5 收起 理由
eric2013 + 5

查看全部评分

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115717
QQ
发表于 2016-5-12 09:45:45 | 显示全部楼层
感谢楼主分享,模拟器上面显示汉字可以采用早期UCGUI时代遗留下来的方法,用个小软件生成GBK编码的汉字可以直接用在模拟器上面
http://www.armbbs.cn/forum.php?mod=viewthread&tid=423
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2016-5-12 14:59:54 | 显示全部楼层

回 eric2013 的帖子

eric2013:感谢楼主分享,模拟器上面显示汉字可以采用早期UCGUI时代遗留下来的方法,用个小软件生成GBK编码的汉字可以直接用在模拟器上面
http://www.armbbs.cn/forum.php?mod=viewthread&tid=423 (2016-05-12 09:45) 
是只要把那个字体直接搬过来就行了?
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2016-5-12 15:23:46 | 显示全部楼层

回 eric2013 的帖子

eric2013:感谢楼主分享,模拟器上面显示汉字可以采用早期UCGUI时代遗留下来的方法,用个小软件生成GBK编码的汉字可以直接用在模拟器上面
http://www.armbbs.cn/forum.php?mod=viewthread&tid=423 (2016-05-12 09:45) 
这个字体可以直接用在显示屏上显示么?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115717
QQ
发表于 2016-5-13 00:35:35 | 显示全部楼层

回 jplzl10000 的帖子

jplzl10000:这个字体可以直接用在显示屏上显示么? (2016-05-12 15:23) 
可以的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-13 20:25 , Processed in 0.307400 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表