硬汉嵌入式论坛

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

[ThreadX全家桶] GUIX list 显示中文汉字

  [复制链接]

3

主题

38

回帖

47

积分

新手上路

积分
47
发表于 2020-9-15 14:53:52 | 显示全部楼层 |阅读模式
首先:字体设置选项,在include the flowing characher rangs 中勾选 Kanji Ideographs   即包含中文字符字段,然后可以看到添加字体size变得很大。

然后:在应用时,guix显示汉字时,需要将汉字转换成对应的UTF-8编码,然后才可以显示。
          程序代码移植  Azure_RTOS\GUIX_Studio_6.0\examples\demo_guix_medical 中的例子




最后:效果

补充:GBK转UTF-8代码附上。[url=]GBK.rar[/url]
123.bmp
2.jpg
1.jpg
3.jpg

GBK.rar

149.2 KB, 下载次数: 59

GBK-unicode-utf-8转换

评分

参与人数 1金币 +100 收起 理由
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2020-9-15 15:05:21 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-15 15:10:27 | 显示全部楼层
支持硬汉哥       为大家出一点力    十分荣幸
回复

使用道具 举报

610

主题

3062

回帖

4912

积分

至尊会员

积分
4912
发表于 2020-9-15 16:51:21 | 显示全部楼层
感觉貌似 这个 guix 显示中文 字库比较复杂啊,
回复

使用道具 举报

36

主题

2040

回帖

2148

积分

至尊会员

积分
2148
发表于 2020-9-15 21:17:32 | 显示全部楼层
可以不用转接,直接UTF8
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 08:50:26 | 显示全部楼层
byccc 发表于 2020-9-15 21:17
可以不用转接,直接UTF8

不转换  直接用UTF-8怎么操作呀   求指教啊   我觉得GUIX应该有自己的一套中文转换方式   但是我没找到  分享下经验
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 08:50:42 | 显示全部楼层
byccc 发表于 2020-9-15 21:17
可以不用转接,直接UTF8

不转换  直接用UTF-8怎么操作呀   求指教啊   我觉得GUIX应该有自己的一套中文转换方式   但是我没找到  分享下经验
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 08:51:21 | 显示全部楼层
byccc 发表于 2020-9-15 21:17
可以不用转接,直接UTF8

不转换直接用UTF-8怎么操作呀,求指教啊,我觉得GUIX应该有自己的一套中文转换方式,但是我没找到,分享下经验
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2020-9-16 09:54:39 | 显示全部楼层
sunpeng123 发表于 2020-9-16 08:51
不转换直接用UTF-8怎么操作呀,求指教啊,我觉得GUIX应该有自己的一套中文转换方式,但是我没找到,分享 ...

我这里的就是直接UTF8使用的。

2005和2006例子的中文展示。
http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429&extra=page%3D1
回复

使用道具 举报

0

主题

84

回帖

84

积分

初级会员

积分
84
发表于 2020-9-16 10:16:54 | 显示全部楼层
谢谢, ,学习了
回复

使用道具 举报

3

主题

22

回帖

31

积分

新手上路

积分
31
发表于 2020-9-16 11:44:47 | 显示全部楼层
其实可以增加Chinese Language ID,然后String ID中增加所需要的汉字,例如patients.c中的
  1. gx_prompt_font_set(&row->name, GX_FONT_ID_SMALL);
复制代码

这样做,一是占用空间小点。也就是说需要什么汉字,才生成什么汉字;二是不需要那么繁琐地转换。
不知道我的方法简洁不。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2020-9-16 11:50:01 | 显示全部楼层
waitopen 发表于 2020-9-16 11:44
其实可以增加Chinese Language ID,然后String ID中增加所需要的汉字,例如patients.c中的

这样做,一是 ...

对,大致思路就是这样的。

GUIX Studio添加中文,然后用户填写任何字符都可以自动生成。
回复

使用道具 举报

3

主题

22

回帖

31

积分

新手上路

积分
31
发表于 2020-9-16 12:06:20 | 显示全部楼层
eric2013 发表于 2020-9-16 11:50
对,大致思路就是这样的。

GUIX Studio添加中文,然后用户填写任何字符都可以自动生成。

我说的办法,自己已经测试过了,可行,所以发上来
回复

使用道具 举报

3

主题

22

回帖

31

积分

新手上路

积分
31
发表于 2020-9-16 12:35:14 | 显示全部楼层
谢谢LZ的提示。GX_FONT_ID_ALI_MEDIUM是我自己增加的字体ID,大家自己可以变成自己的。

添加language ID

添加language ID

修改patient_list

修改patient_list

设置prompt字体

设置prompt字体

显示效果

