OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 41075|回复: 80

uCGUI添加外置字库

  [复制链接]

6

主题

19

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2012-10-11
在线时间
0 小时
发表于 2012-11-1 19:47:49 | 显示全部楼层 |阅读模式
    
uCGUI添加外置字库


            本人开始遇到的问题是,想在uCGUI界面上增加显示汉字的功能,但是每次需要把汉字的写成.c的文件编写到CPU内,这样很占空间,
也很不方便,用的时候也很麻烦,搜索了几天终于弄出点成果,拿出来跟大家分享一下。
fficeffice" />

1,我们一共要修改2个文件:GUI.h  GUIType.h新建两个文件:GUICharPEx.c GUI_Font12.c

GUI.h :字库声明部分。

GUIType.h:简单的宏定义,写字库的时候需要用到,也可以定义到别的位置。

GUICharPEx.c:主要是自定义汉字的显示算法,和字库的获取方法。

GUI_Font12.c:这个是我们用用的字库,这里只做引导,实际字库在外围器件中,本人用的是SD+文件系统的方式,也可以不加系统,用FLASH等等外部存储设备。

2.每个文件我所做的修改:

Gui.H:

添加:

extern GUI_CONST_STORAGE  GUI_FONT GUI_FontHZ12;

extern GUI_CONST_STORAGE  GUI_FONT GUI_FontHZ14;

extern GUI_CONST_STORAGE  GUI_FONT GUI_FontHZ16;

extern GUI_CONST_STORAGE  GUI_FONT GUI_FontHZ18;

extern GUI_CONST_STORAGE  GUI_FONT GUI_FontHZ20;

extern GUI_CONST_STORAGE  GUI_FONT GUI_FontHZ22;

extern GUI_CONST_STORAGE  GUI_FONT GUI_FontHZ24;

extern GUI_CONST_STORAGE  GUI_FONT GUI_FontHZ26;

extern GUI_CONST_STORAGE  GUI_FONT GUI_FontHZ28;

extern GUI_CONST_STORAGE  GUI_FONT GUI_FontHZ30;

extern GUI_CONST_STORAGE  GUI_FONT GUI_FontHZ32;

只是简单的外部字库声明。

GUIType.h

添加:

#define GUI_FONTTYPE_PROP_X  \

GUIPROP_X_DispChar,\

GUIPROP_X_GetCharDistX,\

GUIMONO_GetFontInfo, \

GUIMONO_IsInFont, \

(tGUI_ENC_APIList*)0 

UC_EncodeNone.c

       修改内容:

#include "GUI_Protected.h"

/*********************************************************************
*
* Static code
*
**********************************************************************
*/
/*********************************************************************
*
* _GetCharCode
*
* Purpose:
* Return the UNICODE character code of the current character.
*/
static U16 _GetCharCode(const char GUI_UNI_PTR * s) {
if((*s) > 0xA0)
{
return *(const U16 GUI_UNI_PTR *)s;
}
return *(const U8 GUI_UNI_PTR *)s;
}

/*********************************************************************
*
* _GetCharSize
*
* Purpose:
* Return the number of bytes of the current character.
*/
static int _GetCharSize(const char GUI_UNI_PTR * s) {
GUI_USE_PARA(s);
if((*s) > 0xA0)
{
return 2;
}
return 1;
}

/*********************************************************************
*
* _CalcSizeOfChar
*
* Purpose:
* Return the number of bytes needed for the given character.
*/
static int _CalcSizeOfChar(U16 Char) {
GUI_USE_PARA(Char);
if(Char > 0xA0A0)
{
return 2;
}
return 1;
}

/*********************************************************************
*
* _Encode
*
* Purpose:
* Encode character into 1/2/3 bytes.
*/
static int _Encode(char *s, U16 Char) {
if(Char > 0xA0A0)
{
*((U16 *)s) = (U16)(Char);
return 2;
}
*s = (U8)(Char);
return 1;
}

      

GUICharPEx.c

新建立的文件

              #include <stddef.h>           /* needed for definition of NULL */

#include "GUI_Private.h"

#include "ff.h"

//字模数据的暂存数组,以单个字模的最大字节数为设定值

#define BYTES_PER_FONT      128

static U8 GUI_FontDataBuf[BYTES_PER_FONT];

/*---------------------------------------------------------------------------*/

/*字库外部函数部分-----------------------------------------------------------*/

void GUI_X_GetFontData(char* font, U32 oft, U8 *ptr, U8 bytes)

{

    FIL fsrc;        // 定义文件操作类 

    FRESULT res;  // 定义操作结果变量 

    UINT br;         // 定义读写数量变量

    res = f_open(&fsrc, font, FA_OPEN_EXISTING | FA_READ);   //打开字库文件  

    if(res != FR_OK)  

    {  

      

    }  

    res = f_lseek(&fsrc,oft); //找到首地址 

    res = f_read(&fsrc, ptr, bytes, &br); //读取32个字库点阵数据

    res = f_close(&fsrc); //关闭字体  

}

 

static void GUI_GetDataFromMemory(const GUI_FONT_PROP GUI_UNI_PTR *pProp, U16P c)

{

    U8 BytesPerFont;

    U32 oft;

    char *font = (char *)pProp->paCharInfo->pData;

    BytesPerFont = GUI_Context.pAFont->YSize * pProp->paCharInfo->BytesPerLine; //每个字模的数据字节数

    if (BytesPerFont > BYTES_PER_FONT)

    {BytesPerFont = BYTES_PER_FONT;}

if(c<0x80)                                                                  {

           oft = (c-0x20) * BytesPerFont; //英文字符地址偏移算法

    }

    else                                                                          

    {

           oft = ((((c >> 8)-0xA1)) + ((c & 0xFF)-0xb0) * 94)* BytesPerFont; //中文字符地址偏移算法包括符号

    }

    GUI_X_GetFontData(font, oft, GUI_FontDataBuf, BytesPerFont);

}

 

void GUIPROP_X_DispChar(U16P c) 

{

    int BytesPerLine;

    GUI_DRAWMODE DrawMode = GUI_Context.TextMode;

    const GUI_FONT_PROP GUI_UNI_PTR *pProp = GUI_Context.pAFont->p.pProp;

    //搜索定位字库数据信息 

    for (; pProp; pProp = pProp->pNext)                                         

    {

        if ((c >= pProp->First) && (c <= pProp->Last))break;

    }

    if (pProp)

    {

        GUI_DRAWMODE OldDrawMode;

        const GUI_CHARINFO GUI_UNI_PTR * pCharInfo = pProp->paCharInfo;

        GUI_GetDataFromMemory(pProp, c);//取出字模数据

        BytesPerLine = pCharInfo->BytesPerLine;

        OldDrawMode  = LCD_SetDrawMode(DrawMode);

        LCD_DrawBitmap(GUI_Context.DispPosX, GUI_Context.DispPosY,

                       pCharInfo->XSize, GUI_Context.pAFont->YSize,

                      GUI_Context.pAFont->XMag, GUI_Context.pAFont->YMag,

                       1,     /* Bits per Pixel */

                       BytesPerLine,

                       &GUI_FontDataBuf[0],

                       &LCD_BKCOLORINDEX

                       );

        /* Fill empty pixel lines */

        if (GUI_Context.pAFont->YDist > GUI_Context.pAFont->YSize) 

        {

            int YMag = GUI_Context.pAFont->YMag;

            int YDist = GUI_Context.pAFont->YDist * YMag;

            int YSize = GUI_Context.pAFont->YSize * YMag;

            if (DrawMode != LCD_DRAWMODE_TRANS) 

            {

                LCD_COLOR OldColor = GUI_GetColor();

                GUI_SetColor(GUI_GetBkColor());

               LCD_FillRect(GUI_Context.DispPosX, GUI_Context.DispPosY + YSize, 

                            GUI_Context.DispPosX + pCharInfo->XSize, 

                            GUI_Context.DispPosY + YDist);

                GUI_SetColor(OldColor);

            }

        }

        LCD_SetDrawMode(OldDrawMode); /* Restore draw mode */

        GUI_Context.DispPosX += pCharInfo->XDist * GUI_Context.pAFont->XMag;

    }

}

