Maker Pro
Maker Pro

How to change Chineess front in STM32F103 C programming

Hasan2019

Sep 11, 2019
25
Joined
Sep 11, 2019
Messages
25
Hi there,


I am handling a project which has display application both for English and Korean front but I would like to add Chiness front in it.
For that reason, I have to add more thing in front.c and front.h etc.

I can made some Chineess front/ charecter using Note pad pixel and a software named KSX1001 frontedit
BMP to front can be made. i.e IMAGE SIZE-16*16, front size-32. Software output gives .c file when input is a .bmp file.

Take a look output c file for a given .bmp,

Code:
#define byte unsigned char
#define word unsigned int
//---------------------------------------------------------
extern code byte ImageFontTbl[];
//---------------------------------------------------------

code byte ImageFontTbl[]={    // ImageSize: 16 X 16
    0xff,0x7f,    // QQQQQQQQ.QQQQQQQ
    0xff,0x7f,    // QQQQQQQQ.QQQQQQQ
    0xff,0x7f,    // QQQQQQQQ.QQQQQQQ
    0xff,0x7f,    // QQQQQQQQ.QQQQQQQ
    0xc0,0x01,    // QQ.............Q
    0xdf,0x7d,    // QQ.QQQQQ.QQQQQ.Q
    0xdf,0x7d,    // QQ.QQQQQ.QQQQQ.Q
    0xdf,0x7d,    // QQ.QQQQQ.QQQQQ.Q
    0xdf,0x7d,    // QQ.QQQQQ.QQQQQ.Q
    0xc0,0x01,    // QQ.............Q
    0xdf,0x7d,    // QQ.QQQQQ.QQQQQ.Q
    0xff,0x7f,    // QQQQQQQQ.QQQQQQQ
    0xff,0x7f,    // QQQQQQQQ.QQQQQQQ
    0xff,0x7f,    // QQQQQQQQ.QQQQQQQ
    0xff,0x7f,    // QQQQQQQQ.QQQQQQQ
    0xff,0x7f,    // QQQQQQQQ.QQQQQQQ
    
};    // FontSize= 32


Now my original front.c file called image registor in following way
Code:
const unsigned char IMAGE_16_16[COUNT_OF_16_IMAGE][32] = {

{0x11,0xaa,0x44,0x00,0xff,0x00,0xff,0x00,0x44,0xaa,0x11,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00}, // trace
{0x00,0xfe,0x02,0x12,0x12,0x12,0x12,0x82,0x42,0x22,0x12,0x0a,0x06,0xfe,0x00,0x00,0x00,0x3f,0x30,0x28,0x24,0x22,0x21,0x24,0x22,0x24,0x28,0x24,0x20,0x3f,0x00,0x00}, // Inverter
{0xff,0x01,0xfd,0xed,0xed,0xed,0xed,0x7d,0xbd,0xdd,0xed,0xf5,0xf9,0x01,0xff,0x00,0x7f,0x40,0x4f,0x57,0x5b,0x5d,0x5e,0x5b,0x5d,0x5b,0x57,0x5b,0x5f,0x40,0x7f,0x00}, // Reverse invertion
................................
................................

Another place they have represent korean front as follows,
Code:
const unsigned char FONT_HAN[0x168][32] = {   
  {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
  {0x00, 0x04, 0x04, 0x04, 0xc4, 0xfc, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x0e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
  {0x00, 0x04, 0x04, 0xfc, 0xfc, 0x04, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x07, 0x18, 0x1f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
..................................
................................
Even they have also present each letter
Code:
const unsigned char WAN_TO_JO[0x92E][2] = {
    {0x88, 0x61},// 가
    {0x88, 0x62},// 각
    {0x88, 0x65},// 간
    {0x88, 0x68},// 갇
    {0x88, 0x69},// 갈
    {0x88, 0x6a},// 갉
    {0x88, 0x6b},// 갊
    {0x88, 0x71},// 감
    {0x88, 0x73},// 갑
    {0x88, 0x74},// 값
    {0x88, 0x75},// 갓
    {0x88, 0x76},// 갔
...............................
...............................

Kindly suggest me what to do things for chiness. Does Image count has particular meaning to display it?
Does chiness front also need ASCI II charecter ? My front C also includes ASCI II.
Figure out the difference between IMAGE and FRONT of constant unsigned charecter.
 
Top