硬汉嵌入式论坛

 找回密码
 立即注册
查看: 9745|回复: 7
收起左侧

[emWin] 我觉得emwin这个方法取模比较方便

[复制链接]

12

主题

46

回帖

82

积分

初级会员

积分
82
发表于 2013-12-11 18:40:10 | 显示全部楼层 |阅读模式
把想要取模的字体写在txt文档里面,然后转换成Uincode码格式
1.jpg


FontCvt.rar (148 KB, 下载次数: 154)
emwin自带FontCvt.exe取模工具,但不是破解版本的不能直接使用,我这里就做一种汉字的演示,其他 字体都一样
3.jpg
4.jpg
宋体字,汉字大小16*16
5.jpg

默认是选取所有的汉字,用不了那么多汉字,所以我就禁用所有汉字
6.jpg
找到刚刚写的文档汉字
2.jpg
1.jpg
然后保存下,汉字取模就好了
2.jpg

下面是保存的结果,要应用到程序里面,保存的时候把生成中文的.c文件修改成ascll码即可

/*********************************************************************
*                SEGGER Microcontroller GmbH & Co. KG                *
*        Solutions for real time microcontroller applications        *
*                           
www.segger.com                           *
**********************************************************************
*                                                                    *
* C-file generated by                                                *
*                                                                    *
*        Font converter for emWin version 5.20                       *
*        Compiled Feb 19 2013, 11:55:34                              *
*        (C) 1998 - 2013 Segger Microcontroller GmbH & Co. KG        *
*                                                                    *
**********************************************************************
*                                                                    *
* Source file: 宋体16.c                                              *
* Font:        宋体                                                  *
* Height:      16                                                    *
*                                                                    *
**********************************************************************
*                                                                    *
* Initial font height: 16                                            *
* Range disabled: 0000 - FFFF                                        *
* Read pattern file: D:\多媒体\Desktop\aa.txt                        *
* Read pattern file: D:\多媒体\Desktop\新建文本文档.txt              *
*                                                                    *
**********************************************************************
*/

#include "GUI.h"
#ifndef GUI_CONST_STORAGE
  #define GUI_CONST_STORAGE const
#endif

/* The following line needs to be included in any file selecting the
   font.
*/
extern GUI_CONST_STORAGE GUI_FONT GUI_Font宋体16;

/* Start of unicode area <CJK Unified Ideographs> */
GUI_CONST_STORAGE unsigned char acGUI_Font宋体16_4E1D[ 30] = { /* code 4E1D */
  ____X___,___X____,
  ____X___,___X____,
  ___X____,__X_____,
  ___X____,__X_____,
  __X___X_,_X___X__,
  _X____X_,X____X__,
  _XXXXX__,XXXXX___,
  _____X__,____X___,
  ____X___,___X____,
  ___X____,__X_____,
  __X_____,_X______,
  _XXXXXX_,XXXXXX__,
  ________,________,
  ________,________,
  XXXXXXXX,XXXXXXX_};

GUI_CONST_STORAGE unsigned char acGUI_Font宋体16_4EEC[ 32] = { /* code 4EEC */
  ____X__X,________,
  ____X___,X_______,
  ____X___,X_XXXX__,
  ___X__X_,_____X__,
  ___X__X_,_____X__,
  __XX__X_,_____X__,
  __XX__X_,_____X__,
  _X_X__X_,_____X__,
  X__X__X_,_____X__,
  ___X__X_,_____X__,
  ___X__X_,_____X__,
  ___X__X_,_____X__,
  ___X__X_,_____X__,
  ___X__X_,_____X__,
  ___X__X_,___X_X__,
  ___X__X_,____X___};

