[STM32F1] 一个开源小型GUI移植到STM32F103上(二) 添加中文字库

[复制链接]
12061|115
 楼主| WoodData 发表于 2018-10-3 08:48 | 显示全部楼层 |阅读模式
  继上次GUI移植之后,有部分网友感兴趣,有的还问如何添加中文字库。见贴https://bbs.21ic.com/icview-2383616-1-1.html。趁着这次放假休息把中文字库加上来了。  先看下效果图:
QQ图片20181003083535.jpg

主要修改了以下几个函数适应新加字库。
824165bb40efc71772.png 336185bb40f5c20fd8.png 547155bb40f7484bb1.png 431115bb40f8a1c2bb.png 624605bb40fac7c1e8.png 805295bb40fcf03897.png

其中那些窗口控件的字符串输出主要是void _UG_PutText(UG_TEXT* txt)这个函数控制的。
    新加字库主要实现如下2个接口函数,就可以方便增加新字库,以后要添加其他字库和这个方式一样。
410465bb4111783162.png 900755bb4112a618cb.png

具体内如见程序:
TouchPanel_uggui.rar (1.4 MB, 下载次数: 584)
322995bb40f0014e1f.png

评论

我想问下 ,每次声明一个UG_BUTTON button1_1,只能对应一个BTN_ID吗,是不是每个UG_BUTTON可以对应BTN_ID_0-BTN_ID_19,  发表于 2024-7-26 14:42
我又来啦。按键是好啦。但是呢,发现这字体不是我想要的。而且不知道这个字库生成的方式。我用的中文字库。也可以按照你上面说的改吗  发表于 2018-10-31 17:19
请问一下,用按键怎么联系起来写,能给点思路吗  发表于 2018-10-31 08:27
ysuer 发表于 2018-10-3 15:36 | 显示全部楼层
请问楼主,这个支持板子上的物理按键的控制么
大豆子 发表于 2018-10-31 08:27 | 显示全部楼层
请问一下,按键怎么联系起来写,能给些思路吗
 楼主| WoodData 发表于 2018-10-31 15:43 | 显示全部楼层
大豆子 发表于 2018-10-31 08:27
请问一下,按键怎么联系起来写,能给些思路吗

应该首先要添加一个记录当前窗口获取到焦点的控件序号或者指针,初始有默认焦点控件。
然后扫描按键信息,按键按下改变获取到焦点的控件记录,或者按键按下执行控件的点击回调。
按键扫描可以和触摸坐标获取一起。
大概是这样的思路,你可以试下

评论

好的,明白,多谢大佬,我试试  发表于 2018-10-31 15:58
大豆子 发表于 2018-10-31 15:58 | 显示全部楼层
WoodData 发表于 2018-10-31 15:43
应该首先要添加一个记录当前窗口获取到焦点的控件序号或者指针,初始有默认焦点控件。
然后扫描按键信息 ...

好的,明白,多谢大佬,我试试
大豆子 发表于 2018-10-31 17:19 | 显示全部楼层
本帖最后由 大豆子 于 2018-11-1 08:33 编辑

我又来啦。按键是好啦。但是呢,发现这字体不是我想要的。而且不知道这个字库生成的方式。我用的英文字库。也可以按照你上面说的改吗  

评论

不对,我说错啦。我用的英文字库  发表于 2018-11-1 08:33
dingbo95 发表于 2018-10-31 19:08 | 显示全部楼层
又来一波啊,酷的很
dingbo95 发表于 2018-10-31 19:09 | 显示全部楼层
这些关于gui 的帖子多发点很是喜欢啊
dingbo95 发表于 2018-10-31 19:09 | 显示全部楼层
火哥最近不是在写exgui吗? 很是期待
dingbo95 发表于 2018-10-31 19:11 | 显示全部楼层
这个跟emwin有区别吗?
hanzhen654 发表于 2018-10-31 21:12 | 显示全部楼层
显示中文就更酷了,期待下次更新。
 楼主| WoodData 发表于 2018-11-1 09:56 | 显示全部楼层
大豆子 发表于 2018-10-31 17:19
我又来啦。按键是好啦。但是呢,发现这字体不是我想要的。而且不知道这个字库生成的方式。我用的英文字库。 ...

你按我那个中文字库文件那个实现2个函数,取字符宽度和描点2个函数,还有字库。
然后在头文件中定义字体结构并调用就行了。
如果字符宽度是固定不变的,可以不实现取字符宽度函数,置NULL。字库取模随意,只需要实现描点函数就行。
大豆子 发表于 2018-11-2 16:25 | 显示全部楼层
本帖最后由 大豆子 于 2018-11-3 09:41 编辑
WoodData 发表于 2018-11-1 09:56
你按我那个中文字库文件那个实现2个函数,取字符宽度和描点2个函数,还有字库。
然后在头文件中定义字体 ...

咦。原来回复了我的。我找到了字体扫描得方式。

我又来啦。大侠。

就是这个GUI,当我用textbox 显示变量后。但是这些变量可能在将来会被改变。有一个直接最大得函数去更新吗?

还是需要我去重新SetText.


大豆子 发表于 2018-11-3 09:44 | 显示全部楼层
大豆子 发表于 2018-11-2 16:25
咦。原来回复了我的。我找到了字体扫描得方式。

我又来啦。大侠。

我明白啦。看到你的历程。好像是在回调函数里面重新SetText一下
飞翔的鱼2019 发表于 2019-4-16 21:04 | 显示全部楼层
cz123123 发表于 2019-6-3 16:01 | 显示全部楼层
问问大佬。uGUI这个为啥刷新不太正常啊
pixhw 发表于 2019-6-3 17:16 | 显示全部楼层
设计的给力呢。           
kkzz 发表于 2019-6-3 17:16 | 显示全部楼层
中文字库存储在哪里呢  
hudi008 发表于 2019-6-3 17:17 | 显示全部楼层
楼主的源代码有吗            
lzmm 发表于 2019-6-3 17:17 | 显示全部楼层
如何添加中文字库在其他tft呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

4784

帖子

28

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