Files
hisi_SS524V100_SDK/mpp/sample/gfbg/ascii24x36.c
T

200 lines
6.6 KiB
C

/*********************************************************************************************
* File」コ AscII8x16.c
* Author: embest
* Desc」コ Ascii table in 8x16 dot lattice
* History:
*********************************************************************************************/
#include "typedef.h"
#include <stdlib.h>
#include <string.h>
/*------------------------------------------------------------------------------------------*/
/* 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);
}
}
}
}
}
}