查看: 4482|回复: 18

[经验] 分享自己整理的uCGUIi计入自定义中文字库资料

  [复制链接]
  • TA的每日心情
    开心
    2016-7-30 08:42
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2016-7-11 18:02:03 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 wbeast 于 2016-7-12 08:58 编辑

    uCGUI自带的字体文件中只包含英文及标点,想要显示中文字体最简单的
    方法便是自己动手添加。先来看一下ucGUI 中自带字体文件的取模方式,如图1所示

    QQ截图20160708140440.png
    其中用X 表示的部分是需要在屏幕上显示的一个像素点,下划线的部分则
    不显示,uCGUI 中自带的字体都是基于这个方法来显示的。其实图1 中,每一
    个逗号前都是1 个字节的数据,所以我们可以将图1 的取模方式改为如图2 所示的情况,这样也是正确的,当然也可以改成全16 进制的表示方式,但显示效果没有图1 来的直观。下面进入具体实现步骤。
    步骤1:下载字体生成软件
    步骤2:首先需要一个字体生成软件,该软件要能制作出如图1 所示的字体取模效果,我使用的是ucGUI 字体生成器V3.0,界面如图3 所示。
                                                                 QQ截图20160708140459.png

    图三



    步骤3:开始制作自己想要的字体文件
    如图四所示


    QQ截图20160708140512.png


    图四
    步骤四:在GUI/Font文件夹中创建一个.c文件,这里定义为Font.c(文件名可以随意更改,只要不和库文件名冲突就可以)如图5所示



    QQ截图20160708140522.png

    图5
    步骤五:把Font.c添加到keil工程目录下,如图六所示



    QQ截图20160708140529.png

    图六

    步骤六:修改程序
    将Font.c文件中里面的数组加上const修饰,如图七所示


    QQ截图20160708140539.png

    图七



    步骤七:在KEIL工程中找到GUI.H
    在GUI.h中添加一段代码,声明数组,该数组名就是Font .c文件中的最末尾数组的数组名,如图八所示


                                                                      QQ截图20160708140548.png
    图八
    步骤八:调用GUI_SetFont(&GUI_FontHZ16)函数,如图九所示

                                                                    QQ截图20160708140601.png
    图九
    步骤九:编译,如果没有出现错误,就可以下载到开发板,显示效果如图十所示

                                                    QQ截图20160708140618.png
    ucGUI字体生成器 V3.0.rar (225.65 KB, 下载次数: 13)
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2014-2-12 10:49
  • 签到天数: 150 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2016-7-12 08:57:45 | 显示全部楼层
    好分享!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-30 08:42
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2016-7-12 14:35:07 | 显示全部楼层
    stary666 发表于 2016-7-11 18:12

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-30 08:42
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2016-7-12 14:35:40 | 显示全部楼层
    zada小明 发表于 2016-7-12 08:57
    好分享!

    好东西,就是要分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-30 08:42
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2016-7-12 14:36:34 | 显示全部楼层
    stary666 发表于 2016-7-11 18:12

    好东西,就要分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-30 08:42
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2016-7-12 14:37:08 | 显示全部楼层
    stary666 发表于 2016-7-11 18:11

    好东西,就要分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-7-15 17:56:02 | 显示全部楼层
    感谢分享!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-12-10 10:55
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2016-7-21 10:53:16 | 显示全部楼层
    好分享,收藏支持
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-16 13:58
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2016-8-4 14:34:54 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-16 13:58
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2016-8-4 14:35:57 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-24 11:23 , Processed in 0.218104 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.