📄 font16_16._c
字号:
/****************************************************************************************
* 文件名:FONT16_16.H
* 功能:16*16 ASCII码字体显示函数。(头文件)
* 作者:韩茂琨
* 日期:2007.01.9
* 备注:使用GUI_SetColor()函数设置前景颜色及背景色。
****************************************************************************************/
#include "config.h"
//#if FONT16x16_EN == 1
/* 16*16字体定义 */
const uint8 FONT16x16[][32] = {
/* P */
{
________,________,
_XXXXXXX,XXXXX___,
_XXXXXX_,XXXXXX__,
_XXXX___,___XXXX_,
_XXXX___,____XXX_,
_XXXX___,____XXX_,
_XXXX___,___XXXX_,
_XXXX___,__XXXX__,
_XXXX__X,XXXX____,
_XXXXXXX,XXX_____,
_XXXXXX_,________,
_XXXXX__,________,
_XXXXX__,________,
_XXXXX__,________,
_XXXXXX_,________,
_XXXXXXX,________}
,{
________,________,
_XXXX___,___XXXX_,
_XXXXX__,__XXXXX_,
_XXXXX__,__XXXXX_,
_XXXXX__,__XXXXX_,
_XXXXX__,__XXXXX_,
_XXXXXX_,_XXXXXX_,
_XXXXXX_,_XXXXXX_,
_XXXX_X_,_XXXXXX_,
_XXX__XX,XX__XXX_,
_XXX__XX,XX__XXX_,
_XXX__XX,XX__XXX_,
_XXX__XX,XX__XXX_,
_XXX__XX,XX__XXX_,
_XX____X,X____XX_,
_XX____X,X____XX_}
,{
________,________,
______XX,XX______,
____XXXX,XXXX____,
__XXXXX_,XXXXXX__,
_XXXXX__,___XXXX_,
_XXXXX__,____XXX_,
__XXXXX_,________,
___XXXXX,X_______,
______XX,XXXX____,
________,XXXXXX__,
________,__XXXXX_,
_XXXX___,__XXXX__,
__XXXX__,_XXXXX__,
__XXXX__,_XXXX___,
___XXXXX,XXXX____,
______XX,XX______}
};
/* ASCII码字符字模检索表 */
const char FONT16x16_TAB[]="PMS";
/****************************************************************************
* 名称:GUI_PutChar16_16()
* 功能:显示ASCII码(16*16字体),显示值为'0'-'9'、'.'、'+'、'-'及':'(若为其它值,则显示' ')。
* 入口参数: x 指定显示位置,x坐标
* y 指定显示位置,y坐标
* ch 要显示的ASCII码值。
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
uint8 GUI_PutChar16_16(uint32 x, uint32 y, uint8 ch)
{ uint8 font_dat;
uint8 i, j, k, temp;
TCOLOR bakc;
/* 参数过滤 */
if( x>=(GUI_LCM_XMAX-8) ) return(0);
if( y>=(GUI_LCM_YMAX-8) ) return(0);
for(k=0; k<14; k++)
{ if(FONT16x16_TAB[k]==ch) break;
}
ch = k;
for(i=0; i<16; i++)
{ /* 读取点阵数据 */
for(k=0; k<2; k++)
{
temp = i*2 + k;
font_dat = FONT16x16[ch][temp];
for(j=0; j<8; 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 -= 16; // 恢复x值
}
return(1);
}
//#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -