willlijie 发表于 2013-9-5 10:29:09

emwin汉字直接显示,太方便了

本帖最后由 willlijie 于 2013-9-5 14:31 编辑

         
       emwin移植好了以后,每次都要用U2C工具将汉字转换成UTF-8编码,十分不便。

       先用fontcvt生成所需字库(可根据需要随时添加汉字,软件可以去除重复),然后用U2C生成程序调用汉字时所用的编码。
fontcvt首先打开,然后disable掉所有的字,然后从一个unicode格式的汉字txt文档(另存一份UTF8格式的txt)导入你所要用到的汉字,也可以直接找到你要用到的汉字,然后右键enable就可以了。生成C码字库。U2C只能转换UTF8格式的txt文件。
            程序中也可以直接敲汉字,开始的时候显示不出来,终于找到可以程序中直接显示汉字的方法了:IAR编辑器的编码改成UTF-8。IAR默认编码在工程建立的时候也可以改成次编码,工具栏Tool》Option》Edit中 Default Chracter修改成 UTF-8,不用以后一个一个转换。对于已经建立的源文件可以逐个修改:编辑区右键选择Character Encoding=》confort to UTF-8.
            
    GUI_UC_SetEncodeUTF8();
   TEXT_SetDefaultFont(&GUI_FontXinSongTi14);//14x14 汉字库,用FontCvt V5.16转换
    hText14=TEXT_CreateEx(160-35,67,30,17,0,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,GUI_ID28, NumToChar(BackLightTime));//背光时间
   TEXT_SetFont(hText14, &GUI_Font16_ASCII);
   TEXT_SetBkColor(hText14, GUI_INVALID_COLOR);
   TEXT_SetTextAlign(hText14,TEXT_CF_HCENTER|TEXT_CF_VCENTER);

   hText15=TEXT_CreateEx(160-35,103,30,17,0,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,GUI_ID29, "常亮");//亮度   
//TEXT_SetFont(hText15, &GUI_FontXinSongTi14);
TEXT_SetBkColor(hText15, GUI_INVALID_COLOR);
TEXT_SetTextAlign(hText15,TEXT_CF_HCENTER|TEXT_CF_VCENTER);
//TEXT_SetText(hText15,"常亮");
GUI_Exec();

gnocy 发表于 2013-9-5 13:41:14

在研究中,回头试一下

willlijie 发表于 2013-9-6 09:33:14

{:lol:}看帖不回是不道德的

wqhzhy5858 发表于 2013-9-6 09:37:03

顶下,回头试试

Lavion 发表于 2013-9-10 14:43:41

这个要MARK一下,我的显示方式超级麻烦

郭本宏 发表于 2013-9-10 15:01:14

看帖不表达下对楼主是大不敬的{:titter:}

tiger5 发表于 2013-9-10 15:04:06

楼主,控件上的都可以显示汉字吗?

tiger5 发表于 2013-9-10 15:05:27

EMWIN那个版本?
来个图片看看。
谢。

grarrow 发表于 2013-9-10 15:29:06

对IAR开发环境不熟

ApexUSB 发表于 2013-9-10 19:22:35

这么牛气呀!不知道keil有没有这个福利。

forevertoo 发表于 2013-9-10 21:29:07

我在自己的板子上移植了emwin5.20,将中文字库放在外部SD卡中,能够通过GUI_DisplayString函数将中文汉字显示出来,但是当建立一个对话
窗口时,BUTTON和Framewin上的汉字却显示不了。不知道楼主遇到过么?

forevertoo 发表于 2013-9-10 21:37:39

我在另外一块板子上也是移植emwin5.20,采用字库芯片GL2312作为中文字库缓存,在程序中能够实现汉字显示,但是对于这两者有何区别想请教楼主高见。谢谢!

tiger5 发表于 2013-9-12 10:13:19

呼唤楼主。。。

wangsgw68 发表于 2013-9-12 22:09:21

学习 学习

