font5_7.c
上传用户:zfj3589
上传日期:2022-07-13
资源大小:635k
文件大小:15k
- /****************************************************************************************
- * 文件名:FONT5_7.C
- * 功能:5*7 ASCII码字体及显示函数。
- * 作者:黄绍斌
- * 日期:2004.02.26
- * 备注:使用GUI_SetColor()函数设置前景颜色及背景色。
- ****************************************************************************************/
- #include "config.h"
- #if FONT5x7_EN==1
- /* 5*7字体定义 */
- const uint8 FONT5x7ASCII[][8] = {
- /* 空格 */
- {
- ________,
- ________,
- ________,
- ________,
- ________,
- ________,
- ________,
- ________}
- /* ! */
- ,{
- X_______,
- X_______,
- X_______,
- X_______,
- X_______,
- ________,
- X_______,
- ________}
- /* " */
- ,{
- X_X_____,
- X_X_____,
- X_X_____,
- ________,
- ________,
- ________,
- ________,
- ________}
- /* # */
- ,{
- _X_X____,
- _X_X____,
- XXXXX___,
- _X_X____,
- XXXXX___,
- _X_X____,
- _X_X____,
- ________}
- /* $ */
- ,{
- __X_____,
- _XXXX___,
- X_X_____,
- _XXX____,
- __X_X___,
- XXXX____,
- __X_____}
- /* % */
- ,{
- XX______,
- XX__X___,
- ___X____,
- __X_____,
- _X______,
- X__XX___,
- ___XX___,
- ________}
- /* & */
- ,{
- _XX_____,
- X__X____,
- X_X_____,
- _X______,
- X_X_X___,
- X__X____,
- _XX_X___,
- ________}
- /* ' */
- ,{
- XX______,
- _X______,
- X_______,
- ________,
- ________,
- ________,
- ________,
- ________}
- /* ( */
- ,{
- __X_____,
- _X______,
- X_______,
- X_______,
- X_______,
- _X______,
- __X_____,
- ________}
- /* ) */
- ,{
- X_______,
- _X______,
- __X_____,
- __X_____,
- __X_____,
- _X______,
- X_______,
- ________}
- /* * */
- ,{
- ________,
- _X_X____,
- __X_____,
- XXXXX___,
- __X_____,
- _X_X____,
- ________,
- ________}
- ,{
- ________,
- __X_____,
- __X_____,
- XXXXX___,
- __X_____,
- __X_____,
- ________,
- ________}
- ,{
- ________,
- ________,
- ________,
- ________,
- ________,
- XX______,
- _X______,
- X_______}
- ,{
- ________,
- ________,
- ________,
- XXXXX___,
- ________,
- ________,
- ________,
- ________}
- ,{
- ________,
- ________,
- ________,
- ________,
- ________,
- XX______,
- XX______,
- ________}
- ,{
- ________,
- ____X___,
- ___X____,
- __X_____,
- _X______,
- X_______,
- ________,
- ________}
- /* 0 */
- ,{
- _XXX____,
- X___X___,
- X__XX___,
- X_X_X___,
- XX__X___,
- X___X___,
- _XXX____,
- ________}
- /* 1 */
- ,{
- __X_____,
- _XX_____,
- __X_____,
- __X_____,
- __X_____,
- __X_____,
- _XXX____,
- ________}
- /* 2 */
- ,{
- _XXX____,
- X___X___,
- ____X___,
- __XX____,
- _X______,
- X_______,
- XXXXX___,
- ________}
- /* 3 */
- ,{
- _XXX____,
- X___X___,
- ____X___,
- __XX____,
- ____X___,
- X___X___,
- _XXX____,
- ________}
- /* 4 */
- ,{
- ___X____,
- __XX____,
- _X_X____,
- X__X____,
- XXXXX___,
- ___X____,
- ___X____,
- ________}
- /* 5 */
- ,{
- XXXXX___,
- X_______,
- XXXX____,
- ____X___,
- ____X___,
- X___X___,
- _XXX____,
- ________}
- /* 6 */
- ,{
- __XX____,
- _X______,
- X_______,
- XXXX____,
- X___X___,
- X___X___,
- _XXX____,
- ________}
- /* 7 */
- ,{
- XXXXX___,
- ____X___,
- ___X____,
- __X_____,
- _X______,
- _X______,
- _X______,
- ________}
- /* 8 */
- ,{
- _XXX____,
- X___X___,
- X___X___,
- _XXX____,
- X___X___,
- X___X___,
- _XXX____,
- ________}
- /* 9 */
- ,{
- _XXX____,
- X___X___,
- X___X___,
- _XXXX___,
- ____X___,
- ___X____,
- _XX_____,
- ________}
- /* ':' 3a */
- ,{
- ________,
- XX______,
- XX______,
- ________,
- XX______,
- XX______,
- ________,
- ________}
- /* ';' 3b */
- ,{
- ________,
- ________,
- XX______,
- XX______,
- ________,
- XX______,
- _X______,
- X_______}
- /* '<' 3c */
- ,{
- ___X____,
- __X_____,
- _X______,
- X_______,
- _X______,
- __X_____,
- ___X____,
- ________}
- /* '=' 3d */
- ,{
- ________,
- ________,
- XXXXX___,
- ________,
- XXXXX___,
- ________,
- ________,
- ________}
- /* '>' */
- ,{
- X_______,
- _X______,
- __X_____,
- ___X____,
- __X_____,
- _X______,
- X_______,
- ________}
- /* '?' */
- ,{
- _XXX____,
- X___X___,
- ____X___,
- ___X____,
- __X_____,
- ________,
- __X_____,
- ________}
- /* @ */
- ,{
- _XXX____,
- X___X___,
- ____X___,
- _XX_X___,
- X_X_X___,
- X_X_X___,
- _XXX____,
- ________}
- /* A */
- ,{
- _XXX____,
- X___X___,
- X___X___,
- XXXXX___,
- X___X___,
- X___X___,
- X___X___,
- ________}
- /* B */
- ,{
- XXXX____,
- X___X___,
- X___X___,
- XXXX____,
- X___X___,
- X___X___,
- XXXX____,
- ________}
- /* C */
- ,{
- _XXX____,
- X___X___,
- X_______,
- X_______,
- X_______,
- X___X___,
- _XXX____,
- ________}
- /* D */
- ,{
- XXX_____,
- X__X____,
- X___X___,
- X___X___,
- X___X___,
- X__X____,
- XXX_____,
- ________}
- /* E */
- ,{
- XXXXX___,
- X_______,
- X_______,
- XXXX____,
- X_______,
- X_______,
- XXXXX___,
- ________}
- /* F */
- ,{
- XXXXX___,
- X_______,
- X_______,
- XXXX____,
- X_______,
- X_______,
- X_______,
- ________}
- /* G */
- ,{
- _XXX____,
- X___X___,
- X_______,
- X_______,
- X__XX___,
- X___X___,
- _XXXX___,
- ________}
- /* H */
- ,{
- X___X___,
- X___X___,
- X___X___,
- XXXXX___,
- X___X___,
- X___X___,
- X___X___,
- ________}
- /* I */
- ,{
- XXX_____,
- _X______,
- _X______,
- _X______,
- _X______,
- _X______,
- XXX_____,
- ________}
- /* J */
- ,{
- __XXX___,
- ___X____,
- ___X____,
- ___X____,
- ___X____,
- X__X____,
- _XX_____,
- ________}
- /* K */
- ,{
- X___X___,
- X__X____,
- X_X_____,
- XX______,
- X_X_____,
- X__X____,
- X___X___,
- ________}
- /* L */
- ,{
- X_______,
- X_______,
- X_______,
- X_______,
- X_______,
- X_______,
- XXXXX___,
- ________}
- /* M */
- ,{
- X___X___,
- XX_XX___,
- X_X_X___,
- X_X_X___,
- X___X___,
- X___X___,
- X___X___,
- ________}
- /* N */
- ,{
- X___X___,
- X___X___,
- XX__X___,
- X_X_X___,
- X__XX___,
- X___X___,
- X___X___,
- ________}
- /* O */
- ,{
- _XXX____,
- X___X___,
- X___X___,
- X___X___,
- X___X___,
- X___X___,
- _XXX____,
- ________}
- /* P */
- ,{
- XXXX____,
- X___X___,
- X___X___,
- XXXX____,
- X_______,
- X_______,
- X_______,
- ________}
- /* Q */
- ,{
- _XXX____,
- X___X___,
- X___X___,
- X___X___,
- X_X_X___,
- X__X____,
- _XX_X___,
- ________}
- /* R */
- ,{
- XXXX____,
- X___X___,
- X___X___,
- XXXX____,
- X_X_____,
- X__X____,
- X___X___,
- ________}
- /* S */
- ,{
- _XXX____,
- X___X___,
- X_______,
- _XXX____,
- ____X___,
- X___X___,
- _XXX____,
- ________}
- /* T */
- ,{
- XXXXX___,
- __X_____,
- __X_____,
- __X_____,
- __X_____,
- __X_____,
- __X_____,
- ________}
- /* U */
- ,{
- X___X___,
- X___X___,
- X___X___,
- X___X___,
- X___X___,
- X___X___,
- _XXX____,
- ________}
- /* V */
- ,{
- X___X___,
- X___X___,
- X___X___,
- X___X___,
- X___X___,
- _X_X____,
- __X_____,
- ________}
- /* W */
- ,{
- 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___,
- ________}
- /* Y */
- ,{
- X___X___,
- X___X___,
- _X_X____,
- __X_____,
- __X_____,
- __X_____,
- __X_____,
- ________}
- /* Z */
- ,{
- XXXXX___,
- ____X___,
- ___X____,
- __X_____,
- _X______,
- X_______,
- XXXXX___,
- ________}
- /* 5b */
- ,{
- XXX_____,
- X_______,
- X_______,
- X_______,
- X_______,
- X_______,
- XXX_____,
- ________}
- /* 5c */
- ,{
- ________,
- X_______,
- _X______,
- __X_____,
- ___X____,
- ____X___,
- ________,
- ________}
- /* 5d */
- ,{
- XXX_____,
- __X_____,
- __X_____,
- __X_____,
- __X_____,
- __X_____,
- XXX_____,
- ________}
- /* 5e */
- ,{
- __X_____,
- _X_X____,
- X___X___,
- ________,
- ________,
- ________,
- ________,
- ________}
- /* 5f */
- ,{
- ________,
- ________,
- ________,
- ________,
- ________,
- ________,
- ________,
- XXXXX___}
- /* 60 */
- ,{
- X_______,
- _X______,
- __X_____,
- ________,
- ________,
- ________,
- ________,
- ________}
- /* a */
- ,{
- ________,
- ________,
- _XXX____,
- ____X___,
- _XXXX___,
- X___X___,
- _XXXX___,
- ________}
- /* b */
- ,{
- X_______,
- X_______,
- X_XX____,
- XX__X___,
- X___X___,
- X___X___,
- XXXX____,
- ________}
- /* c */
- ,{
- ________,
- ________,
- _XX_____,
- X__X____,
- X_______,
- X__X____,
- _XX_____,
- ________}
- /* d */
- ,{
- ____X___,
- ____X___,
- _XX_X___,
- X__XX___,
- X___X___,
- X___X___,
- _XXXX___,
- ________}
- /* e */
- ,{
- ________,
- ________,
- _XXX____,
- X___X___,
- XXXXX___,
- X_______,
- _XXX____,
- ________}
- /* f */
- ,{
- __X_____,
- _X_X____,
- _X______,
- XXX_____,
- _X______,
- _X______,
- _X______,
- ________}
- /* g */
- ,{
- ________,
- ________,
- _XXXX___,
- X___X___,
- X___X___,
- _XXXX___,
- ____X___,
- _XXX____}
- /* h */
- ,{
- X_______,
- X_______,
- X_XX____,
- XX__X___,
- X___X___,
- X___X___,
- X___X___,
- ________}
- /* i */
- ,{
- _X______,
- ________,
- _X______,
- _X______,
- _X______,
- _X______,
- _X______,
- ________}
- /* j */
- ,{
- __X_____,
- ________,
- _XX_____,
- __X_____,
- __X_____,
- __X_____,
- __X_____,
- XX______}
- /* k */
- ,{
- X_______,
- X_______,
- X__X____,
- X_X_____,
- XX______,
- X_X_____,
- X__X____,
- ________}
- /* l */
- ,{
- XX______,
- _X______,
- _X______,
- _X______,
- _X______,
- _X______,
- XXX_____,
- ________}
- /* m */
- ,{
- ________,
- ________,
- XX_X____,
- X_X_X___,
- X_X_X___,
- X___X___,
- X___X___,
- ________}
- /* n */
- ,{
- ________,
- ________,
- X_XX____,
- XX_X____,
- X__X____,
- X__X____,
- X__X____,
- ________}
- /* o */
- ,{
- ________,
- ________,
- _XX_____,
- X__X____,
- X__X____,
- X__X____,
- _XX_____,
- ________}
- /* p */
- ,{
- ________,
- ________,
- XXX_____,
- X__X____,
- X__X____,
- XXX_____,
- X_______,
- X_______}
- /* q */
- ,{
- ________,
- ________,
- _XXX____,
- X__X____,
- X__X____,
- _XXX____,
- ___X____,
- ___X____}
- /* r */
- ,{
- ________,
- ________,
- _X_X____,
- _XX_____,
- _X______,
- _X______,
- _X______,
- ________}
- /* s */
- ,{
- ________,
- ________,
- _XXX____,
- X_______,
- _XX_____,
- ___X____,
- XXX_____,
- ________}
- /* t */
- ,{
- _X______,
- _X______,
- XXX_____,
- _X______,
- _X______,
- _X______,
- _XX_____,
- ________}
- /* u */
- ,{
- ________,
- ________,
- X__X____,
- X__X____,
- X__X____,
- X__X____,
- _XXX____,
- ________}
- /* v */
- ,{
- ________,
- ________,
- X___X___,
- X___X___,
- X___X___,
- _X_X____,
- __X_____,
- ________}
- /* w */
- ,{
- ________,
- ________,
- X___X___,
- X___X___,
- X_X_X___,
- X_X_X___,
- _X_X____,
- ________}
- /* X */
- ,{
- ________,
- ________,
- X___X___,
- _X_X____,
- __X_____,
- _X_X____,
- X___X___,
- ________}
- /* y */
- ,{
- ________,
- ________,
- X__X____,
- X__X____,
- X__X____,
- _XXX____,
- ___X____,
- _XX_____}
- /* z */
- ,{
- ________,
- ________,
- XXXXX___,
- ___X____,
- __X_____,
- _X______,
- XXXXX___,
- ________}
- /* 0x7b */
- ,{
- __X_____,
- _X______,
- _X______,
- X_______,
- _X______,
- _X______,
- __X_____,
- ________}
- /* 0x7c */
- ,{
- _X______,
- _X______,
- _X______,
- _X______,
- _X______,
- _X______,
- _X______,
- ________}
- /* 0x7d */
- ,{
- X_______,
- _X______,
- _X______,
- __X_____,
- _X______,
- _X______,
- X_______,
- ________}
- /* 0x7e */
- ,{
- _XX_X___,
- X__X____,
- ________,
- ________,
- ________,
- ________,
- ________,
- ________}
-
- /* 0x7f */
- ,{
- XXXXX___,
- XXXXX___,
- XXXXX___,
- XXXXX___,
- XXXXX___,
- XXXXX___,
- XXXXX___,
- ________}
-
- };
- /****************************************************************************
- * 名称: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)==' ' ) 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)==' ' ) break;
- if( GUI_PutChar(x, y, *str++)==0 ) break;
- x += 6; // 下一个字符显示位置,y不变(即不换行)
- }
- }
- #endif