www.pudn.com > ZLG_GUI_spilcd.zip > FONT24_32.C, change:2014-10-26,size:17491b


/**************************************************************************************** 
* 文件名:FONT24_32.C 
* 功能:24*32 ASCII码字体及显示函数。 
* 作者:黄绍斌 
* 日期:2004.02.26 
* 备注:使用GUI_SetColor()函数设置前景颜色及背景色。 
****************************************************************************************/ 
#include "config.h" 
 
#if  FONT24x32_EN==1 
 
/* 24*32字体定义 */ 
const u8  FONT24x32[][96] = { 
/*  0  */ 
  { 
   ________,_XXXXXXX,________, 
   _______X,XXXXXXXX,XX______, 
   ______XX,XXXXXXXX,XXX_____, 
   _____XXX,XXXXXXXX,XXXX____, 
   ____XXXX,XXX___XX,XXXXX___, 
   ____XXXX,X_______,XXXXX___, 
   ___XXXXX,________,_XXXXX__, 
   ___XXXXX,________,_XXXXX__, 
   ___XXXXX,________,_XXXXX__, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   ___XXXXX,________,_XXXXX__, 
   ___XXXXX,________,_XXXXX__, 
   ___XXXXX,________,_XXXXX__, 
   ____XXXX,X_______,XXXXX___, 
   ____XXXX,XXX___XX,XXXXX___, 
   _____XXX,XXXXXXXX,XXXX____, 
   ______XX,XXXXXXXX,XXX_____, 
   _______X,XXXXXXXX,XX______, 
   ________,_XXXXXXX,________} 
 
/*  1  */ 
 ,{ 
   ________,______XX,XX______, 
   ________,______XX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,____XXXX,XX______, 
   ________,__XXXXXX,XX______, 
   ______XX,XXXXXXXX,XX______, 
   ______XX,XXXXXXXX,XX______, 
   ______XX,XXXXXXXX,XX______, 
   ______XX,XXXXXXXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______, 
   ________,_____XXX,XX______} 
 
/*  2  */ 
 ,{ 
   ________,_XXXXXXX,X_______, 
   _______X,XXXXXXXX,XXX_____, 
   ______XX,XXXXXXXX,XXXX____, 
   _____XXX,XXXXXXXX,XXXXX___, 
   ____XXXX,XXX____X,XXXXXX__, 
   ___XXXXX,X_______,XXXXXX__, 
   ___XXXXX,________,_XXXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   __XXXXX_,________,__XXXXX_, 
   ________,________,__XXXXX_, 
   ________,________,__XXXXX_, 
   ________,________,__XXXXX_, 
   ________,________,_XXXXXX_, 
   ________,________,XXXXXX__, 
   ________,_______X,XXXXXX__, 
   ________,_____XXX,XXXXX___, 
   ________,____XXXX,XXX_____, 
   ________,__XXXXXX,XX______, 
   ________,_XXXXXXX,X_______, 
   _______X,XXXXXXX_,________, 
   ______XX,XXXXXX__,________, 
   _____XXX,XXXX____,________, 
   ____XXXX,XXX_____,________, 
   ____XXXX,XX______,________, 
   ___XXXXX,X_______,________, 
   ___XXXXX,________,________, 
   __XXXXXX,XXXXXXXX,XXXXXXX_, 
   __XXXXXX,XXXXXXXX,XXXXXXX_, 
   __XXXXXX,XXXXXXXX,XXXXXXX_, 
   __XXXXXX,XXXXXXXX,XXXXXXX_, 
   __XXXXXX,XXXXXXXX,XXXXXXX_} 
 
/*  3  */ 
 ,{ 
   ________,_XXXXXX_,________, 
   ______XX,XXXXXXXX,XX______, 
   _____XXX,XXXXXXXX,XXX_____, 
   ____XXXX,XXXXXXXX,XXXX____, 
   ___XXXXX,X______X,XXXXX___, 
   ___XXXXX,________,XXXXX___, 
   __XXXXX_,________,XXXXXX__, 
   __XXXXX_,________,_XXXXX__, 
   __XXXXX_,________,_XXXXX__, 
   __XXXXX_,________,_XXXXX__, 
   ________,________,XXXXX___, 
   ________,________,XXXXX___, 
   ________,_______X,XXXX____, 
   ________,__XXXXXX,XXX_____, 
   ________,__XXXXXX,XX______, 
   ________,__XXXXXX,XXX_____, 
   ________,__XXXXXX,XXXXX___, 
   ________,_______X,XXXXXX__, 
   ________,________,_XXXXX__, 
   ________,________,_XXXXXX_, 
   ________,________,__XXXXX_, 
   ________,________,__XXXXX_, 
   _XXXXX__,________,__XXXXX_, 
   _XXXXX__,________,__XXXXX_, 
   _XXXXX__,________,_XXXXXX_, 
   __XXXXX_,________,_XXXXX__, 
   __XXXXXX,________,XXXXXX__, 
   ___XXXXX,X______X,XXXXX___, 
   ____XXXX,XXXXXXXX,XXXX____, 
   _____XXX,XXXXXXXX,XXX_____, 
   ______XX,XXXXXXXX,XX______, 
   ________,_XXXXXX_,________} 
 
/*  4  */ 
 ,{ 
   ________,_______X,XXXX____, 
   ________,______XX,XXXX____, 
   ________,_____XXX,XXXX____, 
   ________,_____XXX,XXXX____, 
   ________,____XXXX,XXXX____, 
   ________,___XXXXX,XXXX____, 
   ________,___XXXX_,XXXX____, 
   ________,__XXXXX_,XXXX____, 
   ________,_XXXXX__,XXXX____, 
   ________,_XXXX___,XXXX____, 
   ________,XXXXX___,XXXX____, 
   _______X,XXXX____,XXXX____, 
   _______X,XXX_____,XXXX____, 
   ______XX,XXX_____,XXXX____, 
   _____XXX,XX______,XXXX____, 
   _____XXX,X_______,XXXX____, 
   ____XXXX,X_______,XXXX____, 
   ___XXXXX,________,XXXX____, 
   ___XXXX_,________,XXXX____, 
   __XXXXX_,________,XXXX____, 
   __XXXXXX,XXXXXXXX,XXXXXXXX, 
   __XXXXXX,XXXXXXXX,XXXXXXXX, 
   __XXXXXX,XXXXXXXX,XXXXXXXX, 
   __XXXXXX,XXXXXXXX,XXXXXXXX, 
   ________,________,XXXX____, 
   ________,________,XXXX____, 
   ________,________,XXXX____, 
   ________,________,XXXX____, 
   ________,________,XXXX____, 
   ________,________,XXXX____, 
   ________,________,XXXX____, 
   ________,________,XXXX____} 
 
/*  5  */ 
 ,{ 
   _____XXX,XXXXXXXX,XXXXXX__, 
   _____XXX,XXXXXXXX,XXXXXX__, 
   _____XXX,XXXXXXXX,XXXXXX__, 
   _____XXX,XXXXXXXX,XXXXXX__, 
   ____XXXX,X_______,________, 
   ____XXXX,X_______,________, 
   ____XXXX,X_______,________, 
   ____XXXX,X_______,________, 
   ____XXXX,________,________, 
   ____XXXX,________,________, 
   ____XXXX,___XXXXX,________, 
   ____XXXX,_XXXXXXX,XXX_____, 
   ____XXXX,XXXXXXXX,XXXX____, 
   ___XXXXX,XXXXXXXX,XXXXX___, 
   ___XXXXX,XXX____X,XXXXXX__, 
   ___XXXXX,X_______,_XXXXXX_, 
   ___XXXXX,________,__XXXXX_, 
   ________,________,__XXXXXX, 
   ________,________,___XXXXX, 
   ________,________,___XXXXX, 
   ________,________,___XXXXX, 
   ________,________,___XXXXX, 
   ________,________,___XXXXX, 
   __XXXXX_,________,__XXXXXX, 
   __XXXXX_,________,__XXXXX_, 
   ___XXXXX,________,_XXXXXX_, 
   ___XXXXX,X_______,XXXXXX__, 
   ____XXXX,XX____XX,XXXXXX__, 
   _____XXX,XXXXXXXX,XXXXX___, 
   ______XX,XXXXXXXX,XXXX____, 
   _______X,XXXXXXXX,XX______, 
   ________,__XXXXX_,________} 
 
/*  6  */ 
 ,{ 
   ________,__XXXXXX,XX______, 
   ________,XXXXXXXX,XXXX____, 
   _______X,XXXXXXXX,XXXXX___, 
   ______XX,XXXXXXXX,XXXXXX__, 
   _____XXX,XXX_____,_XXXXX__, 
   ____XXXX,XX______,__XXXXX_, 
   ____XXXX,X_______,___XXXX_, 
   ___XXXXX,________,___XXXX_, 
   ___XXXXX,________,________, 
   ___XXXXX,________,________, 
   __XXXXX_,________,________, 
   __XXXXX_,___XXXXX,________, 
   __XXXXX_,_XXXXXXX,XXX_____, 
   __XXXXX_,XXXXXXXX,XXXX____, 
   __XXXXXX,XXXXXXXX,XXXXX___, 
   __XXXXXX,XX______,XXXXXX__, 
   __XXXXXX,X_______,_XXXXXX_, 
   __XXXXXX,________,__XXXXX_, 
   __XXXXXX,________,___XXXXX, 
   __XXXXX_,________,___XXXXX, 
   __XXXXX_,________,___XXXXX, 
   __XXXXX_,________,___XXXXX, 
   ___XXXX_,________,___XXXXX, 
   ___XXXXX,________,___XXXXX, 
   ___XXXXX,________,___XXXXX, 
   ____XXXX,X_______,__XXXXX_, 
   ____XXXX,X_______,_XXXXXX_, 
   _____XXX,XXX_____,XXXXXX__, 
   ______XX,XXXXXXXX,XXXXX___, 
   _______X,XXXXXXXX,XXXX____, 
   ________,XXXXXXXX,XXX_____, 
   ________,___XXXXX,________} 
 
/*  7  */ 
 ,{ 
   __XXXXXX,XXXXXXXX,XXXXXXXX, 
   __XXXXXX,XXXXXXXX,XXXXXXXX, 
   __XXXXXX,XXXXXXXX,XXXXXXXX, 
   __XXXXXX,XXXXXXXX,XXXXXXXX, 
   __XXXXXX,XXXXXXXX,XXXXXXXX, 
   ________,________,___XXXXX, 
   ________,________,__XXXXX_, 
   ________,________,_XXXXX__, 
   ________,________,XXXXX___, 
   ________,_______X,XXXX____, 
   ________,______XX,XXX_____, 
   ________,_____XXX,XXX_____, 
   ________,_____XXX,XX______, 
   ________,____XXXX,XX______, 
   ________,___XXXXX,X_______, 
   ________,___XXXXX,X_______, 
   ________,__XXXXXX,________, 
   ________,__XXXXXX,________, 
   ________,_XXXXXX_,________, 
   ________,_XXXXXX_,________, 
   ________,_XXXXXX_,________, 
   ________,XXXXXX__,________, 
   ________,XXXXXX__,________, 
   ________,XXXXXX__,________, 
   _______X,XXXXX___,________, 
   _______X,XXXXX___,________, 
   _______X,XXXXX___,________, 
   _______X,XXXXX___,________, 
   ______XX,XXXX____,________, 
   ______XX,XXXX____,________, 
   ______XX,XXXX____,________, 
   ______XX,XXXX____,________} 
 
/*  8  */ 
 ,{ 
   ________,_XXXXXXX,X_______, 
   _______X,XXXXXXXX,XXX_____, 
   _____XXX,XXXXXXXX,XXXXX___, 
   ____XXXX,XXXXXXXX,XXXXXX__, 
   ____XXXX,XX______,XXXXXX__, 
   ___XXXXX,X_______,_XXXXXX_, 
   ___XXXXX,________,__XXXXX_, 
   ___XXXXX,________,__XXXXX_, 
   ___XXXXX,________,__XXXXX_, 
   ___XXXXX,________,__XXXXX_, 
   ___XXXXX,X_______,_XXXXXX_, 
   ____XXXX,X_______,_XXXXX__, 
   ____XXXX,XXX____X,XXXXXX__, 
   _____XXX,XXXXXXXX,XXXXX___, 
   _______X,XXXXXXXX,XXX_____, 
   ______XX,XXXXXXXX,XXXX____, 
   ____XXXX,XXXXXXXX,XXXXXX__, 
   ___XXXXX,XXX____X,XXXXXXX_, 
   ___XXXXX,________,__XXXXX_, 
   __XXXXX_,________,___XXXXX, 
   __XXXXX_,________,___XXXXX, 
   __XXXXX_,________,___XXXXX, 
   __XXXXX_,________,___XXXXX, 
   __XXXXX_,________,___XXXXX, 
   __XXXXX_,________,___XXXXX, 
   __XXXXXX,________,__XXXXXX, 
   ___XXXXX,________,__XXXXX_, 
   ___XXXXX,XX______,XXXXXXX_, 
   ____XXXX,XXXXXXXX,XXXXXX__, 
   _____XXX,XXXXXXXX,XXXXX___, 
   ______XX,XXXXXXXX,XXXX____, 
   ________,XXXXXXXX,XX______} 
 
/*  9  */ 
 ,{ 
   ________,_XXXXXXX,X_______, 
   _______X,XXXXXXXX,XXX_____, 
   ______XX,XXXXXXXX,XXXX____, 
   _____XXX,XXXXXXXX,XXXXX___, 
   ____XXXX,XX______,XXXXXX__, 
   ___XXXXX,X_______,_XXXXX__, 
   ___XXXXX,________,__XXXXX_, 
   ___XXXX_,________,__XXXXX_, 
   __XXXXX_,________,___XXXXX, 
   __XXXXX_,________,___XXXXX, 
   __XXXXX_,________,___XXXXX, 
   __XXXXX_,________,___XXXXX, 
   __XXXXX_,________,___XXXXX, 
   ___XXXX_,________,__XXXXXX, 
   ___XXXXX,________,__XXXXXX, 
   ___XXXXX,X_______,_XXXXXXX, 
   ____XXXX,XX_____X,XXXXXXXX, 
   _____XXX,XXXXXXXX,XXXXXXXX, 
   ______XX,XXXXXXXX,XX_XXXXX, 
   ________,XXXXXXXX,___XXXXX, 
   ________,__XXXX__,___XXXXX, 
   ________,________,__XXXXXX, 
   ________,________,__XXXXX_, 
   ________,________,__XXXXX_, 
   __XXXXX_,________,_XXXXXX_, 
   __XXXXX_,________,_XXXXX__, 
   ___XXXXX,________,XXXXX___, 
   ___XXXXX,X______X,XXXXX___, 
   ____XXXX,XXXXXXXX,XXXX____, 
   _____XXX,XXXXXXXX,XXX_____, 
   ______XX,XXXXXXXX,XX______, 
   ________,XXXXXXXX,________} 
 
/*  .  */ 
 ,{ 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,___XXX__,________, 
   ________,__XXXXX_,________, 
   ________,__XXXXX_,________, 
   ________,__XXXXX_,________, 
   ________,___XXX__,________} 
 
/*  +  */ 
 ,{ 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,__XXXX__,________, 
   ________,__XXXX__,________, 
   ________,__XXXX__,________, 
   ________,__XXXX__,________, 
   ________,__XXXX__,________, 
   ________,__XXXX__,________, 
   ________,__XXXX__,________, 
   __XXXXXX,XXXXXXXX,XXXXXX__, 
   __XXXXXX,XXXXXXXX,XXXXXX__, 
   __XXXXXX,XXXXXXXX,XXXXXX__, 
   __XXXXXX,XXXXXXXX,XXXXXX__, 
   ________,__XXXX__,________, 
   ________,__XXXX__,________, 
   ________,__XXXX__,________, 
   ________,__XXXX__,________, 
   ________,__XXXX__,________, 
   ________,__XXXX__,________, 
   ________,__XXXX__,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________} 
 
/*  -  */ 
 ,{ 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   __XXXXXX,XXXXXXXX,XXXXXX__, 
   __XXXXXX,XXXXXXXX,XXXXXX__, 
   __XXXXXX,XXXXXXXX,XXXXXX__, 
   __XXXXXX,XXXXXXXX,XXXXXX__, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________} 
 
/*  :  */ 
 ,{ 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,___XXX__,________, 
   ________,__XXXXX_,________, 
   ________,__XXXXX_,________, 
   ________,__XXXXX_,________, 
   ________,___XXX__,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,___XXX__,________, 
   ________,__XXXXX_,________, 
   ________,__XXXXX_,________, 
   ________,__XXXXX_,________, 
   ________,___XXX__,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________} 
    
/*  空格  */    
 ,{ 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________, 
   ________,________,________} 
}; 
 
