本帖最后由 wbeast 于 2016-7-12 08:58 编辑
uCGUI自带的字体文件中只包含英文及标点,想要显示中文字体最简单的 方法便是自己动手添加。先来看一下ucGUI 中自带字体文件的取模方式,如图1所示
其中用X 表示的部分是需要在屏幕上显示的一个像素点,下划线的部分则 不显示,uCGUI 中自带的字体都是基于这个方法来显示的。其实图1 中,每一 个逗号前都是1 个字节的数据,所以我们可以将图1 的取模方式改为如图2 所示的情况,这样也是正确的,当然也可以改成全16 进制的表示方式,但显示效果没有图1 来的直观。下面进入具体实现步骤。 步骤1:下载字体生成软件 步骤2:首先需要一个字体生成软件,该软件要能制作出如图1 所示的字体取模效果,我使用的是ucGUI 字体生成器V3.0,界面如图3 所示。
图三
步骤3:开始制作自己想要的字体文件 如图四所示
图四 步骤四:在GUI/Font文件夹中创建一个.c文件,这里定义为Font.c(文件名可以随意更改,只要不和库文件名冲突就可以)如图5所示
图5 步骤五:把Font.c添加到keil工程目录下,如图六所示
图六
步骤六:修改程序 将Font.c文件中里面的数组加上const修饰,如图七所示
图七
步骤七:在KEIL工程中找到GUI.H 在GUI.h中添加一段代码,声明数组,该数组名就是Font .c文件中的最末尾数组的数组名,如图八所示
图八 步骤八:调用GUI_SetFont(&GUI_FontHZ16)函数,如图九所示
图九 步骤九:编译,如果没有出现错误,就可以下载到开发板,显示效果如图十所示
ucGUI字体生成器 V3.0.rar
(225.65 KB, 下载次数: 13)
|