/*********************************************************************

*

*       GUIPROP_GetCharDistX

*/

int GUIPROP_X_GetCharDistX(U16P c) 

{

    const GUI_FONT_PROP GUI_UNI_PTR * pProp = GUI_Context.pAFont->p.pProp;  

    for (; pProp; pProp = pProp->pNext)                                         

    {

        if ((c >= pProp->First) && (c <= pProp->Last))break;

    }

    return (pProp) ? (pProp->paCharInfo)->XSize * GUI_Context.pAFont->XMag : 0;

}

需要注意的是:

if(c<0x80)                                                                  {

           oft = (c-0x20) * BytesPerFont; //英文字符地址偏移算法

    }

    else                                                                          

    {

           oft = ((((c >> 8)-0xA1)) + ((c & 0xFF)-0xb0) * 94)* BytesPerFont; //中文字符地址偏移算法包括符号

    }

这个字库偏移的算法要根据实际字库的情况而定,我的中文字库全是中文没有字符,是这样的偏移算法,实际情况因个人所用的字库而定。

GUI_Font12.c:

       新建内容:

       #include "GUI.h"

 

extern int GUIPROP_X_GetCharDistX(U16P c);//声明部分

extern void GUIPROP_X_DispChar(U16P c) ; 

 

GUI_CONST_STORAGE GUI_CHARINFO GUI_FontHZ12_CharInfo[2] = 

{    

    { 6, 6, 1, (void *)"1:/system/gui_font/ASC6x12.bin"  },      //&ASC_ROM_6X12 字库的路径

    { 12,            12,         2,(void*)"1:/system/gui_font/HZ12x12.bin"},      //&HZ_ROM_12X12字库的路径

};

GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontHZ12_PropHZ= {

      0xA1A1, //第一个字符

      0xF7FE, //最后一个字符

      &GUI_FontHZ12_CharInfo[1], //字符信息

      (void *)0, 

};

GUI_CONST_STORAGE  GUI_FONT_PROP GUI_FontHZ12_PropASC= {

      0x0000, //第一个字符

      0x007F, //最后一个字符

      &GUI_FontHZ12_CharInfo[0], //字符信息

      (void GUI_CONST_STORAGE *)&GUI_FontHZ12_PropHZ, 

};

GUI_CONST_STORAGE  GUI_FONT GUI_FontHZ12 = 

{

       GUI_FONTTYPE_PROP_X,

      12, //xsize

      12, //yszie

      1,  //x方向放大倍数

      1,  //y方向放大倍数

      (void GUI_CONST_STORAGE *)&GUI_FontHZ12_PropASC

};

3.移植到这步就算移植完成了

举例:

#include”GUI.h”

void main(void)

{

    GUI_Init();

    GUI_SetBkColor(GUI_BLACK);

    GUI_SetColor(GUI_WHITE);

    GUI_Clear();

    GUI_SetFont(&GUI_FontHZ12);

    GUI_DispString(“洋洋kan世界”);

    while(1);

}

实际遇到的问题是:由于SD卡速度有限加上频繁定位读取 ,速度有点慢,在控件中是可以实现的,但是拖动控件中会容易卡死现象。

4,字库的获取方法;

本人用的是字模III v3.91这个软件

用之前需要进行设置;

高级功能-->参数设置-->字模格式

需要设

    

 

    


 

然后选定 《二级汉字库》 再点击 《字库智能生成》,选择源字体,然后记录

字模宽度和高度在GUI_Font12.c进行相应的设置。


 

 


 

然后点击开始转换,会在软件的目录下自动生成Font.bat文件,将其改名为HZ12x12.bin存到SD卡相应的位置。ASC字符同理。

 

到此结束。有问题可以及时联系我QQ18655199 QQ18655199

                                                                                                                                                    2012-11-01

PS:本人第一次写这种教程,尽情见谅,如果不妥之处,欢迎及时指出,本人愿意进行更正解答。

修正上一次的遗留问题,少修改一个文件。

在这里感谢:Eric2013  正点原子 tomyoct 等。。 (排名不分先后)

还有一点希望的是大家多帮我顶顶帖子,别让帖子沉了,让跟多人的受益,以后有机会还会出相关教程

给我一点时间,我会再次证明给你看。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

137

帖子

3

精华

高级会员

Rank: 4

积分
802
金钱
802
注册时间
2012-9-21
在线时间
31 小时
发表于 2012-11-4 15:17:31 | 显示全部楼层
回复【楼主位】洋洋kan世界:
---------------------------------
GUI_UC_EncodeNone.c也需要修改,否则汉字无法显示!
/*
*********************************************************************************************************
*                                                uC/GUI
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File     : GUI_UC_EncodeNone.c
Purpose  : Encoding routines for non unicode systems (default)
---------------------------END-OF-HEADER------------------------------
*/

#include "GUI_Protected.h"

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _GetCharCode
*
urpose:
*   Return the UNICODE character code of the current character.
*/
static U16 _GetCharCode(const char GUI_UNI_PTR * s) {
  if((*s) > 0xA0)
  {
    return *(const U16 GUI_UNI_PTR *)s; 
  }
  return *(const U8 GUI_UNI_PTR *)s;
}

/*********************************************************************
*
*       _GetCharSize
*
urpose:
*   Return the number of bytes of the current character.
*/
static int _GetCharSize(const char GUI_UNI_PTR * s) {
  GUI_USE_PARA(s); 
  if((*s) > 0xA0)
  {
    return 2; 
  }
  return 1;
}

/*********************************************************************
*
*       _CalcSizeOfChar
*
urpose:
*   Return the number of bytes needed for the given character.
*/
static int _CalcSizeOfChar(U16 Char) {
  GUI_USE_PARA(Char);
  if(Char > 0xA0A0)
  {
    return 2;
  }
  return 1;
}

/*********************************************************************
*
*       _Encode
*
urpose:
*   Encode character into 1/2/3 bytes.
*/
static int _Encode(char *s, U16 Char) {
  if(Char > 0xA0A0)
  {
    *((U16 *)s) = (U16)(Char);
    return 2;
  }
  *s = (U8)(Char);
  return 1;
}


此外,GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontHZ12_PropHZ= {
      0xA1A1, //第一个字符
      0xF7FE, //最后一个字符
      &GUI_FontHZ12_CharInfo[1], //字符信息
      (void *)0, 
};中的0XF7FE要改为0xfefe
回复 支持 1 反对 0

使用道具 举报

10

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2011-1-15
在线时间
5 小时
发表于 2012-11-1 20:00:35 | 显示全部楼层
mark~!一下
回复 支持 反对

使用道具 举报

5

主题

166

帖子

2

精华

高级会员

Rank: 4

积分
506
金钱
506
注册时间
2012-10-8
在线时间
0 小时
发表于 2012-11-1 20:03:31 | 显示全部楼层
very nice
回复 支持 反对

使用道具 举报

5

主题

166

帖子

2

精华

高级会员

Rank: 4

积分
506
金钱
506
注册时间
2012-10-8
在线时间
0 小时
发表于 2012-11-1 20:12:18 | 显示全部楼层
建议原子哥 给楼主兄弟来个酷吧,毕竟是自己搞出来的,非常值得鼓励,也解决了我一块心病
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-11-1 21:46:19 | 显示全部楼层
cool
回复 支持 反对

使用道具 举报

6

主题

