【STemWin教程入门篇】第18章 汉字显示方式一(FontCvt的使用)

标签:
ucos-iiiucguiemwinfontcvt汉字 |
分类: emWin |
第18章
汉字显示方式一(FontCvt的使用)
本期教程主要跟大家介绍官方的小工具Font
18.
18.
18.
18.1
使用FontCvt生成字库C文件的方法
我们先讲如何用这个软件生成部分的汉字数据,这里就以“安富莱电子”五个字进行说明。
第一步:打开选择Standard,16bit unicode
第二步:打开选择字体和字体大小
第三步:选择禁止所有的字符
第四步:用unicode软件转换函数
用中文转unicode的小软件得到“安富莱电子”这5个字的unicode编码我这里在百度上面找了一个网页应用。
第五步:在FontCvt上使能这个五个字的编码
在Font
方法一:直接的在软件里面查找,根据左边的unicode编码。
方法二:通过限制范围查找。
第六步:然后点击保存为C文件
要将前面的五个字全部找到并使能以后再做保存。
18.2
在开发板上面实现中文显示
下面我们用18.1小节讲的汉字生成方式生成7中类型的字体。前三种是Standard的宋体,大小是16,36和72.
第四种是144*144点阵的,有没有这么大的字体,需要手动往大小选项里面填写144,并选择右侧的Pixels。
第五种选择4倍抗锯齿,144*144点阵宋体
第六种选择4倍抗锯齿,扩展比例模式,144*144点阵宋体
第七种选择4倍抗锯齿,扩展带边框模式,144*144点阵宋体
MDK工程中专门的建立一个文件用存储上面生成的汉字数据:
主运行函数还是方面MainTask.c文件里面,主程序如下:
#include
#include
extern
extern
extern
extern
extern
extern
extern
static
};
void
{
}
void
{
GUI_UC_SetEncodeUTF8();(2)
TEXT_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_TEXT0),
TEXT_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_TEXT1),
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT1),&GUI_FontSongFont36);
TEXT_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_TEXT2),
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT2),&GUI_FontSongFont72);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT3),&GUI_FontSongFont144);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT4),&GUI_FontSongFontAEx144);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT5),&GUI_FontSongFontA144);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT6),&GUI_FontSongFontAExF144);
//
}
static
{
}
void
{
PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);
FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);
PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);
BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);
CHECKBOX_SetDefaultSkin(CHECKBOX_SKIN_FLEX);
DROPDOWN_SetDefaultSkin(DROPDOWN_SKIN_FLEX);
SCROLLBAR_SetDefaultSkin(SCROLLBAR_SKIN_FLEX);
SLIDER_SetDefaultSkin(SLIDER_SKIN_FLEX);
HEADER_SetDefaultSkin(HEADER_SKIN_FLEX);
RADIO_SetDefaultSkin(RADIO_SKIN_FLEX);
while(1)
{
GUI_Delay(10);
}
}
1.
2.
3.
4.
实际显示效果如下,显示效果还是非常棒的,特别是抗锯齿字体。
特别注意,如果使用的是800*480分辨率的屏可以完成显示出来,如果是小于这个分辨率的屏只能显示出一部分,大家可以按照上面的设计方法做一个适合自己屏大小的显示或者直接拖动这个对话框即可。
18.3
使用FontCvt生成字库C文件的简单方法
前面18.1小节介绍的方面有点麻烦,这里介绍一种简单的方法。
第一步:建立txt文件,并写入汉字
第二步:另存为unicode编码格式
第三步:打开FontCvt软件并设置显示字体
第四步:选择禁止所有的字符
第五步:读取前面的txt文件
第六步:然后点击保存为C文件
通过这种方式生成的C文件就非常容易了。
18.4
总结
本期教程就为大家讲这么多,有兴趣的可以尝试一下其它字体的显示效果。如果大家使用的是IAR的话,现在IAR6.7及其以上的版本可以直接设置UTF-8编码,由于开发板配套的工程统一使用的是IAR6.3,但是IAR6.3按照本期教程的做法会出现乱码,所以没有提供IAR版本的工程代码。