📄 font5_7.c
字号:
/****************************************************************************************
* 文件名:FONT5_7.C
* 功能:5*7 ASCII码字体及显示函数。
* 作者:黄绍斌
* 日期:2004.02.26
* 备注:使用GUI_SetColor()函数设置前景颜色及背景色。
****************************************************************************************/
#include "config.h"
#if FONT5x7_EN==1
/* 5*7字体定义 */
const uint8 FONT5x7ASCII[][8] = {
/* 空格 */
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00}
/* ! */
,{
0x80,
0x80,
0x80,
0x80,
0x80,
0x00,
0x80,
0x80}
/* " */
,{
0xa0,
0xa0,
0xa0,
0x00,
0x00,
0x00,
0x00,
0x00}
/* # */
,{
0x50,
0x50,
0xf8,
0x50,
0xf8,
0x50,
0x50,
0x00}
/* $ */
,{
0x20,
0x78,
0xa0,
0x70,
0x28,
0xf0,
0x20}
/* % */
,{
0xc0,
0xc8,
0x10,
0x20,
0x40,
0x98,
0x18,
0x00}
/* & */
,{
0x60,
0x90,
0xa0,
0x40,
0xa8,
0x90,
0x68,
0x00}
/* ' */
,{
0xc0,
0x40,
0x80,
0x00,
0x00,
0x00,
0x00,
0x00}
/* ( */
,{
0x20,
0x40,
0x80,
0x80,
0x80,
0x40,
0x20,
0x00}
/* ) */
,{
0x80,
0x40,
0x20,
0x20,
0x20,
0x40,
0x80,
0x00}
/* * */
,{
0x00,
0x50,
0x20,
0xf8,
0x20,
0x50,
0x00,
0x00}
,{
0x00,
0x20,
0x20,
0xf8,
0x20,
0x20,
0x00,
0x00}
,{
0x00,
0x00,
0x00,
0x00,
0x00,
0xc0,
0x40,
0x80}
,{
0x00,
0x00,
0x00,
0xf8,
0x00,
0x00,
0x00,
0x00}
,{
0x00,
0x00,
0x00,
0x00,
0x00,
0xc0,
0xc0,
0x00}
,{
0x00,
0x08,
0x10,
0x20,
0x40,
0x80,
0x00,
0x00}
/* 0 */
,{
0x70,
0x88,
0x98,
0xa8,
0xc8,
0x88,
0x70,
0x00}
/* 1 */
,{
0x20,
0x60,
0x20,
0x20,
0x20,
0x20,
0x70,
0x00}
/* 2 */
,{
0x70,
0x88,
0x08,
0x30,
0x40,
0x80,
0xf8,
0x00}
/* 3 */
,{
0x70,
0x88,
0x08,
0x30,
0x08,
0x88,
0x70,
0x00}
/* 4 */
,{
0x10,
0x30,
0x50,
0x90,
0xf8,
0x10,
0x10,
0x00}
/* 5 */
,{
0xf8,
0x80,
0xf0,
0x08,
0x08,
0x88,
0x70,
0x00}
/* 6 */
,{
0x30,
0x40,
0x80,
0xf0,
0x88,
0x88,
0x70,
0x00}
/* 7 */
,{
0xf8,
0x08,
0x10,
0x20,
0x40,
0x40,
0x40,
0x00}
/* 8 */
,{
0x70,
0x88,
0x88,
0x70,
0x88,
0x88,
0x70,
0x00}
/* 9 */
,{
0x70,
0x88,
0x88,
0x78,
0x08,
0x10,
0x60,
0x00}
/* ':' 3a */
,{
0x00,
0xc0,
0xc0,
0x00,
0xc0,
0xc0,
0x00,
0x00}
/* ';' 3b */
,{
0x00,
0x00,
0xc0,
0xc0,
0x00,
0xc0,
0x40,
0x80}
/* '<' 3c */
,{
0x10,
0x20,
0x40,
0x80,
0x40,
0x20,
0x10,
0x00}
/* '=' 3d */
,{
0x00,
0x00,
0xf8,
0x00,
0xf8,
0x00,
0x00,
0x00}
/* '>' */
,{
0x80,
0x40,
0x20,
0x10,
0x20,
0x40,
0x80,
0x00}
/* '?' */
,{
0x70,
0x88,
0x08,
0x10,
0x20,
0x00,
0x20,
0x00}
/* @ */
,{
0x70,
0x88,
0x08,
0x68,
0xa8,
0xa8,
0x70,
0x00}
/* A */
,{
0x70,
0x88,
0x88,
0xf8,
0x88,
0x88,
0x88,
0x00}
/* B */
,{
0xf0,
0x88,
0x88,
0xf0,
0x88,
0x88,
0xf0,
0x00}
/* C */
,{
0x70,
0x88,
0x80,
0x80,
0x80,
0x88,
0x70,
0x00}
/* D */
,{
0xe0,
0x90,
0x88,
0x88,
0x88,
0x90,
0xe0,
0x00}
/* E */
,{
0xf8,
0x80,
0x80,
0xf0,
0x80,
0x80,
0xf8,
0x00}
/* F */
,{
0xf8,
0x80,
0x80,
0xf0,
0x80,
0x80,
0x80,
0x00}
/* G */
,{
0x70,
0x88,
0x80,
0x80,
0x98,
0x88,
0x78,
0x00}
/* H */
,{
0x88,
0x88,
0x88,
0xf8,
0x88,
0x88,
0x88,
0x00}
/* I */
,{
0xe0,
0x40,
0x40,
0x40,
0x40,
0x40,
0xe0,
0x00}
/* J */
,{
0x38,
0x10,
0x10,
0x10,
0x10,
0x90,
0x60,
0x00}
/* K */
,{
0x88,
0x90,
0xa0,
0xc0,
0xa0,
0x90,
0x88,
0x00}
/* L */
,{
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0xf8,
0x00}
/* M */
,{
0x88,
0xd8,
0xa8,
0xa8,
0x88,
0x88,
0x88,
0x00}
/* N */
,{
0x88,
0x88,
0xc8,
0xa8,
0x98,
0x88,
0x88,
0x00}
/* O */
,{
0x70,
0x88,
0x88,
0x88,
0x88,
0x88,
0x70,
0x00}
/* P */
,{
0xf0,
0x88,
0x88,
0xf0,
0x80,
0x80,
0x80,
0x00}
/* Q */
,{
0x70,
0x88,
0x88,
0x88,
0xa8,
0x90,
0x68,
0x00}
/* R */
,{
0xf0,
0x88,
0x88,
0xf0,
0xa0,
0x90,
0x88,
0x00}
/* S */
,{
0x70,
0x88,
0x80,
0x70,
0x08,
0x88,
0x70,
0x00}
/* T */
,{
0xf8,
0x20,
0x20,
0x20,
0x20,
0x20,
0x20,
0x00}
/* U */
,{
0x88,
0x88,
0x88,
0x88,
0x88,
0x88,
0x70,
0x00}
/* V */
,{
0x88,
0x88,
0x88,
0x88,
0x88,
0x50,
0x20,
0x00}
/* W */
,{
0x88,
0x88,
0x88,
0xa8,
0xa8,
0xa8,
0x50,
0x00}
/* 1 */
,{
0x88,
0x88,
0x50,
0x20,
0x50,
0x88,
0x88,
0x00}
/* Y */
,{
0x88,
0x88,
0x50,
0x20,
0x20,
0x20,
0x20,
0x00}
/* Z */
,{
0xf8,
0x08,
0x10,
0x20,
0x40,
0x80,
0xf8,
0x00}
/* 5b */
,{
0xe0,
0x80,
0x80,
0x80,
0x80,
0x80,
0xe0,
0x00}
/* 5c */
,{
0x00,
0x80,
0x40,
0x20,
0x10,
0x08,
0x00,
0x00}
/* 5d */
,{
0xe0,
0x20,
0x20,
0x20,
0x20,
0x20,
0xe0,
0x00}
/* 5e */
,{
0x20,
0x50,
0x88,
0x00,
0x00,
0x00,
0x00,
0x00}
/* 5f */
,{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0xf8}
/* 60 */
,{
0x80,
0x40,
0x20,
0x00,
0x00,
0x00,
0x00,
0x00}
/* a */
,{
0x00,
0x00,
0x70,
0x08,
0x78,
0x88,
0x78,
0x00}
/* b */
,{
0x80,
0x80,
0xb0,
0xc8,
0x88,
0x88,
0xf0,
0x00}
/* c */
,{
0x00,
0x00,
0x60,
0x90,
0x80,
0x90,
0x60,
0x00}
/* d */
,{
0x08,
0x08,
0x68,
0x98,
0x88,
0x88,
0x78,
0x00}
/* e */
,{
0x00,
0x00,
0x70,
0x88,
0xf8,
0x80,
0x70,
0x00}
/* f */
,{
0x20,
0x50,
0x40,
0xe0,
0x40,
0x40,
0x40,
0x00}
/* g */
,{
0x00,
0x00,
0x78,
0x88,
0x88,
0x78,
0x08,
0x70}
/* h */
,{
0x80,
0x80,
0xb0,
0xc8,
0x88,
0x88,
0x88,
0x00}
/* i */
,{
0x40,
0x00,
0x40,
0x40,
0x40,
0x40,
0x40,
0x00}
/* j */
,{
0x20,
0x00,
0x60,
0x20,
0x20,
0x20,
0x20,
0xc0}
/* k */
,{
0x80,
0x80,
0x90,
0xa0,
0xc0,
0xa0,
0x90,
0x00}
/* l */
,{
0xc0,
0x40,
0x40,
0x40,
0x40,
0x40,
0xe0,
0x00}
/* m */
,{
0x00,
0x00,
0xd0,
0xa8,
0xa8,
0x88,
0x88,
0x00}
/* n */
,{
0x00,
0x00,
0xb0,
0xd0,
0x90,
0x90,
0x90,
0x00}
/* o */
,{
0x00,
0x00,
0x60,
0x90,
0x90,
0x90,
0x60,
0x00}
/* p */
,{
0x00,
0x00,
0xe0,
0x90,
0x90,
0xe0,
0x80,
0x80}
/* q */
,{
0x00,
0x00,
0x70,
0x90,
0x90,
0x70,
0x10,
0x10}
/* r */
,{
0x00,
0x00,
0x50,
0x60,
0x40,
0x40,
0x40,
0x00}
/* s */
,{
0x00,
0x00,
0x70,
0x80,
0x60,
0x10,
0xe0,
0x00}
/* t */
,{
0x40,
0x40,
0xe0,
0x40,
0x40,
0x40,
0x60,
0x00}
/* u */
,{
0x00,
0x00,
0x90,
0x90,
0x90,
0x90,
0x70,
0x00}
/* v */
,{
0x00,
0x00,
0x88,
0x88,
0x88,
0x50,
0x20,
0x00}
/* w */
,{
0x00,
0x00,
0x88,
0x88,
0xa8,
0xa8,
0x50,
0x00}
/* 1 */
,{
0x00,
0x00,
0x88,
0x50,
0x20,
0x50,
0x88,
0x00}
/* y */
,{
0x00,
0x00,
0x90,
0x90,
0x90,
0x70,
0x10,
0x60}
/* z */
,{
0x00,
0x00,
0xf8,
0x10,
0x20,
0x40,
0xf8,
0x00}
/* 017b */
,{
0x20,
0x40,
0x40,
0x80,
0x40,
0x40,
0x20,
0x00}
/* 017c */
,{
0x40,
0x40,
0x40,
0x40,
0x40,
0x40,
0x40,
0x00}
/* 017d */
,{
0x80,
0x40,
0x40,
0x20,
0x40,
0x40,
0x80,
0x00}
/* 017e */
,{
0x68,
0x90,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00}
/* 017f */
,{
0xf8,
0xf8,
0xf8,
0xf8,
0xf8,
0xf8,
0xf8,
0x00}
};
/****************************************************************************
* 名称:GUI_PutChar()
* 功能:显示ASCII码,显示值为20H-7FH(若为其它值,则显示' ')。
* 入口参数: x 指定显示位置,x坐标
* y 指定显示位置,y坐标
* ch 要显示的ASCII码值。
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
* 说明:操作失败原因是指定地址超出有效范围。(显示格式为6*8)
****************************************************************************/
uint8 GUI_PutChar(uint32 x, uint32 y, uint8 ch)
{ uint8 font_dat;
uint8 i, j;
TCOLOR bakc;
/* 参数过滤 */
if( x>(GUI_LCM_XMAX-8) ) return(0);
if( y>(GUI_LCM_YMAX-8) ) return(0);
if( (ch<0x20) || (ch>0x7f) ) ch = 0x20;
ch -= 0x20;
for(i=0; i<8; i++)
{ /* 读取点阵数据 */
font_dat = FONT5x7ASCII[ch][i];
for(j=0; j<6; j++)
{ /* 设置相应的点为color或为back_color */
if( (font_dat&DCB2HEX_TAB[j])==0 ) GUI_CopyColor(&bakc, back_color);
else GUI_CopyColor(&bakc, disp_color);
GUI_Point(x, y, bakc);
x++;
}
y++; // 指向下一行
x -= 6; // 恢复x值
}
return(1);
}
/****************************************************************************
* 名称:GUI_PutString()
* 功能:输出显示字符串(没有自动换行功能)。
* 入口参数: x 指定显示位置,x坐标
* y 指定显示位置,y坐标
* str 要显示的ASCII码字符串
* 出口参数:无
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
void GUI_PutString(uint32 x, uint32 y, char *str)
{ while(1)
{ if( (*str)=='\0' ) break;
if( GUI_PutChar(x, y, *str++)==0 ) break;
x += 6; // 下一个字符显示位置,y不变(即不换行)
}
}
/****************************************************************************
* 名称:GUI_PutNoStr()
* 功能:输出显示字符串(没有自动换行功能),若显示的字符个数大于指定个数,则直接退出。
* 入口参数: x 指定显示位置,x坐标
* y 指定显示位置,y坐标
* str 要显示的ASCII码字符串。
* no 最大显示字符的个数
* 出口参数:无
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
void GUI_PutNoStr(uint32 x, uint32 y, char *str, uint8 no)
{ if(no==0) return;
for(; no>0; no--)
{ if( (*str)=='\0' ) break;
if( GUI_PutChar(x, y, *str++)==0 ) break;
x += 6; // 下一个字符显示位置,y不变(即不换行)
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -