OpenEdv-开源电子网

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

emwin中多语言切换显示

[复制链接]

339

主题

418

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1631
金钱
1631
注册时间
2016-9-29
在线时间
114 小时
发表于 2017-5-8 14:59:07 | 显示全部楼层 |阅读模式
50金钱
@正点原子  @zuozhongkai
现在在界面中已经实现了中英文切换显示,想把土耳其语也增加进去切换显示,不知道怎么去实现,请大神赐教!
一是制作土耳其语字库还是做字模?
二是调用时,要显示的文本和字库,字模的对应关系是怎样的?
或者大神有好的实现方法跟小弟说一下。
最近遇到瓶颈了,请大神抽时间解决一下菜鸟的问题,不胜感激!

最佳答案

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

参考emwin仿真例程simple里面的LANG_UTF8_Text.c例子,自己制作了字库GUI_CONST_STORAGE GUI_FONT GUI_Font16B_TURK = { GUI_FONTTYPE_PROP /* type of font */ , 16 /* height of font */ , 16 /* space of font y */ , 1 /* magnification x */ , 1 /* magnification y */ , { &GUI_Font16B_TURK_Prop1 } ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

339

主题

418

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1631
金钱
1631
注册时间
2016-9-29
在线时间
114 小时
 楼主| 发表于 2017-5-8 14:59:08 | 显示全部楼层
参考emwin仿真例程simple里面的LANG_UTF8_Text.c例子,自己制作了字库GUI_CONST_STORAGE GUI_FONT GUI_Font16B_TURK = {
        GUI_FONTTYPE_PROP        /* type of font    */
        , 16                       /* height of font  */
        , 16                       /* space of font y */
        , 1                        /* magnification x */
        , 1                        /* magnification y */
        , { &GUI_Font16B_TURK_Prop1 }
        , 13, 7, 10
};
显示土耳其语的时候要用GUI_UC_SetEncodeUTF8();
具体细节参考仿真例程simple里面的LANG_UTF8_Text.c就可以实现了
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-5-8 15:02:04 | 显示全部楼层
土耳其语,不懂。要做的话肯定要做土耳其语的字库,然后把字库弄到SPI FLASH中去。
回复

使用道具 举报

339

主题

418

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1631
金钱
1631
注册时间
2016-9-29
在线时间
114 小时
 楼主| 发表于 2017-5-8 15:15:42 | 显示全部楼层
zuozhongkai 发表于 2017-5-8 15:02
土耳其语,不懂。要做的话肯定要做土耳其语的字库,然后把字库弄到SPI FLASH中去。

原理上应该是跟中文显示一个思路 做字库 copy到外部flash 然后计算在外部FLASHS字库中的字节偏移量
回复

使用道具 举报

339

主题

418

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1631
金钱
1631
注册时间
2016-9-29
在线时间
114 小时
 楼主| 发表于 2017-5-11 08:53:49 | 显示全部楼层
本帖最后由 zhlmtt 于 2017-5-16 16:11 编辑

@zuozhongkai @正点原子 土耳其语包含29个字母ABCÇDEFGĞHIİJKLMNO&#214RSŞTUüVYZabcçdefgğhıijklmnoöprsştuüvy,其中非英文字母的有12个(Ç  ç  Ğ  ğ  İ  ı  Ö  ö  Ş  ş ü  ü);我现在参考emwin仿真例程simple里面的LANG_UTF8_Text.c例子可以显示出Ç ç Ö ö ü ü这6个字母,其他的还是不行,请大神指教
回复

使用道具 举报

18

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
344
金钱
344
注册时间
2016-8-2
在线时间
78 小时
发表于 2018-1-9 10:27:47 | 显示全部楼层
zuozhongkai 发表于 2017-5-8 15:02
土耳其语,不懂。要做的话肯定要做土耳其语的字库,然后把字库弄到SPI FLASH中去。

土耳其语好像也是由8859-1字符组成的,直接调用GUI里面的字库即可,就是跟中文字库搭配显示的时候会出现乱码,需要将底层进行优化修改才行
回复

使用道具 举报

9

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
322
金钱
322
注册时间
2020-7-7
在线时间
113 小时
发表于 2020-9-10 17:30:13 | 显示全部楼层
请问一下楼主您这个中英文切换是怎么实现的?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 11:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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