Eric2013 发表于 2013-9-13 20:00:55

用MDK也很简单,直接把要显示显示的那个文件改成UTF-8类型就可以了,显示144*144的点阵,4位抗锯齿,效果杠杠的

Eric2013 发表于 2013-9-13 20:01:42

特别是四个大福字的中间两个。

H516J 发表于 2013-9-14 15:07:01

emwin   现在发展到什么状态了。

nongxiaoming 发表于 2013-9-14 15:13:25

这个算得上方便吗?不见得方便啊,一直不就是这么用的吗?

zhl_tc 发表于 2013-9-18 16:33:41

请问楼主怎么改的编码,我的貌似没有呢

龙之舞者 发表于 2013-9-18 17:27:54

回帖是个好习惯!

zhl_tc 发表于 2013-9-18 17:45:33

补充一下,我的版本是6.30的

气球 发表于 2013-9-18 18:09:09

{:smile:}{:smile:}{:smile:}{:smile:}{:smile:}

willlijie 发表于 2013-9-20 22:20:19

zhl_tc 发表于 2013-9-18 16:33 static/image/common/back.gif
请问楼主怎么改的编码,我的貌似没有呢

Edit里面default charactor

willlijie 发表于 2013-9-20 22:42:01

tiger5 发表于 2013-9-10 15:04 static/image/common/back.gif
楼主,控件上的都可以显示汉字吗?

   Text和Button上面是可以显示的,我用的emwin5.16库,EFM32开发包。

willlijie 发表于 2013-9-20 22:54:41

forevertoo 发表于 2013-9-10 21:29 static/image/common/back.gif
我在自己的板子上移植了emwin5.20,将中文字库放在外部SD卡中,能够通过GUI_DisplayString函数将中文汉字显 ...

   我是自己建立的小字库,BUTTON和FRAME上都可以显示中文啊。中英文混显的话你要把中文和英文放到一个汉字点阵库里面。

kinsno 发表于 2013-9-22 17:55:20

Eric2013 发表于 2013-9-13 20:00 static/image/common/back.gif
用MDK也很简单,直接把要显示显示的那个文件改成UTF-8类型就可以了,显示144*144的点阵,4位抗锯齿,效果杠 ...

话说,你那个开发板,我想来一个,但我只想要主板,其实就想熟悉一下LWIP,何价?屏对于我来说,无用。因为我根本不用这个平台做液晶显示的。不晓得这样,可出售否?哈哈,或者有简易版的也可以,有LWIP即行。

Eric2013 发表于 2013-9-22 18:31:48

kinsno 发表于 2013-9-22 17:55 static/image/common/back.gif
话说,你那个开发板,我想来一个,但我只想要主板,其实就想熟悉一下LWIP,何价?屏对于我来说,无用。因 ...

可以的啊,我现在不做销售了,只是发布一些例程,打理一下论坛,你上armfly的淘宝买就行。

willlijie 发表于 2013-9-23 08:38:43

Lavion 发表于 2013-9-10 14:43 static/image/common/back.gif
这个要MARK一下,我的显示方式超级麻烦

{:smile:} 研究结果怎样?

kinsno 发表于 2013-9-23 22:12:21

Eric2013 发表于 2013-9-22 18:31 static/image/common/back.gif
可以的啊,我现在不做销售了,只是发布一些例程,打理一下论坛,你上armfly的淘宝买就行。 ...

没有我要的这种板,套餐倒是看到一个,要860,疯了,卖这个钱,果断自己DIY一个,弄一个开发板的目的是为了加快进程;省时间罢了。你现在手上有空余的主板吗,一定要带网络口的,出一个呗,回头我跟公司申请一下采购一个,呵呵。

Eric2013 发表于 2013-9-23 22:40:55

kinsno 发表于 2013-9-23 22:12 static/image/common/back.gif
没有我要的这种板,套餐倒是看到一个,要860,疯了,卖这个钱,果断自己DIY一个,弄一个开发板的目的是为 ...