19

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2012-10-11
在线时间
0 小时
 楼主| 发表于 2012-11-1 22:04:37 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
呵呵 原子哥来了
给我一点时间,我会再次证明给你看。
回复 支持 反对

使用道具 举报

22

主题

436

帖子

0

精华

高级会员

Rank: 4

积分
541
金钱
541
注册时间
2012-8-6
在线时间
2 小时
发表于 2012-11-1 22:16:21 | 显示全部楼层
cool
回复 支持 反对

使用道具 举报

头像被屏蔽

275

主题

327

帖子

0

精华

禁止访问

积分
1065
金钱
1065
注册时间
2011-7-7
在线时间
34 小时
发表于 2012-11-2 08:15:05 | 显示全部楼层
回复【4楼】Eric2013:

建议原子哥 给楼主兄弟来个酷吧,毕竟是自己搞出来的,非常值得鼓励,也解决了我一块心病

---------------------------------
shi是  ya 太牛了
回复 支持 反对

使用道具 举报

3

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2012-10-21
在线时间
23 小时
发表于 2012-11-2 08:31:23 | 显示全部楼层
很好很强大
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2012-11-2
在线时间
0 小时
发表于 2012-11-2 10:27:08 | 显示全部楼层
顶小羊看世界 哈哈哈
回复 支持 反对

使用道具 举报

39

主题

137

帖子

3

精华

高级会员

Rank: 4

积分
802
金钱
802
注册时间
2012-9-21
在线时间
31 小时
发表于 2012-11-4 14:51:32 | 显示全部楼层
回复【楼主位】洋洋kan世界:
---------------------------------
楼主,你漏了一处地方,“ GUI_UC_EncodeNone.c”也要修改,否则汉字无法显示,还有偏移计算应该有问题,很多汉字会被pass掉
回复 支持 反对

使用道具 举报

6

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2012-8-28
在线时间
4 小时
发表于 2012-11-4 21:42:17 | 显示全部楼层
Mark.......以后可能用的到
回复 支持 反对

使用道具 举报

10

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2011-1-15
在线时间
5 小时
发表于 2012-11-4 22:41:38 | 显示全部楼层
mak
回复 支持 反对

使用道具 举报

6

主题

19

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2012-10-11
在线时间
0 小时
 楼主| 发表于 2012-11-5 13:08:35 | 显示全部楼层
回复【11楼】tomyoct:
---------------------------------
谢谢你,本教程更新了。
给我一点时间,我会再次证明给你看。
回复 支持 反对

使用道具 举报

17

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
172
金钱
172
注册时间
2012-9-23
在线时间
17 小时
发表于 2012-11-12 12:15:57 | 显示全部楼层
mak
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2012-11-12
在线时间
0 小时
发表于 2012-11-12 21:28:44 | 显示全部楼层
LZ说要多顶顶,所以我顶了。
其实,我一直都是伸手党(只下资料,从不回复)
回复 支持 反对

使用道具 举报

54

主题

1008

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2384
金钱
2384
注册时间
2012-11-22
在线时间
403 小时
发表于 2012-11-22 20:54:27 | 显示全部楼层

为啥要命名为bin格式的

态度决定一切
回复 支持 反对

使用道具 举报

53

主题

324

帖子

0

精华

高级会员

Rank: 4

积分
598
金钱
598
注册时间
2012-6-18
在线时间
7 小时
发表于 2012-11-23 12:57:01 | 显示全部楼层

回复 支持 反对

使用道具 举报

54

主题

1008

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2384
金钱
2384
注册时间
2012-11-22
在线时间
403 小时
发表于 2012-11-25 21:09:39 | 显示全部楼层
回复【楼主位】洋洋kan世界:
---------------------------------
洋洋 
高级功能-->参数设置-->字模格式 
需要设。。。。。
这后面怎么没有截图
应该设置成什么扫描方式呢?

态度决定一切
回复 支持 反对

使用道具 举报

54

主题

