• sales

    +86-0755-88291180

48x48 Chinese font modulo description

48x48 Chinese Chinese font modulo description

The size settings are as shown below:
After the modulo is successful, you need to define the following structure array to store the modulo data (the definition of structure is in the Chinese_and_English_display_modulo_settings):
const typFNT_GB48 tfont48[]=
{
    "中",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,
    0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,
    0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,
    0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,
    0x00,0x00,0x02,0x00,0x03,0x80,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0xC0,0x03,0xFF,
    0xFF,0xFF,0xFF,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x03,0x80,0x03,0x80,
    0x01,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x03,0x80,
    0x03,0x80,0x01,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x03,0x80,0x03,0x80,0x01,0x80,
    0x03,0x80,0x03,0x80,0x01,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x03,0x80,0x03,0x80,
    0x01,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x03,0x80,0x03,0x80,0x01,0xFF,0xFF,0xFF,
    0xFF,0x80,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
    0x03,0x80,0x03,0x80,0x02,0x00,0x03,0x80,0x02,0x00,0x00,0x00,0x03,0x80,0x00,0x00,
    0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,
    0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,
    0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,
    0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,
    0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
The function is defined as follows:
void GUI_DrawFont48(u16 x, u16 y, u16 fc, u16 bc, u8 *s,u8 mode)
{
    u8 j;
    u16 k,i;
    u16 HZnum;
    u16 x0=x;
    HZnum=sizeof(tfont48)/sizeof(typFNT_GB48);	//Automatic statistics of the number of Chinese characters
    for (k=0;k<HZnum;k++) 
    {
        if ((tfont48[k].Index[0]==*(s))&&(tfont48[k].Index[1]==*(s+1)))
        { 	
            LCD_SetWindows(x,y,x+48-1,y+48-1);
	    for(i=0;i<48*6;i++)
	    {
	        for(j=0;j<8;j++)
		{
		    if(!mode) //Non-overlay mode: The font has a background color, which will overwrite the original display
		    {
			if(tfont48[k].Msk[i]&(0x80>>j))	
                        {                        
                            Lcd_WriteData_16Bit(fc);
			}
                        else
                        { 
                            Lcd_WriteData_16Bit(bc);
			}				
                    }
		    else //Overlay mode: the font does not have a background color, and is directly superimposed and displayed on the original display content
		    {
			POINT_COLOR=fc;
			if(tfont48[k].Msk[i]&(0x80>>j))	
                        {                        
                            LCD_DrawPoint(x,y);//Draw a point
                        }
			x++;
			if((x-x0)==48)
			{
			    x=x0;
			    y++;
			    break;
			}
		    }
		}
	    }
        }				  	
        continue;  //Find the corresponding dot matrix font to exit immediately, to prevent the impact of multiple Chinese characters repeated modulo
    }	
    LCD_SetWindows(0,0,lcddev.width-1,lcddev.height-1);//Restore window to full screen  
}