我手头只有一个板子。

kinsno 发表于 2013-9-24 11:45:02

Eric2013 发表于 2013-9-23 22:40 static/image/common/back.gif
我手头只有一个板子。

有网络接口不?LWIP不?哈哈。出不?

Eric2013 发表于 2013-9-24 11:46:18

kinsno 发表于 2013-9-24 11:45 static/image/common/back.gif
有网络接口不?LWIP不?哈哈。出不?

不出,我自己还要用。

xssr123 发表于 2013-9-24 12:06:37

不错,谢谢

dongfo 发表于 2013-9-24 12:25:29

这个不算是很方便吧

qrsgcslqg2011 发表于 2013-11-1 16:34:16

自己测试emwin显示汉字时用的是这两个函数:
GUI_SetFont(&GUI_FontHZ_SimSun_21);
GUI_DispStringAt("时间:", 0, 0);
用的是ucgui显示汉字的文件
使用软件FontCvt.exe产生的c文件不能显示

willlijie 发表于 2013-11-4 10:52:17

本帖最后由 willlijie 于 2013-11-4 10:53 编辑

qrsgcslqg2011 发表于 2013-11-1 16:34 static/image/common/back.gif
自己测试emwin显示汉字时用的是这两个函数:
GUI_SetFont(&GUI_FontHZ_SimSun_21);
GUI_DispStringAt("时间 ...

   控件和GUI_DispStringAt("时间:", 0, 0)都可以显示的,GUI_SetFont(&GUI_FontHZ_SimSun_21);你在前面要加一句GUI_UC_SetEncodeUTF8();

qrsgcslqg2011 发表于 2013-11-5 10:10:02

willlijie 发表于 2013-11-4 10:52 static/image/common/back.gif
控件和GUI_DispStringAt("时间:", 0, 0)都可以显示的,GUI_SetFont(&GUI_FontHZ_SimSun_21);你在前 ...

麻烦请教一个问题,如何实现在将整个汉字库放在外部的flash中,然后在调用

willlijie 发表于 2013-11-5 11:35:37

qrsgcslqg2011 发表于 2013-11-5 10:10 static/image/common/back.gif
麻烦请教一个问题,如何实现在将整个汉字库放在外部的flash中,然后在调用 ...

       做汉字数组好像比较麻烦,可以参考http://blog.csdn.net/efm32/article/details/7540244
    先做一个程序,接收串口汉字点阵库,然后写到片外Flash中。
    再然后可以改回应用程序,根据汉字偏移地址读片外flash数据显示。
   

qrsgcslqg2011 发表于 2013-11-5 13:00:55

谢谢willlijie的耐心解答

大豆皮 发表于 2013-12-12 10:34:09

能不能显示外文呀?有没有方法,求教。

zdc 发表于 2014-3-24 22:30:38

做个记号,不知keil是否可行

whow 发表于 2014-3-31 23:56:24

标记一下

zhangtuan 发表于 2014-4-8 09:32:31

不错不错,学习中

cutedogspark 发表于 2014-4-8 09:51:32

学习中~

找時間來試試看~

huangxiaowei 发表于 2014-4-8 17:29:36

真的很不错哦

金牛AKI 发表于 2014-4-8 18:19:52

真心很赞楼猪厉害

nos002 发表于 2014-4-22 23:47:44

你mark你的,我记号我的。

hejiang177 发表于 2014-5-8 09:00:36

不错,收下了

andmain999 发表于 2014-5-30 15:31:37

学习学习。。

yangzi8000 发表于 2014-6-19 14:23:02

收下这个 小字库

sweet_136 发表于 2014-6-19 15:12:30

mark      

bitter_rain 发表于 2014-7-28 11:02:21

学习了!      

s2007s 发表于 2014-10-8 15:16:06

mark一下 虽然不知道好不好用。。。。。

jiki119 发表于 2014-10-11 11:08:17

技巧不错,值得学习。!

ustcls 发表于 2014-10-12 17:10:28


学习学习。。

dzf050727 发表于 2014-10-27 14:33:43

学习,感谢分享

ForUforever 发表于 2014-10-28 12:53:17

标注。。。。。。。。

omega333 发表于 2014-10-28 13:12:19

非常不错!多谢!

willlijie 发表于 2014-10-29 16:42:28

qrsgcslqg2011 发表于 2013-11-1 16:34
自己测试emwin显示汉字时用的是这两个函数:
GUI_SetFont(&GUI_FontHZ_SimSun_21);
GUI_DispStringAt("时间 ...

试试这个 不是demo版的 FontCvt

batou 发表于 2014-10-30 08:43:15

qrsgcslqg2011 发表于 2013-11-1 16:34
自己测试emwin显示汉字时用的是这两个函数:
GUI_SetFont(&GUI_FontHZ_SimSun_21);
GUI_DispStringAt("时间 ...

确实能显示,只是字体是怎么生成的啊

willlijie 发表于 2014-10-30 19:10:34

   keil设置编码为UTF-8 同样适用

GUI_UC_SetEncodeUTF8();
GUI_SetFont(&GUI_FontXinSongTi1212);
GUI_DispStringAt("年月日",5,20);

willlijie 发表于 2014-10-30 19:15:31

本帖最后由 willlijie 于 2014-10-30 19:18 编辑

batou 发表于 2014-10-30 08:43
确实能显示,只是字体是怎么生成的啊

这个参考比较详细 http://blog.csdn.net/efm32/article/details/8496835。另外将文本保存成unicode编码,用FontCvt Edit -> Disable all characters。 失能所有的字符. Edit -> read pattern file就可以将要显示的汉字一次生 全部导入,最后如果要显示英文,因此点击Edit -> Enable range of characters, 在弹出来的窗口中,选择范围0 ~ 7F。保存为*.c

qrsgcslqg2011 发表于 2014-10-31 13:48:17

willlijie 发表于 2014-10-29 16:42
试试这个 不是demo版的 FontCvt

好的,我试试,谢谢

周洞天 发表于 2014-11-17 21:58:58

mark,谢谢

qdyuyan 发表于 2014-11-19 15:57:04

不错,学习了!

pch888 发表于 2014-11-25 21:56:55

收藏备用

dj1981812 发表于 2014-11-26 08:12:17

研究下,收藏

朝闻夕道 发表于 2014-11-26 08:30:06

不错,学习了;

血刃修罗 发表于 2014-11-26 08:47:47

mark,收藏

血刃修罗 发表于 2014-11-26 08:48:07

本帖最后由 血刃修罗 于 2014-11-26 08:59 编辑

mark,收藏
编辑原因:不知道什么原因,发重复了。不知道怎么删除?总之非常感谢楼主分享。

爺@龙行天下 发表于 2014-11-28 20:48:06

已经做出来,在楼主发帖子前,进来看看不同

zhongsandaoren 发表于 2014-12-9 10:40:54

一直用ucgui_font软件,很好用。可以定制,也可以去重复,引用也方便。

dengfeng5357 发表于 2014-12-19 10:59:33

多谢好资料分享,正学习中。

xuekcd 发表于 2015-2-6 14:44:27

很有用的资料,谢谢楼主了!

yangzhong316 发表于 2015-3-9 14:16:00

有用,收藏.谢了.{:smile:}

ayaqby 发表于 2015-4-19 10:14:02

收藏了

lijie1116 发表于 2015-4-19 21:57:11

emwin 汉字显示 ,不错,谢谢

19711972f 发表于 2015-5-29 10:49:10

学习,谢谢了。

chen849928055 发表于 2016-7-15 14:58:41

用fontcvt生成所需字库,必须要移植 emwin吗?调用 emwin里面的显示函数来显示字符吗

limaotaizi 发表于 2018-4-28 21:23:15

最近准备采用大屏幕,学习下!~
页: [1]
查看完整版本: emwin汉字直接显示,太方便了