1008

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2384
金钱
2384
注册时间
2012-11-22
在线时间
403 小时
发表于 2012-11-26 20:55:27 | 显示全部楼层
回复【楼主位】洋洋kan世界:
---------------------------------
我知道了,是横向,正序,嘿嘿。
态度决定一切
回复 支持 反对

使用道具 举报

3

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2012-5-17
在线时间
3 小时
发表于 2012-11-27 12:55:34 | 显示全部楼层
先回复再慢慢看
回复 支持 反对

使用道具 举报

2

主题

17

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2012-11-19
在线时间
0 小时
发表于 2012-11-28 06:23:52 | 显示全部楼层
回复【楼主位】洋洋kan世界:
-------------------------------感谢分享
上班时间决定你的现在,业余时间决定你的未来! 贵有恒,何必三更起五更睡;最无益,只怕一日曝十日寒。 ------坚持! 一只在沙漠里的行走的狼!
QQ群:124414160
回复 支持 反对

使用道具 举报

42

主题

568

帖子

0

精华

高级会员

Rank: 4

积分
784
金钱
784
注册时间
2010-12-19
在线时间
5 小时
发表于 2012-11-28 08:05:03 | 显示全部楼层
谢谢。。。。。。。。。。
一个上蹿下跳的猴子~~~
回复 支持 反对

使用道具 举报

3

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2012-5-17
在线时间
3 小时
发表于 2012-12-7 10:53:35 | 显示全部楼层
现在正在弄这个东西,谢谢分享
回复 支持 反对

使用道具 举报

12

主题

432

帖子

0

精华

高级会员

Rank: 4

积分
729
金钱
729
注册时间
2012-6-21
在线时间
59 小时
发表于 2012-12-13 09:32:57 | 显示全部楼层
好的。。。。。
呵呵。
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2012-9-9
在线时间
0 小时
发表于 2012-12-29 14:14:50 | 显示全部楼层
Cool!~
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2012-9-9
在线时间
0 小时
发表于 2013-3-12 18:07:49 | 显示全部楼层
楼主,在成功移植后,做一点点补充。
GUI_UC_EncodeNone.c文件中两个函数,要如下修改:
static U16 _GetCharCode(const char GUI_UNI_PTR * s) {
    if((*s) > 0xA0)
    {
        U16 c = (s[0] << 8) | s[1];
        return c;
    }
    return *(const U8 GUI_UNI_PTR *)s;
}

static int _Encode(char *s, U16 Char) {
    if(Char > 0xA0A0)
    {
        *s++ = (Char >> 8);
        *s++ = (Char & 0xFF);
        return 2;
    }
    *s = (U8)(Char);
    return 1;
}

地址偏移的算法oft = base + (((c>>8) - 0xa1) * 94 + ((c&0xff) - 0xa1)) * BytesPerFont; 
字库的范围 0xA1A1  ~ 0xF7FE
回复 支持 反对

使用道具 举报

58

主题

288

帖子

1

精华

高级会员

Rank: 4

积分
814
金钱
814
注册时间
2012-3-29
在线时间
81 小时
发表于 2013-3-14 08:41:45 | 显示全部楼层
谢谢楼主!
回复 支持 反对

使用道具 举报

11

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2013-3-11
在线时间
0 小时
发表于 2013-3-15 11:45:34 | 显示全部楼层
顶起
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2012-10-15
在线时间
0 小时
发表于 2013-3-16 11:20:22 | 显示全部楼层
楼主,可不可以把你的关于FAT操作的文件发一下啊
回复 支持 反对

使用道具 举报

27

主题

147

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2012-8-11
在线时间
0 小时
发表于 2013-3-16 11:57:25 | 显示全部楼层
顶~
回复 支持 反对

使用道具 举报

0

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2013-3-16
在线时间
7 小时
发表于 2013-3-16 22:36:12 | 显示全部楼层
顶 正想这个问题着呢
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2013-3-24
在线时间
0 小时
发表于 2013-3-25 16:10:47 | 显示全部楼层
不错
回复 支持 反对