显示效果

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2020-9-16 13:01:39 | 显示全部楼层
waitopen 发表于 2020-9-16 12:06
我说的办法,自己已经测试过了,可行,所以发上来

我发布的案例就是这么弄的。

2005和2006例子的中文展示。
http://www.armbbs.cn/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 13:45:03 | 显示全部楼层
eric2013 发表于 2020-9-16 09:54
我这里的就是直接UTF8使用的。

2005和2006例子的中文展示。

不是的    例子中显示的中文是事先定义好的   如果出现没有定义的汉字就不行了  比如GUIX中没有定义“嵌入式”这三个字   那么在屏幕上是无法显示的.
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 13:46:10 | 显示全部楼层
waitopen 发表于 2020-9-16 12:06
我说的办法,自己已经测试过了,可行,所以发上来

我这个是针对非定义的汉字    比如你想输入某个患者的姓名     不可能吧所有的汉字都定义一遍
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 13:50:15 | 显示全部楼层
补充一下:  我这里显示的是list中显示中文 ,比如在我们显示的汉字时未知的情况下,比如“张三”“李四”等姓名,怎么办呢?   guix源码库提供了一个UINT  _gx_utility_unicode_to_utf8(ULONG unicode, GX_UBYTE *return_utf8_str, UINT *return_utf8_size) unicode转utf8的函数,但是感觉这个不能满足 汉字到UTF-8de转换,    我说的这个显示汉字,针对场景如:医疗设备检测需要输入患者姓名等信息
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 13:55:14 | 显示全部楼层
补充一下:这里的显示汉字  是指list中显示未知汉字,如输入患者信息,“张三”“李四”, 例如:医疗设备需要手动输入患者信息。并非事先定义好的汉字字符串。
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 14:03:39 | 显示全部楼层
waitopen 发表于 2020-9-16 12:06
我说的办法,自己已经测试过了,可行,所以发上来

如果显示未知的汉字呢?比如医疗设备中显示某些患者的姓名
回复

使用道具 举报

3

主题

22

回帖

31

积分

新手上路

积分
31
发表于 2020-9-16 15:14:47 | 显示全部楼层
sunpeng123 发表于 2020-9-16 14:03
如果显示未知的汉字呢?比如医疗设备中显示某些患者的姓名

按照你的想法逻辑,下一步应该是GuiX软键盘的代码设计吧。

我记得emwin例程好像有个软键盘例子。是不是可以参考一下呢?

GUIX把全部汉字加载进去,估计程序太大了。可能需要调用屏的内置字体?

有想法就着手做吧,群里、论坛里高手挺多,可以边做边交流。

我上面的只能称为汉化,玩一下,体验一下。其实是收到硬汉的GUIX例程启发,列表中的人名汉化是今天受你的启发。谢谢两位。
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 15:20:35 | 显示全部楼层
waitopen 发表于 2020-9-16 15:14
按照你的想法逻辑,下一步应该是GuiX软键盘的代码设计吧。

我记得emwin例程好像有个软键盘例子。是不 ...

没错的,下一步就是搞软键盘了,目前还是比较头大的,GUIX本来就是轻量级的设计,现在搞得代码量太大了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2020-9-16 15:37:27 | 显示全部楼层
sunpeng123 发表于 2020-9-16 15:20
没错的,下一步就是搞软键盘了,目前还是比较头大的,GUIX本来就是轻量级的设计,现在搞得代码量太大了。

你这个大的不是GUIX,是你整的转换码表和字库。

首先使用UTF-8就没有必要再整一个GBK。

然后字库,图库什么的外置

GUIX Studio生成的资源文件,字库,图库等存储到外部存储器的方法
http://www.armbbs.cn/forum.php?m ... 8400&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 16:05:09 | 显示全部楼层
eric2013 发表于 2020-9-16 15:37
你这个大的不是GUIX,是你整的转换码表和字库。

首先使用UTF-8就没有必要再整一个GBK。

这个我看到了,他是把字库图库一起导出来的,该怎么去找呢 ?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2020-9-16 16:08:28 | 显示全部楼层
sunpeng123 发表于 2020-9-16 16:05
这个我看到了,他是把字库图库一起导出来的,该怎么去找呢 ?

不用你管了,你给出总线地址即可,就是这么一个东西。
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 16:11:55 | 显示全部楼层
eric2013 发表于 2020-9-16 16:08
不用你管了,你给出总线地址即可,就是这么一个东西。

嗷嗷  谢谢  我研究一下
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 16:34:30 | 显示全部楼层
sunpeng123 发表于 2020-9-16 16:11
嗷嗷  谢谢  我研究一下