/* ASCII码字符字模检索表 */ 
const  char  FONT24x32_TAB[]="0123456789.+-: ";  
 
/**************************************************************************** 
* 名称:GUI_PutChar24_32() 
* 功能:显示ASCII码(24*32字体),显示值为'0'-'9'、'.'、'+'、'-'及':'(若为其它值,则显示' ')。 
* 入口参数: x		指定显示位置,x坐标 
*           y		指定显示位置,y坐标 
*           ch		要显示的ASCII码值。 
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。 
* 说明:操作失败原因是指定地址超出有效范围。 
****************************************************************************/ 
u8  GUI_PutChar24_32(u16 x, u16 y, u8 ch) 
{  u8   font_dat; 
   u8   i, j; 
   u16  bakc; 
 
   /* 参数过滤 */ 
   if( x>(LCD_W-32) ) return(0); 
   if( y>(LCD_H-32) ) return(0); 
   for(i=0; i<14; i++) 
   {  if(FONT24x32_TAB[i]==ch) break; 
   } 
   ch = i; 
     
   for(i=0; i<32; i++)						// 显示共32行 
   {  for(j=0; j<24; j++)					// 每行共24点 
      {  /* 若当前点为0、8、16点,读取点阵数据 */ 
         if( (j&0x07)==0 ) font_dat = FONT24x32[ch][i*3+j>>3];       
         /* 设置相应的点为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 -= 24;								// 恢复x值 
   } 
    
   return(1); 
} 
 
#endif