OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 12649|回复: 20

emWin的button控件不能显示中文

[复制链接]

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
发表于 2014-11-5 14:10:52 | 显示全部楼层 |阅读模式
5金钱
用的是点阵显示。
[mw_shl_code=c,true]GUI_FLASH const unsigned char acFontHZ12_103[24] = { // code 0xcda8 ____XXXX,XXX_____, _X____X_,X_______, __X____X,________, ____XXXX,XXX_____, ____X__X,__X_____, XXX_XXXX,XXX_____, __X_X__X,__X_____, __X_XXXX,XXX_____, __X_X__X,__X_____, __X_X__X,_XX_____, _X_X____,________, X___XXXX,XXXX____ }; [/mw_shl_code]
一共一百多个汉字,自己做了一个字库,但是不管是用用Button_setFont(),还是ButtonSetDefaultFont()都是显示的乱码,网上也没搜到什么东西,求教大家,问题可能出现在哪里?如何解决?

最佳答案

查看完整内容[请看2#楼]

用官方的字库制作方法,或者你参考,因为生成的是*.c
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2014-11-5 14:10:53 | 显示全部楼层
用官方的字库制作方法,或者你参考,因为生成的是*.c
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
 楼主| 发表于 2014-11-5 14:10:53 | 显示全部楼层
回复【13楼】xu199367:
---------------------------------
可能是utf8转换有问题,如果不嫌麻烦的话,按照我下面的方法开始做:
1.建立一个.txt的文件,里面放上你需要的汉字,然后另存为 utf8的格式。
例如:你建立的文件为 a.txt 里面的汉字是  无线模式  这几个字。
          然后另存为 utf8格式后,用U2C.exe那个软件转换 ,转换后的文件可能名字就是 a.c了
          这个时候,你会发现 a.c中是 这么一串utf8编码后的字符串  :        
         "\xe6\x97\xa0\xe7\xba\xbf\xe6\xa8\xa1\xe5\xbc\x8f" 
2.假如说你建立了一个button,上面放的汉字就是 无线模式 这几个字,你可以建立一个 const变量
         const char WirelessMode[] = "\xe6\x97\xa0\xe7\xba\xbf\xe6\xa8\xa1\xe5\xbc\x8f" ;
    调用之前,当然要使能UTF8解码:
         GUI_UC_SetEncodeUTF8();
    调用的时候就可以用
         ButtonSetText(hItem, WirelessMode);
    这样就会显示汉字了。

 这样做的好处是,不用管文件的编码格式,不过坏处就是会出现很多上面的那种变量。
 如果多的话,可以专门的建立一个文件来存放各种汉字短语变量
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-11-5 14:46:06 | 显示全部楼层
帮顶。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
 楼主| 发表于 2014-11-5 14:51:49 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥百忙之中来帮顶,辛苦了。。。
回复

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2014-11-5 15:16:18 | 显示全部楼层
可以的,你可以去参考下安富莱的操作方式 我就有做好汉字生成的
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2014-11-5 15:17:45 | 显示全部楼层




看到了吧


专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复

使用道具 举报

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
 楼主| 发表于 2014-11-5 17:38:51 | 显示全部楼层
回复【5楼】ST-FAE-SALE:
---------------------------------
你的字库是自己做的还是用FontCnt软件生成的?
回复

使用道具 举报

7

主题

333

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2012-7-16
在线时间
504 小时
发表于 2014-11-5 21:33:14 | 显示全部楼层
安装安富莱那个做,讲的很详细。
回复

使用道具 举报

1

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2013-9-11
在线时间
5 小时
发表于 2014-11-6 09:40:51 | 显示全部楼层
回复【7楼】hyghyg1234:
---------------------------------
哪里有安富莱的资料呢,求链接,谢谢
回复

使用道具 举报

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
 楼主| 发表于 2014-11-6 11:25:53 | 显示全部楼层
回复【7楼】hyghyg1234:
---------------------------------
我按照上面生成字库的方法一步一步的来,然后发现只要我使用了自己的字库,button上面就什么都不会显示了。如果设置字体用的是
Button_SetDefaultFont()就是乱码,如果用Button_SetFont(),就不会显示。这种情况你碰到过吗?
回复

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2014-11-6 21:02:59 | 显示全部楼层
用软件做的,你说的问题没遇到。
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2014-12-8
在线时间
0 小时
发表于 2015-3-22 16:56:39 | 显示全部楼层
回复【9楼】L00p:
---------------------------------
我也是这样的情况,真心不懂为什么啊
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2014-12-8
在线时间
0 小时
发表于 2015-3-22 16:57:55 | 显示全部楼层
回复【7楼】hyghyg1234:
---------------------------------
我按照安富莱那个做,显示不了汉字,弄了好久都不行,每部都是按照他来的
回复

使用道具 举报

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
 楼主| 发表于 2015-3-25 13:46:27 | 显示全部楼层
回复【14楼】L00p:
---------------------------------
当然了,字库还是需要按照安富莱上面的那些步骤做的,我说的只是如果正确的调用并显示汉字。这种方法还是有很多好处的,如果想换掉那些短语,不用在程序中换了,只要在变量中换掉就可以,而且,假如用的编辑器不同,也不会把汉字显示成乱码。
回复

使用道具 举报

2

主题

12

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2014-12-15
在线时间
1 小时
发表于 2015-5-18 10:59:30 | 显示全部楼层
回复【15楼】L00p:
---------------------------------
 ____XXXX,XXX_____,
03
       _X____X_,X_______,
04
       __X____X,________,
05
       ____XXXX,XXX_____,
06
       ____X__X,__X_____,
07
       XXX_XXXX,XXX_____,
08
       __X_X__X,__X_____,
09
       __X_XXXX,XXX_____,
10
       __X_X__X,__X_____,
11
       __X_X__X,_XX_____,
12
       _X_X____,________,
13
       X___XXXX,XXXX____
14
};
我生成的是乱码 怎么回事啊??
回复

使用道具 举报

2

主题

27

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
249
金钱
249
注册时间
2014-10-5
在线时间
37 小时
发表于 2015-10-22 10:46:19 | 显示全部楼层
回复【16楼】zhao361037950:
---------------------------------
你用的FontCvtST.exe   是演示版本
回复

使用道具 举报

6

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-12-11
在线时间
53 小时
发表于 2016-9-5 19:53:46 | 显示全部楼层
请问各位大神,有没有详细的资料可供参考呢?感激不尽!
Try again and there is nothing left to say.
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2021-2-20
在线时间
0 小时
发表于 2017-4-21 11:57:22 | 显示全部楼层
墨黥天 发表于 2016-9-5 19:53
请问各位大神,有没有详细的资料可供参考呢?感激不尽!

问题解决了吗?可否介绍一下解决方法?
回复

使用道具 举报

20

主题

143

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2015-8-28
在线时间
108 小时
发表于 2017-12-1 15:18:15 | 显示全部楼层
按照安富莱的操作,使用模拟器可以正常显示汉字,放到板子上就啥也不显示了,
源文件.c和字体文件.c都设置为UTF-8编码了,
还有什么招破解?
回复

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2019-5-2
在线时间
12 小时
发表于 2019-8-6 17:32:40 | 显示全部楼层

你好,在这个中文 button  怎么实现?看了这个还是没有解决
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 21:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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