void Gui_DrawFont_GBK16(u16 x, u16 y, u16 fc, u16 bc, u8 *s)
{
unsigned char i,j;
unsigned short k,x0;
x0=x;
while(*s)
{
if( *s < 0x80 ) {
k=*s;
if (k>32) k-=32; else k=0;
Lcd_SetRegion(x,y,x+7,y+15); // 設定顯示視窗框對應
SPILCD_WriteRAM_Prepare(); // 寫入GRAM命令
for(i=0;i<16;i++)
{
for (j=0;j<8;j++)
{
if(asc16[k*16+i]&(0x80>>j)) SPILCD_WriteRAM(fc); // 寫入前景顏色值
else
{
if (fc!=bc) SPILCD_WriteRAM(bc); // 寫入背景顏色值
}
}
}
s++;x+=8;
}
else
{
for (k=0;k<hz16_num;k++)
{
if ((hz16[k].Index[0]==*(s))&&(hz16[k].Index[1]==*(s+1)))
{
for(i=0;i<16;i++)
{
Lcd_SetRegion(x+i,y,x+i,y+8); // 設定顯示視窗框對應
SPILCD_WriteRAM_Prepare(); // 寫入GRAM命令
for(j=0;j<8;j++)
{
if(hz16[k].Msk[i*2]&(0x80>>j)) SPILCD_WriteRAM(fc); // 寫入前景顏色值
else {
if (fc!=bc) SPILCD_WriteRAM(bc); // 寫入背景顏色值
}
}
Lcd_SetRegion(x+i,y+8,x+i,y+16); // 設定顯示視窗框對應
SPILCD_WriteRAM_Prepare(); // 寫入GRAM命令
for(j=0;j<8;j++)
{
if(hz16[k].Msk[i*2+1]&(0x80>>j)) SPILCD_WriteRAM(fc); // 寫入前景顏色值
else
{
if (fc!=bc) SPILCD_WriteRAM(bc); // 寫入背景顏色值
}
}
}
}
}
s+=2;x+=16;
}
}
}
.....
Gui_DrawFont_GBK16(10,50,RED,WHITE,"Mini STM32現在溫度");
.......
struct typFNT_GB162
{
unsigned char Index[2];
char Msk[32];
};
//細明體5號
#define hz16_num 6
const struct typFNT_GB162 hz16[] = {
#if USE_ONCHIP_FLASH_FONT
"現",0x44,0x20,0x44,0x20,0x7F,0xE0,0x44,0x44,0x44,0x44,0x00,0x04,0x7F,0xC8,0x54,0x90,0x54,0xE0,0x54,0x80,0x54,0xF8,0x54,0x84,0x7F,0xC4,0x00,0x1C,0x00,0x00,0x00,0x00,
"在",0x20,0x40,0x20,0x80,0x21,0xFC,0x26,0x00,0x38,0x04,0xE1,0x04,0x21,0x04,0x21,0x04,0x2F,0xFC,0x21,0x04,0x21,0x04,0x21,0x04,0x61,0x0C,0x20,0x04,0x00,0x00,0x00,0x00,
"溫",0x08,0x0C,0x86,0x30,0x60,0x40,0x00,0x04,0x00,0xFC,0x7E,0x84,0x42,0x84,0x4E,0xFC,0x72,0x84,0x4E,0xFC,0x42,0x84,0xFE,0x84,0x40,0xFC,0x00,0x04,0x00,0x00,0x00,0x00,
"度",0x00,0x0C,0x7F,0xF0,0x48,0x04,0x48,0x84,0x48,0x84,0x5E,0xC8,0x4A,0xA8,0xCA,0x90,0x4A,0x90,0x5E,0xA8,0x48,0xC8,0x48,0x84,0x48,0x04,0x48,0x04,0x00,0x00,0x00,0x00,
"濕",0x08,0x0C,0x86,0x30,0x60,0x40,0x00,0x04,0x02,0x58,0xFD,0xC0,0xA9,0x50,0xAA,0xCC,0xA8,0x00,0xAA,0x50,0xAD,0xCC,0xA9,0x40,0xFA,0x50,0x00,0xCC,0x00,0x00,0x00,0x00,
"度",0x00,0x0C,0x7F,0xF0,0x48,0x04,0x48,0x84,0x48,0x84,0x5E,0xC8,0x4A,0xA8,0xCA,0x90,0x4A,0x90,0x5E,0xA8,0x48,0xC8,0x48,0x84,0x48,0x04,0x48,0x04,0x00,0x00,0x00,0x00,
#endif
0x00,
}; |