/********************************************************************************************* * File£º AscII8x16.c * Author: embest * Desc£º Ascii table in 8x16 dot lattice * History: *********************************************************************************************/ #include "typedef.h" #include #include /*------------------------------------------------------------------------------------------*/ /* constant define */ /*------------------------------------------------------------------------------------------*/ #define G_AUC_ASCII_LEN 4096 const u8 g_ucAscii24x24[]= { 0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x10, 0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00, 0x10,0x00,0x0F,0xFF,0xF0,0x08,0x10,0x20, 0x08,0x10,0x20,0x08,0x10,0x20,0x0F,0xFF, 0xE0,0x08,0x10,0x20,0x08,0x10,0x20,0x08, 0x10,0x20,0x08,0x10,0x20,0x0F,0xFF,0xE0, 0x08,0x10,0x20,0x08,0x10,0x00,0x00,0x10, 0x04,0x00,0x10,0x04,0x00,0x10,0x04,0x00, 0x10,0x0C,0x00,0x1F,0xFC,0x00,0x00,0x00,/*"¿",0*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF, 0xC0,0x06,0x00,0x40,0x07,0xFF,0xC0,0x06, 0x00,0x40,0x06,0x00,0x40,0x07,0xFF,0xC0, 0x06,0x00,0x44,0x7F,0xFF,0xFE,0x00,0x00, 0x00,0x07,0xFF,0xE0,0x04,0x18,0x60,0x07, 0xFF,0xE0,0x04,0x18,0x60,0x04,0x18,0x60, 0x07,0xFF,0xE0,0x04,0x18,0x60,0x1F,0xFF, 0xF0,0x00,0x18,0x00,0x00,0x18,0x04,0x7F, 0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,/*"¿",1*/ 0x00,0x00,0x00,0x00,0x40,0x00,0x00,0xE0, 0x00,0x00,0xC1,0x00,0x01,0xFF,0x80,0x03, 0x03,0x00,0x06,0x02,0x00,0x0F,0xFF,0xF0, 0x10,0x00,0x30,0x20,0x00,0x30,0x03,0xFF, 0xF0,0x00,0x00,0x30,0x00,0x00,0x30,0x00, 0x00,0x30,0x07,0xFF,0xF0,0x00,0x30,0x30, 0x01,0x0C,0x00,0x01,0x84,0x10,0x09,0x84, 0x8C,0x09,0x80,0x8C,0x39,0x80,0x84,0x01, 0x80,0xC0,0x00,0xFF,0xC0,0x00,0x00,0x00,/*"¿",2*/ 0x00,0x00,0x00,0x00,0x04,0x00,0x06,0x06, 0x00,0x04,0x02,0x08,0x05,0xFF,0xFC,0x0C, 0x00,0x00,0x08,0x3F,0xE0,0x0C,0x20,0x20, 0x18,0x20,0x20,0x18,0x3F,0xE0,0x28,0x20, 0x20,0x28,0xFF,0xFC,0x49,0x00,0x08,0x09, 0x00,0x08,0x08,0x7F,0xF0,0x08,0x03,0x00, 0x08,0x03,0x00,0x08,0x03,0x00,0x08,0x03, 0x00,0x08,0x03,0x00,0x08,0x03,0x00,0x08, 0x0E,0x00,0x08,0x06,0x00,0x00,0x00,0x00,/*"¿",3*/ 0x00,0x00,0x00,0x01,0x01,0x00,0x11,0x11, 0x80,0x09,0x11,0x00,0x0D,0x23,0x00,0x09, 0x42,0x00,0x3F,0xFB,0xFC,0x03,0x06,0x10, 0x07,0xC6,0x10,0x05,0x26,0x10,0x09,0x3A, 0x30,0x31,0x0A,0x30,0x41,0x01,0x30,0x03, 0x01,0x20,0x7F,0xF1,0x20,0x06,0x21,0xE0, 0x04,0x20,0xC0,0x0E,0x40,0xC0,0x01,0xE1, 0xE0,0x01,0xB3,0x30,0x06,0x16,0x1C,0x18, 0x18,0x0C,0x60,0x20,0x00,0x00,0x00,0x00,/*"¿",4*/ 0x00,0x00,0x00,0x01,0x02,0x00,0x01,0x83, 0x00,0x03,0x02,0x00,0x03,0x02,0x00,0x02, 0x02,0x00,0x06,0x7F,0xF8,0x04,0x06,0x00, 0x0E,0x04,0x00,0x0E,0x04,0x00,0x16,0x04, 0x00,0x17,0xFF,0xFC,0x26,0x0C,0x00,0x46, 0x0C,0x00,0x06,0x08,0x10,0x06,0x1F,0xF8, 0x06,0x08,0x30,0x06,0x00,0x60,0x06,0x00, 0x40,0x06,0x08,0x80,0x06,0x07,0x00,0x06, 0x01,0xC0,0x06,0x00,0x60,0x04,0x00,0x20,/*"¿",5*/ 0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x08, 0x00,0x00,0x0C,0x00,0x07,0xFF,0xF0,0x04, 0x00,0x30,0x04,0x00,0x30,0x04,0x00,0x30, 0x04,0x00,0x30,0x07,0xFF,0xF0,0x04,0x00, 0x30,0x04,0x00,0x00,0x04,0x00,0x00,0x04, 0xFF,0xF0,0x04,0x80,0x30,0x04,0x80,0x30, 0x0C,0x80,0x30,0x08,0x80,0x30,0x08,0x80, 0x30,0x18,0x80,0x30,0x10,0xFF,0xF0,0x20, 0x80,0x30,0x40,0x80,0x20,0x00,0x00,0x00,/*"¿",6*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, 0x00,0x00,0x01,0x00,0x00,0x41,0x00,0x3F, 0xE1,0x00,0x00,0x01,0x00,0x00,0x0F,0xFC, 0x00,0x01,0x0C,0x7F,0xF1,0x0C,0x02,0x01, 0x0C,0x06,0x01,0x0C,0x04,0x01,0x08,0x0C, 0x81,0x08,0x08,0x43,0x08,0x10,0x62,0x08, 0x10,0x22,0x08,0x3F,0xF4,0x08,0x30,0x1C, 0x08,0x00,0x08,0x08,0x00,0x11,0x98,0x00, 0x60,0x70,0x00,0x80,0x20,0x00,0x00,0x00,/*"¿",7*/ 0x00,0x00,0x00,0x00,0x04,0x00,0x10,0x06, 0x00,0x08,0x04,0x00,0x0C,0x0C,0x08,0x0D, 0xFF,0xFC,0x00,0x08,0x00,0x00,0x13,0x00, 0x00,0x32,0x00,0x7E,0x22,0x00,0x04,0xFF, 0xF0,0x04,0x42,0x00,0x04,0x02,0x00,0x04, 0x02,0x00,0x05,0xFF,0xFC,0x04,0x02,0x00, 0x04,0x02,0x00,0x04,0x02,0x00,0x1A,0x03, 0x00,0x31,0x82,0x00,0x20,0x7F,0xFE,0x00, 0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,/*"¿",8*/ 0x00,0x00,0x00,0x04,0x04,0x00,0x04,0x03, 0x00,0x04,0x01,0x00,0x04,0x7F,0xF8,0x04, 0x90,0x40,0x7F,0xC8,0x60,0x04,0x0C,0x40, 0x04,0x04,0x80,0x04,0xFF,0xFC,0x04,0x02, 0x00,0x05,0x06,0x00,0x0E,0x04,0x00,0x3C, 0x04,0x04,0x65,0xFF,0xFE,0x04,0x08,0x60, 0x04,0x10,0x40,0x04,0x10,0xC0,0x04,0x0E, 0x80,0x04,0x01,0xC0,0x24,0x06,0x38,0x1C, 0x18,0x0C,0x08,0xE0,0x04,0x00,0x00,0x00,/*"¿",9*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x80, 0x08,0x10,0x80,0x3C,0x10,0x83,0xC0,0x14, 0x9A,0x00,0x12,0x92,0x00,0x12,0xA2,0x00, 0x10,0xC2,0x00,0x1F,0xFB,0xFC,0x11,0x86, 0x10,0x11,0xC2,0x10,0x11,0xA2,0x10,0x12, 0x92,0x10,0x12,0x9A,0x10,0x14,0x8A,0x10, 0x14,0x82,0x10,0x18,0x86,0x10,0x10,0xA4, 0x10,0x3F,0xF4,0x10,0x00,0x08,0x10,0x00, 0x10,0x10,0x00,0x20,0x00,0x00,0x00,0x00,/*"¿",10*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x10,0x3F,0xFF,0xF8,0x00,0x81,0x00,0x00, 0x81,0x00,0x00,0x81,0x00,0x00,0x81,0x00, 0x00,0x81,0x00,0x00,0x81,0x00,0x00,0x81, 0x08,0x7F,0xFF,0xFC,0x00,0x81,0x00,0x00, 0x81,0x00,0x00,0x81,0x00,0x01,0x81,0x00, 0x01,0x01,0x00,0x01,0x01,0x00,0x02,0x01, 0x00,0x06,0x01,0x00,0x0C,0x01,0x00,0x10, 0x01,0x00,0x20,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x0C, 0x00,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00, 0x0C,0x00,0x00,0x0C,0x00,0x02,0x0C,0x00, 0x02,0x0C,0x10,0x02,0x0F,0xF8,0x02,0x0C, 0x00,0x02,0x0C,0x00,0x02,0x0C,0x00,0x02, 0x0C,0x00,0x02,0x0C,0x00,0x02,0x0C,0x00, 0x02,0x0C,0x00,0x02,0x0C,0x00,0x02,0x0C, 0x00,0x02,0x0C,0x08,0x7F,0xFF,0xFC,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; extern u32 g_dwLcdWidth ; extern u32 g_dwLcdHeight ; extern u32 g_pLCDBuffer ; static void PutTFT16Bit_480640(u32 x,u32 y, unsigned short c) { // RGB24 if(x<(g_dwLcdWidth) && y<(g_dwLcdHeight)) memcpy((unsigned char*)(g_pLCDBuffer + (x+y*g_dwLcdWidth)*2), (unsigned char*)&c, 2); } void LCDDisplayASCII24x24(u32 x0, u32 y0, unsigned short ForeColor, char * s) { u32 i,j,k,x,y,xx; u8 qm; u32 ulOffset; u32 ywbuf[36],temp[2]; u32 tmp; for(i = 0; i < strlen((const char*)s); i++) { if(((u8)*(s+i) >= 127) || (((u8)*(s+i) <= 31))) { temp[0] = *(s + i); temp[1] = '\0'; return; } else { qm = *(s+i); qm -= 0x30; ulOffset = (u32)(qm) * 72; for (j = 0; j < 24; j ++) { tmp = j*3; ywbuf[j] = (g_ucAscii24x24[ulOffset + tmp] << 16) | (g_ucAscii24x24[ulOffset + tmp + 1] << 8) | g_ucAscii24x24[ulOffset + tmp + 2]; } for(y = 0; y < 24; y++) { for(x = 0; x < 24; x++) { k = x % 24; if (ywbuf[y] & (0x800000 >> k)) { xx = x0 + x + i*24; PutTFT16Bit_480640( xx, y + y0, ForeColor); } } } } } }