使用道具 举报

17

主题

80

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
446
金钱
446
注册时间
2012-9-15
在线时间
33 小时
发表于 2013-3-31 17:15:34 | 显示全部楼层
Mark 有用学习了
生活无需多虑
回复 支持 反对

使用道具 举报

31

主题

64

帖子

0

精华

高级会员

Rank: 4

积分
637
金钱
637
注册时间
2012-10-27
在线时间
63 小时
发表于 2013-4-3 14:56:55 | 显示全部楼层
COOL
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2013-3-24
在线时间
0 小时
发表于 2013-4-14 09:23:21 | 显示全部楼层
GUI加入汉字库
回复 支持 反对

使用道具 举报

3

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2011-8-1
在线时间
4 小时
发表于 2013-5-14 15:55:10 | 显示全部楼层
             有的字显示不出来啊,比如 “件”  ”筑“
回复 支持 反对

使用道具 举报

12

主题

432

帖子

0

精华

高级会员

Rank: 4

积分
729
金钱
729
注册时间
2012-6-21
在线时间
59 小时
发表于 2013-5-14 16:58:10 | 显示全部楼层
谢谢。
回复 支持 反对

使用道具 举报

3

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2011-8-1
在线时间
4 小时
发表于 2013-5-15 09:29:47 | 显示全部楼层
而且只能生成12 ,14 像素的字, 之后的16-32 显示全部都是乱码
回复 支持 反对

使用道具 举报

57

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
452
金钱
452
注册时间
2013-5-23
在线时间
46 小时
发表于 2013-5-24 11:31:49 | 显示全部楼层
这个必须顶
回复 支持 反对

使用道具 举报

20

主题

187

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
288
金钱
288
注册时间
2011-12-14
在线时间
0 小时
发表于 2013-5-24 17:02:06 | 显示全部楼层
好资料,一定顶上去!
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2013-6-2
在线时间
3 小时
发表于 2013-6-2 01:25:43 | 显示全部楼层
好资料!谢谢楼主.
但是有个问题,如果在emwin上面能这样修改使用么?
回复 支持 反对

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2013-4-8
在线时间
9 小时
发表于 2013-6-3 22:02:35 | 显示全部楼层
值得学习,好东西!
回首不再遥远
回复 支持 反对

使用道具 举报

17

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
166
金钱
166
注册时间
2013-3-20
在线时间
0 小时
发表于 2013-7-10 11:35:24 | 显示全部楼层
dingding
回复 支持 反对

使用道具 举报

2

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2011-3-10
在线时间
4 小时
发表于 2013-7-22 20:17:07 | 显示全部楼层
回复【楼主位】洋洋kan世界:
---------------------------------
LZ好,那个软件似乎难得找啊,有时间哪位贡献一下呢。。3Q
回复 支持 反对

使用道具 举报

20

主题

187

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
288
金钱
288
注册时间
2011-12-14
在线时间
0 小时
发表于 2013-8-17 17:19:29 | 显示全部楼层
感谢楼主,好贴,学习!
回复 支持 反对

使用道具 举报

12

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2013-4-4
在线时间
17 小时
发表于 2013-8-30 15:47:57 | 显示全部楼层
谢谢分享,不错,学习了。。。。
技术的乐趣在于分享。。。。
回复 支持 反对

使用道具 举报

12

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2013-4-4
在线时间
17 小时
发表于 2013-8-30 21:19:59 | 显示全部楼层
回复【楼主位】洋洋kan世界:
---------------------------------
楼主,,能不能把字模软件发出来啊!网上一直找不到。。。好纠结啊!
技术的乐趣在于分享。。。。
回复 支持 反对

使用道具 举报

7

主题

67

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-8-24
在线时间
16 小时
发表于 2013-8-30 23:41:18 | 显示全部楼层
顶!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-7 16:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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