[应用相关] TouchGFX基础:显示中文

[复制链接]
 楼主| peripheral 发表于 2020-6-23 18:52 | 显示全部楼层 |阅读模式
使用 TouchGFX Designer 的textArea控件很容易显示不同字体的文字,可是如果想显示中文,则需要做相应的配置,否则会出乱码,见下面这个例子:


772315ef1decbac773.png

如上图,添加一个textArea控件, 输入一串文字:“你好 TouchGFX”,在Designer中中文是可以正常显示的。
 楼主| peripheral 发表于 2020-6-23 18:52 | 显示全部楼层
334255ef1dee878053.png
同时,特意将40号大小的Large字体的 Fallback Character 属性由默认的 ? 改为 * 号(后面会看到它的作用),Ctrl+S 保存工程,然后 Browse Code,在VC环境中编译、运行,结果如下:
985115ef1defc98d19.png
 楼主| peripheral 发表于 2020-6-23 18:53 | 显示全部楼层
“你好”2个中文字没有显示出来呀?!对应的,显示了2个 * 号(这正是图二中配置的)!难道是VC模拟器的问题?用IAR重新编译、烧写到 STM32F769I-DISCO 开发板中(如何在IAR中正确烧写片外flash,见上一篇**),结果也是乱码:

133185ef1df1dacb75.png
 楼主| peripheral 发表于 2020-6-23 18:53 | 显示全部楼层
原因在哪里?

回到Designer中,这里要重点说说 Typography 这个概念,网络上一般翻译为 “字体排印” ,我称之为 “字体类”,它包含了一种字体的名称、大小、色深、通配符等属性,TouchGFX中显示的任何文字,不论英文还是中文,必定属于某一种字体。

 楼主| peripheral 发表于 2020-6-23 18:54 | 显示全部楼层
只是,Designer默认的任一 字体类 的字体是 Verdana ,这是一种西文字体,是不支持中文显示的,所以造成乱码:
103315ef1df5245795.png
 楼主| peripheral 发表于 2020-6-23 18:54 | 显示全部楼层
图中,字体类Large 的 Font 是 Verdana,只能显示西文(但Designer的界面上能显示 “你好” 这2个中文字,呵呵了)。为了显示中文,就得设定中文字体 ---- 创建一个字体类,并且将它的 Font 设置为一种中文字体。

 楼主| peripheral 发表于 2020-6-23 18:55 | 显示全部楼层
在图中,点击绿色框框中的 ADD NEW TYPOGRAPHY 按钮,弹出一个创建字体类的窗口:
996645ef1df8fedf8c.png
为新字体类取个名字:Typography_cn,在 Font 下拉列表中,选择 YouYuan,即 幼圆字体 (当前的Designer 4.10版本界面貌似不支持中文,呵呵了)即可
 楼主| peripheral 发表于 2020-6-23 18:56 | 显示全部楼层
555885ef1dfba49aa5.png
在textArea控件中重新设置Typography:
745955ef1dfd2992ee.png
 楼主| peripheral 发表于 2020-6-23 18:56 | 显示全部楼层
保存工程,再次启动VC、运行模拟器,中文显示正常了:
456765ef1dfe407132.png
 楼主| peripheral 发表于 2020-6-23 18:58 | 显示全部楼层
这是下载到目标板运行的情况:
995055ef1e004915a9.png
 楼主| peripheral 发表于 2020-6-23 18:58 | 显示全部楼层
TouchGFX是支持多语言界面的(multi language interfaces),即界面可以在多个语言之间切换,需要创建新的 Resource :
527385ef1e0540b5f9.png
如何实现多语言支持,将来另文介绍,本文完。
 楼主| peripheral 发表于 2020-6-23 19:00 | 显示全部楼层
补记:有关中文字体的扩充内容,请见**:《TouchGFX基础:再谈中文显示》。
 楼主| peripheral 发表于 2020-6-23 19:00 | 显示全部楼层

作者:海东青电子
链接:https://www.jianshu.com/p/e5d3023125d8
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
heimaojingzhang 发表于 2020-7-10 14:13 | 显示全部楼层
非常感谢楼主分享
keaibukelian 发表于 2020-7-10 14:13 | 显示全部楼层
我好像在哪里看见过这个帖子
labasi 发表于 2020-7-10 14:14 | 显示全部楼层
楼主辛苦了
paotangsan 发表于 2020-7-10 14:14 | 显示全部楼层
我也想用这个工具
renzheshengui 发表于 2020-7-10 14:14 | 显示全部楼层
界面很漂亮
香水城 发表于 2020-7-10 19:16 | 显示全部楼层
谢谢分享
pklong 发表于 2020-7-10 22:16 | 显示全部楼层
TouchGFX效率怎么样呢   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

438

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部