硬汉哥,我把这个字体图片的资源导出来的srec文件烧录到对应地址的FLASH,然后我就可以直接使用了吗?就相当于把程序中定义的东东全部放在FLASH中了,我的理解对吗?
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 16:44:55 | 显示全部楼层
eric2013 发表于 2020-9-16 16:08
不用你管了,你给出总线地址即可,就是这么一个东西。

硬汉哥,我把这个字体图片的资源导出来的srec文件烧录到对应地址的FLASH,然后我就可以直接使用了吗?就相当于把程序中定义的东东全部放在FLASH中了,我的理解对吗?
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 17:33:00 | 显示全部楼层
waitopen 发表于 2020-9-16 12:35
谢谢LZ的提示。GX_FONT_ID_ALI_MEDIUM是我自己增加的字体ID,大家自己可以变成自己的。

你这个字体设置可以看一下吗  谢谢
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-16 17:42:12 | 显示全部楼层
waitopen 发表于 2020-9-16 12:35
谢谢LZ的提示。GX_FONT_ID_ALI_MEDIUM是我自己增加的字体ID,大家自己可以变成自己的。

LZ)A$KR82Z(R1E6087]MJ.png
为什么你的汉字直接写进去就可以呀? 分享一下你的操作呗,谢谢
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2020-9-17 10:45:22 | 显示全部楼层
waitopen 发表于 2020-9-16 12:35
谢谢LZ的提示。GX_FONT_ID_ALI_MEDIUM是我自己增加的字体ID,大家自己可以变成自己的。

问题已经解决  谢谢
回复

使用道具 举报

610

主题

3062

回帖

4912

积分

至尊会员

积分
4912
发表于 2020-10-29 09:17:40 | 显示全部楼层
本帖最后由 hpdell 于 2020-10-29 10:07 编辑
sunpeng123 发表于 2020-9-16 16:44
硬汉哥,我把这个字体图片的资源导出来的srec文件烧录到对应地址的FLASH,然后我就可以直接使用了吗?就 ...

你是如何解决的啊 ?

我目前想把全字库,图片 等全部搞到 外部 sdram 里面,产生的 bin 文件 或者是 srec 文件拷贝到sd 卡或者u盘里面,每次上电时读到sdram 里面,现在的问题是不知道在那个地方可以配置这个 sdram 地址 ?或者是外部 falsh 地址 ??
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2020-10-29 10:36:30 | 显示全部楼层
hpdell 发表于 2020-10-29 09:17
你是如何解决的啊 ?

我目前想把全字库,图片 等全部搞到 外部 sdram 里面,产生的 bin 文件 或者是 s ...

应用新的主题,稍微有点技巧的,GUIX教程后续章节,我会发布相应方案。
回复

使用道具 举报

610

主题

3062

回帖

4912

积分

至尊会员

积分
4912
发表于 2020-10-29 10:59:33 | 显示全部楼层
eric2013 发表于 2020-10-29 10:36
应用新的主题,稍微有点技巧的,GUIX教程后续章节,我会发布相应方案。

好哇,期待期待
回复

使用道具 举报

2

主题

14

回帖

20

积分

新手上路

积分
20
发表于 2022-10-28 11:06:45 | 显示全部楼层
waitopen 发表于 2020-9-16 12:35
谢谢LZ的提示。GX_FONT_ID_ALI_MEDIUM是我自己增加的字体ID,大家自己可以变成自己的。

你这个是什么字体可以分享下吗
回复

使用道具 举报

2

主题

14

回帖

20

积分

新手上路

积分
20
发表于 2022-10-28 11:51:45 | 显示全部楼层
硬汉,windows 模拟器 上显示汉字 用的文泉驿字体 ,显示不出来,一般用什么字体
image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2022-10-28 15:59:02 | 显示全部楼层
fanxing123 发表于 2022-10-28 11:51
硬汉,windows 模拟器 上显示汉字 用的文泉驿字体 ,显示不出来,一般用什么字体

GUIX Studio上显示是否正常,如果正常的话,移植到板子上展示应该是没问题的。
回复

使用道具 举报

2

主题

14

回帖

20

积分

新手上路

积分
20
发表于 2022-10-28 17:26:09 | 显示全部楼层
本帖最后由 fanxing123 于 2022-10-28 18:09 编辑
eric2013 发表于 2022-10-28 15:59
GUIX Studio上显示是否正常,如果正常的话,移植到板子上展示应该是没问题的。

在studio 上显示正常的,因为是被studio提前加载的,但是 我在代码里 数组里定义这个字串, 运行时设置为该字体就无法显示,没有在studio中定义的。这个其实i就是sample 中medical 的 patients.c 文件中的 image.png image.png
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 09:27 , Processed in 0.371777 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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