GUI_CONST_STORAGE unsigned char acGUI_Font宋体16_5C4C[ 30] = { /* code 5C4C */
  __XXXXXX,XXXXXX__,
  __X_____,_____X__,
  __X_____,_____X__,
  __XXXXXX,XXXXXX__,
  __X_____,________,
  __X__XXX,XXXXXX__,
  __X__X__,_____X__,
  __X__X__,_____X__,
  __X__XXX,XXXXXX__,
  __X_____,_X______,
  __X_XXXX,XXXXXXX_,
  __X_X___,_X____X_,
  _X__X___,_X__X_X_,
  _X__X___,_X___X__,
  X_______,_X______};

GUI_CONST_STORAGE unsigned char acGUI_Font宋体16_7684[ 32] = { /* code 7684 */
  __X_____,X_______,
  __X_____,X_______,
  _X______,X_______,
  XXXXXX__,XXXXX___,
  X____X_X,____X___,
  X____X_X,____X___,
  X____XX_,____X___,
  X____X__,X___X___,
  XXXXXX__,_X__X___,
  X____X__,_X__X___,
  X____X__,____X___,
  X____X__,____X___,
  X____X__,____X___,
  XXXXXX__,____X___,
  X____X__,_X_X____,
  ________,__X_____};

GUI_CONST_STORAGE unsigned char acGUI_Font宋体16_7FA4[ 32] = { /* code 7FA4 */
  ________,X_____X_,
  _XXXXXX_,_X___X__,
  ___X__X_,__X_X___,
  ___X__X_,XXXXXXX_,
  XXXXXXXX,___X____,
  ___X__X_,___X____,
  ___X__X_,___X____,
  _XXXXXX_,_XXXXX__,
  __X_____,___X____,
  __X_____,___X____,
  _XXXXXX_,___X____,
  _XX___X_,XXXXXXX_,
  X_X___X_,___X____,
  __X___X_,___X____,
  __XXXXX_,___X____,
  __X___X_,___X____};

GUI_CONST_STORAGE unsigned char acGUI_Font宋体16_91CC[ 28] = { /* code 91CC */
  __XXXXXX,XXXXX___,
  __X____X,____X___,
  __X____X,____X___,
  __XXXXXX,XXXXX___,
  __X____X,____X___,
  __X____X,____X___,
  __XXXXXX,XXXXX___,
  _______X,________,
  _______X,________,
  __XXXXXX,XXXXX___,
  _______X,________,
  _______X,________,
  _______X,________,
  XXXXXXXX,XXXXXXX_};

GUI_CONST_STORAGE GUI_CHARINFO_EXT GUI_Font宋体16_CharInfo[6] = {
   {  15,  15,   0,   0,  16, acGUI_Font宋体16_4E1D } /* code 4E1D */
  ,{  14,  16,   0,   0,  16, acGUI_Font宋体16_4EEC } /* code 4EEC */
  ,{  15,  15,   0,   1,  16, acGUI_Font宋体16_5C4C } /* code 5C4C */
  ,{  13,  16,   1,   0,  16, acGUI_Font宋体16_7684 } /* code 7684 */
  ,{  15,  16,   0,   0,  16, acGUI_Font宋体16_7FA4 } /* code 7FA4 */
  ,{  15,  14,   0,   1,  16, acGUI_Font宋体16_91CC } /* code 91CC */
};

GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_Font宋体16_Prop6 = {
   0x91CC /* first character */
  ,0x91CC /* last character  */
  ,&GUI_Font宋体16_CharInfo[  5] /* address of first character */
  ,(GUI_CONST_STORAGE GUI_FONT_PROP_EXT *)0 /* pointer to next GUI_FONT_PROP_EXT */
};

GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_Font宋体16_Prop5 = {
   0x7FA4 /* first character */
  ,0x7FA4 /* last character  */
  ,&GUI_Font宋体16_CharInfo[  4] /* address of first character */
  ,&GUI_Font宋体16_Prop6 /* pointer to next GUI_FONT_PROP_EXT */
};

GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_Font宋体16_Prop4 = {
   0x7684 /* first character */
  ,0x7684 /* last character  */
  ,&GUI_Font宋体16_CharInfo[  3] /* address of first character */
  ,&GUI_Font宋体16_Prop5 /* pointer to next GUI_FONT_PROP_EXT */
};

GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_Font宋体16_Prop3 = {
   0x5C4C /* first character */
  ,0x5C4C /* last character  */
  ,&GUI_Font宋体16_CharInfo[  2] /* address of first character */
  ,&GUI_Font宋体16_Prop4 /* pointer to next GUI_FONT_PROP_EXT */
};

GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_Font宋体16_Prop2 = {
   0x4EEC /* first character */
  ,0x4EEC /* last character  */
  ,&GUI_Font宋体16_CharInfo[  1] /* address of first character */
  ,&GUI_Font宋体16_Prop3 /* pointer to next GUI_FONT_PROP_EXT */
};

GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_Font宋体16_Prop1 = {
   0x4E1D /* first character */
  ,0x4E1D /* last character  */
  ,&GUI_Font宋体16_CharInfo[  0] /* address of first character */
  ,&GUI_Font宋体16_Prop2 /* pointer to next GUI_FONT_PROP_EXT */
};

GUI_CONST_STORAGE GUI_FONT GUI_Font宋体16 = {
   GUI_FONTTYPE_PROP_EXT /* type of font    */
  ,16 /* height of font  */
  ,16 /* space of font y */
  ,1 /* magnification x */
  ,1 /* magnification y */
  ,{&GUI_Font宋体16_Prop1}
  ,14 /* Baseline */
  ,7 /* Height of lowercase characters */
  ,11 /* Height of capital characters */
};
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106869
QQ
发表于 2013-12-11 18:48:52 | 显示全部楼层
不错,感谢分享,这样省去查找的烦恼了,中间应该再补充一步,要不有些初学的看不懂,
先选择好要显示的字体,并禁止所有字体,然后再加载。
回复

使用道具 举报

12

主题

46

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2013-12-11 19:17:50 | 显示全部楼层

回 eric2013 的帖子

eric2013:不错,感谢分享,这样省去查找的烦恼了,中间应该再补充一步,要不有些初学的看不懂,
先选择好要显示的字体,并禁止所有字体,然后再加载。 (2013-12-11 18:48)
ok刚才是赶时间写的,每次用qq跟你说话你都不回
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106869
QQ
发表于 2013-12-11 19:37:22 | 显示全部楼层

回 qq923830375 的帖子

qq923830375:ok刚才是赶时间写的,每次用qq跟你说话你都不回 (2013-12-11 19:17) 
恩,不好意思哈,最近主要在打理论坛了,谢谢兄弟的分享
回复

使用道具 举报

12

主题

46

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2013-12-11 19:51:13 | 显示全部楼层

回 eric2013 的帖子

eric2013:恩,不好意思哈,最近主要在打理论坛了,谢谢兄弟的分享 (2013-12-11 19:37)
呵呵没事,每次 在论坛里问的问题还要感谢哥们回答我,不是你回答我估计自己都放弃了学习了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106869
QQ
发表于 2013-12-11 21:43:12 | 显示全部楼层
加个精。。。
回复

使用道具 举报

8

主题

51

回帖

8

积分

初级会员

一起来学习

积分
8
发表于 2016-2-19 11:21:51 | 显示全部楼层
下面是保存的结果,要应用到程序里面,保存的时候把生成中文的.c文件修改成ascll码即可?这个是什么意思。之前都是使用GUI_Font软件生成的,基本上把.c文件加载进工程就行了。
求支援
回复

使用道具 举报

334

主题

2033

回帖

3040

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3040
发表于 2016-2-23 21:24:13 | 显示全部楼层
补充一点,这样子生成的文件后,整个项目最好都用unicode编码,这样子才不会出问题!

另外,在把自定义的字库写到txt文件时,不用怕重复输入的。比如,先写“开关”,再写“开门”,最后生成的只会有一个“开”字。所以,只管一股脑儿的把需要的各种菜单/说明/状态文字都放到txt文件中!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-8 09:06 , Processed in 0.201817 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表