字庫

要在屏幕上顯示文字,其實(shí)就是在二維點(diǎn)陣上,用一個個點(diǎn)來組成文字。描繪的點(diǎn)的形狀不同可以形成不同的字體。

企業(yè)微信截圖_15779320988763.png

上圖中,顯示一個“A”用的是16x16的點(diǎn)陣,被畫到的點(diǎn)用1表示,未被畫到的點(diǎn)用0表示。第一行沒有畫到點(diǎn),所以是“00000000,00000000”(二進(jìn)制)=“0x00,0x00,(十六進(jìn)制)”,第二行和第三行同理。第四行是“00000001,11000000”==“0x01,0xC0”。以此類推可以得到如下“A”的字模編碼。

//A
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x03,0xC0,0x02,0xE0,0x06,0x60,0x04,0x70,
0x0C,0x30,0x0F,0xF8,0x18,0x38,0x10,0x1C,0x30,0x1C,0xFC,0x3F,0x00,0x00,0x00,0x00,

我們按照ASCII碼表里的排列順序,依次提取它們的字模編碼。這樣做的好處是,我們可以用該字符的ASCII碼值算出它在字庫里的偏移位置。
offset = (ASCII碼 - 32) x 32;
-32表示字庫的第一個字符' '的ASCII碼為32,
x32表示每個字符在字庫數(shù)組里占用32個字節(jié)

e850352ac65c103880a07b53bc119313b17e8941@wm_1,g_7,k_d2F0ZXIvYmFpa2UxMTY=,xp_5,yp_5.jpg
unsigned char ezkdata[] ={ 

//' '
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,0x00,0x00,0x00,0x01,0x00,0x03,0xC0,0x03,0xC0,0x03,0x80,0x01,0x80,0x01,0x80,
0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,

//"
0x00,0x00,0x03,0x98,0x07,0xB8,0x0E,0x70,0x18,0xC0,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,0x18,0x04,0x18,0x3F,0xFE,0x7F,0xFE,0x0C,0x18,
0x0C,0x18,0x0C,0x10,0x7F,0xFE,0x3F,0xFE,0x18,0x30,0x18,0x30,0x00,0x00,0x00,0x00,

//$
0x00,0x00,0x00,0x00,0x01,0x80,0x07,0xF0,0x19,0xB8,0x19,0xB8,0x1F,0x80,0x0F,0x80,
0x03,0xE0,0x01,0xF8,0x19,0x98,0x3D,0x9C,0x19,0x98,0x0F,0xE0,0x01,0x80,0x00,0x80,

//%
0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x18,0x66,0x10,0xE7,0x20,0xE6,0x40,0x66,0xC0,
0x3D,0xBC,0x03,0x66,0x02,0xE6,0x04,0xE6,0x08,0x66,0x18,0x3C,0x00,0x00,0x00,0x00,

//&
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x18,0xC0,0x18,0xC0,0x19,0x80,0x1F,0x3C,
0x3E,0x3C,0x66,0x10,0xE3,0xB0,0xE1,0xE0,0x70,0xF1,0x3F,0xBE,0x00,0x00,0x00,0x00,

//'
0x00,0x00,0x1C,0x00,0x1E,0x00,0x0C,0x00,0x38,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,0x06,0x00,0x18,0x00,0x30,0x00,0xE0,0x00,0xC0,0x01,0xC0,0x01,0x80,
0x01,0x80,0x01,0x80,0x01,0xC0,0x00,0xC0,0x00,0x60,0x00,0x30,0x00,0x0C,0x00,0x04,

//)
0x00,0x00,0x60,0x00,0x18,0x00,0x0C,0x00,0x06,0x00,0x03,0x00,0x03,0x80,0x01,0x80,
0x01,0x80,0x01,0x80,0x03,0x80,0x03,0x00,0x06,0x00,0x0C,0x00,0x30,0x00,0x20,0x00,

//*
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0xC0,0x79,0x9E,0x3F,0xFC,
0x07,0xF0,0x7D,0xBE,0x31,0x8E,0x01,0xC0,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,

//+
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x3F,0xFE,
0x3F,0xFE,0x01,0x80,0x01,0x80,0x01,0x80,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,0x08,0x00,0x3C,0x00,0x1E,0x00,0x0C,0x00,0x38,0x00,

//-
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,
0x3F,0xFE,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,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,

///
0x00,0x00,0x00,0x02,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x60,0x00,0xC0,
0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x00,0x00,

//0
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x1C,0x38,0x38,0x1C,0x38,0x1C,0x78,0x1E,
0x78,0x1E,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x1C,0x38,0x07,0xE0,0x00,0x00,0x00,0x00,

//1
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x0F,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x1F,0xF8,0x00,0x00,0x00,0x00,

//2
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x18,0x18,0x38,0x1C,0x38,0x1C,0x00,0x38,
0x00,0x70,0x01,0xC0,0x07,0x00,0x0C,0x04,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00,

//3
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x38,0x38,0x38,0x18,0x00,0x38,0x03,0xF0,
0x03,0xF0,0x00,0x18,0x00,0x1C,0x38,0x1C,0x38,0x18,0x1F,0xF0,0x00,0x00,0x00,0x00,

//4
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0xF0,0x01,0xF0,0x02,0x70,0x0C,0x70,
0x18,0x70,0x30,0x70,0x3F,0xFE,0x00,0x70,0x00,0x70,0x03,0xFE,0x00,0x00,0x00,0x00,

//5
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x18,0x00,0x18,0x00,0x18,0xC0,0x1F,0xF8,
0x18,0x1C,0x00,0x1C,0x10,0x1C,0x38,0x1C,0x38,0x18,0x0F,0xF0,0x00,0x00,0x00,0x00,

//6
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF8,0x0C,0x38,0x18,0x10,0x38,0x00,0x3F,0xF8,
0x7C,0x1C,0x78,0x0C,0x38,0x0E,0x38,0x0C,0x1C,0x18,0x0F,0xF0,0x00,0x00,0x00,0x00,

//7
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFE,0x38,0x0C,0x30,0x10,0x00,0x30,0x00,0x60,
0x00,0xC0,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,

//8
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x38,0x1C,0x30,0x0C,0x3C,0x1C,0x1F,0xF0,
0x0F,0xF0,0x38,0x78,0x70,0x1C,0x70,0x0C,0x38,0x18,0x0F,0xF0,0x00,0x00,0x00,0x00,

//9
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x38,0x18,0x30,0x1C,0x70,0x1C,0x70,0x1C,
0x38,0x3C,0x1F,0xDC,0x00,0x1C,0x18,0x38,0x3C,0x70,0x1F,0xE0,0x00,0x00,0x00,0x00,

//:
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0xC0,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0x80,0x00,0x00,0x00,0x00,

//;
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x03,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x01,0x80,0x01,0x00,

//<
0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x1C,0x00,0x70,0x01,0xC0,0x07,0x00,0x1C,0x00,
0x38,0x00,0x0E,0x00,0x03,0x80,0x00,0xE0,0x00,0x38,0x00,0x0C,0x00,0x00,0x00,0x00,

//=
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x00,0x00,
0x00,0x00,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

//>
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x06,0x00,0x01,0xC0,0x00,0x70,0x00,0x1C,
0x00,0x0C,0x00,0x38,0x00,0xE0,0x03,0x80,0x0C,0x00,0x10,0x00,0x00,0x00,0x00,0x00,

//?
0x00,0x00,0x00,0x00,0x01,0x80,0x0F,0xF8,0x30,0x1C,0x38,0x0E,0x38,0x1C,0x00,0x78,
0x00,0xE0,0x01,0x80,0x01,0x80,0x01,0x00,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,

//@
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF8,0x1C,0x0C,0x31,0xFE,0x33,0x36,0x76,0x32,
0x76,0x36,0x76,0x76,0x36,0xFC,0x33,0xBA,0x1C,0x0C,0x07,0xF0,0x00,0x00,0x00,0x00,

//A
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x03,0xC0,0x02,0xE0,0x06,0x60,0x04,0x70,
0x0C,0x30,0x0F,0xF8,0x18,0x38,0x10,0x1C,0x30,0x1C,0xFC,0x3F,0x00,0x00,0x00,0x00,

//B
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xF8,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x3F,0xF8,
0x3F,0xF8,0x38,0x0C,0x38,0x0E,0x38,0x0E,0x38,0x1C,0xFF,0xF8,0x00,0x00,0x00,0x00,

//C
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0x1C,0x06,0x38,0x02,0x70,0x00,0x70,0x00,
0x70,0x00,0x70,0x00,0x70,0x02,0x38,0x02,0x1C,0x0C,0x0F,0xF0,0x00,0x00,0x00,0x00,

//D
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xE0,0x38,0x38,0x38,0x1C,0x38,0x0E,0x38,0x0E,
0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1C,0x38,0x78,0x7F,0xE0,0x00,0x00,0x00,0x00,

//E
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFC,0x18,0x0E,0x18,0x02,0x18,0x10,0x1F,0xF0,
0x1F,0xF0,0x18,0x10,0x18,0x00,0x18,0x02,0x18,0x0E,0x7F,0xFC,0x00,0x00,0x00,0x00,

//F
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x18,0x06,0x18,0x00,0x18,0x18,0x18,0x38,
0x1F,0xF8,0x18,0x18,0x18,0x00,0x18,0x00,0x18,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,

//G
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF8,0x1C,0x18,0x38,0x0C,0x70,0x00,0x70,0x00,
0x70,0x00,0x70,0x7E,0x70,0x1C,0x38,0x1C,0x1C,0x1C,0x0F,0xF8,0x00,0x00,0x00,0x00,

//H
0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x3E,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,
0x3F,0xFC,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x7E,0x3E,0x00,0x00,0x00,0x00,

//I
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x1F,0xF8,0x00,0x00,0x00,0x00,

//J
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFE,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,
0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x30,0x60,0x78,0xC0,0x3F,0x80,

//K
0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x7C,0x38,0x30,0x38,0xE0,0x39,0x80,0x3B,0x80,
0x3D,0xC0,0x38,0xE0,0x38,0x60,0x38,0x30,0x38,0x18,0x7E,0x3E,0x00,0x00,0x00,0x00,

//L
0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x02,0x1C,0x06,0x7F,0xFC,0x00,0x00,0x00,0x00,

//M
0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x1E,0x38,0x1C,0x38,0x3C,0x3C,0x2C,0x2C,0x6C,
0x2E,0x4C,0x26,0xCC,0x26,0x8C,0x23,0x8C,0x23,0x0C,0xFB,0x3F,0x00,0x00,0x00,0x00,

//N
0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x1E,0x3C,0x0C,0x3E,0x0C,0x37,0x0C,0x33,0x8C,
0x31,0xCC,0x30,0xEC,0x30,0x7C,0x30,0x3C,0x30,0x1C,0xFC,0x0C,0x00,0x00,0x00,0x00,

//O
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x1C,0x18,0x38,0x0C,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x30,0x0E,0x38,0x0C,0x1C,0x18,0x07,0xF0,0x00,0x00,0x00,0x00,

//P
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xF8,0x18,0x1C,0x18,0x0E,0x18,0x0E,0x18,0x1C,
0x1F,0xF0,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,

//Q
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x18,0x18,0x38,0x0C,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x73,0x8E,0x3F,0xCC,0x1C,0x78,0x0F,0xF0,0x00,0x3C,0x00,0x08,

//R
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xF8,0x18,0x1C,0x18,0x1C,0x18,0x1C,0x18,0x78,
0x1F,0xE0,0x18,0xE0,0x18,0x70,0x18,0x30,0x18,0x18,0x7E,0x1F,0x00,0x00,0x00,0x00,

//S
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x30,0x18,0x30,0x08,0x38,0x00,0x1F,0x80,
0x03,0xF0,0x00,0x78,0x00,0x0C,0x20,0x0C,0x38,0x18,0x3F,0xF0,0x00,0x00,0x00,0x00,

//T
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFC,0x61,0x86,0x41,0x82,0x01,0x80,0x01,0x80,
0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x0F,0xF0,0x00,0x00,0x00,0x00,

//U
0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x1E,0x38,0x0C,0x38,0x0C,0x38,0x0C,0x38,0x0C,
0x38,0x0C,0x38,0x0C,0x38,0x0C,0x38,0x0C,0x18,0x18,0x0F,0xF0,0x00,0x00,0x00,0x00,

//V
0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x1E,0x38,0x08,0x1C,0x18,0x1C,0x10,0x0E,0x30,
0x0E,0x60,0x06,0x60,0x07,0x40,0x03,0xC0,0x03,0x80,0x01,0x00,0x00,0x00,0x00,0x00,

//W
0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0xCF,0x31,0xC6,0x31,0xC4,0x39,0xCC,0x19,0xC8,
0x1B,0xE8,0x1A,0x78,0x1E,0x70,0x0E,0x70,0x0C,0x70,0x0C,0x20,0x00,0x00,0x00,0x00,

//X
0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3E,0x0C,0x18,0x0E,0x30,0x07,0x60,0x03,0xC0,
0x01,0xC0,0x03,0xE0,0x06,0x70,0x0C,0x38,0x08,0x1C,0x7C,0x3F,0x00,0x00,0x00,0x00,

//Y
0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x3E,0x18,0x18,0x0C,0x10,0x0E,0x20,0x06,0x60,
0x03,0xC0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x0F,0xE0,0x00,0x00,0x00,0x00,

//Z
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x38,0x18,0x20,0x30,0x00,0x60,0x01,0xC0,
0x03,0x80,0x03,0x00,0x0E,0x00,0x1C,0x06,0x38,0x0C,0x7F,0xFC,0x00,0x00,0x00,0x00,

//[
0x00,0x00,0x03,0xFC,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0xFC,0x03,0xFC,

//'\'
0x00,0x00,0x00,0x00,0x10,0x00,0x18,0x00,0x0C,0x00,0x06,0x00,0x03,0x00,0x03,0x80,
0x01,0x80,0x00,0xC0,0x00,0x60,0x00,0x30,0x00,0x38,0x00,0x18,0x00,0x0C,0x00,0x06,

//]
0x00,0x00,0x1F,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,
0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x1F,0xC0,0x1F,0xC0,

//^
0x00,0x00,0x03,0xE0,0x0E,0x30,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,

//`
0x00,0x00,0x1F,0x00,0x03,0xC0,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,

//a
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x1C,0x70,
0x38,0x18,0x07,0xF8,0x3E,0x18,0x30,0x18,0x70,0x3B,0x1F,0xFE,0x00,0x00,0x00,0x00,

//b
0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x38,0x00,0x39,0xE0,0x3F,0xF8,
0x38,0x1C,0x38,0x0C,0x38,0x0C,0x38,0x0C,0x38,0x18,0x3F,0xF0,0x00,0x00,0x00,0x00,

//c
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0x38,
0x18,0x1C,0x38,0x00,0x38,0x00,0x38,0x04,0x1C,0x0C,0x0F,0xF0,0x00,0x00,0x00,0x00,

//d
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x18,0x00,0x18,0x03,0xD8,0x0E,0x78,
0x38,0x18,0x38,0x18,0x38,0x18,0x38,0x18,0x18,0x38,0x0F,0xFE,0x00,0x00,0x00,0x00,

//e
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0E,0x78,
0x18,0x1C,0x3F,0xFC,0x3F,0xFC,0x38,0x00,0x1C,0x08,0x0F,0xF0,0x00,0x00,0x00,0x00,

//f
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFE,0x03,0x0E,0x07,0x00,0x3F,0xF8,0x3F,0xF8,
0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x3F,0xF0,0x00,0x00,0x00,0x00,

//g
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xCE,0x1E,0x7E,
0x18,0x38,0x18,0x38,0x0F,0xF0,0x19,0x80,0x1F,0xF8,0x30,0x3C,0x30,0x0C,0x1F,0xF8,

//h
0x00,0x00,0x00,0x00,0x08,0x00,0x78,0x00,0x18,0x00,0x18,0x00,0x19,0xE0,0x1F,0xF8,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x7E,0x00,0x00,0x00,0x00,

//i
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x01,0xC0,0x00,0x00,0x0F,0x80,0x0F,0x80,
0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x1F,0xF8,0x00,0x00,0x00,0x00,

//j
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x01,0xF8,0x01,0xF8,
0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x18,0x30,0x1F,0xE0,

//k
0x00,0x00,0x00,0x00,0x08,0x00,0x38,0x00,0x18,0x00,0x18,0x00,0x18,0x7C,0x18,0x7C,
0x18,0xC0,0x1B,0x80,0x1E,0xC0,0x18,0x70,0x18,0x38,0x7E,0x7E,0x00,0x00,0x00,0x00,

//l
0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x1F,0xF8,0x00,0x00,0x00,0x00,

//m
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x38,0x7F,0xFE,
0x31,0x8E,0x31,0x8E,0x31,0x8E,0x31,0x8E,0x31,0x8E,0xFB,0xFF,0x00,0x00,0x00,0x00,

//n
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0xE0,0x7F,0xF8,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x7E,0x00,0x00,0x00,0x00,

//o
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x1E,0x78,
0x38,0x1C,0x30,0x0C,0x70,0x0E,0x30,0x0C,0x18,0x18,0x0F,0xF0,0x00,0x00,0x00,0x00,

//p
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0xE0,0x7F,0xF8,
0x18,0x0C,0x18,0x0E,0x18,0x0E,0x18,0x0C,0x1C,0x1C,0x1F,0xF0,0x18,0x00,0x7E,0x00,

//q
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC8,0x1E,0x78,
0x38,0x18,0x30,0x18,0x30,0x18,0x30,0x18,0x18,0x38,0x0F,0xF8,0x00,0x18,0x00,0x7E,

//r
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x3C,0x7E,0xFE,
0x0F,0x04,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x7F,0xE0,0x00,0x00,0x00,0x00,

//s
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE8,0x0E,0x78,
0x18,0x08,0x0F,0x80,0x03,0xF8,0x10,0x1C,0x18,0x0C,0x1F,0xF8,0x00,0x00,0x00,0x00,

//t
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x3F,0xF0,0x3F,0xF0,
0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x03,0x08,0x01,0xF0,0x00,0x00,0x00,0x00,

//u
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x38,0x78,0x38,
0x38,0x18,0x38,0x18,0x38,0x18,0x38,0x18,0x18,0x38,0x0F,0xDE,0x00,0x00,0x00,0x00,

//v
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3C,0x3E,0x3C,
0x0C,0x10,0x0E,0x30,0x06,0x60,0x03,0x40,0x03,0x80,0x01,0x80,0x00,0x00,0x00,0x00,

//w
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0xCF,0x7B,0xCF,
0x31,0xCC,0x39,0xCC,0x1B,0xF8,0x1E,0x70,0x0E,0x70,0x0C,0x20,0x00,0x00,0x00,0x00,

//x
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3C,0x3E,0x3C,
0x07,0x20,0x03,0xC0,0x01,0xC0,0x06,0x60,0x0C,0x38,0x7E,0x7E,0x00,0x00,0x00,0x00,

//y
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3E,0x3E,0x3E,
0x0C,0x18,0x06,0x30,0x07,0x60,0x03,0xC0,0x01,0xC0,0x01,0x80,0x11,0x00,0x3E,0x00,

//z
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x3F,0xF8,
0x30,0xE0,0x01,0xC0,0x03,0x80,0x06,0x04,0x1C,0x0C,0x3F,0xF8,0x00,0x00,0x00,0x00,

//{
0x00,0x00,0x00,0x3C,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xE0,
0x01,0xC0,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x30,0x00,0x18,

//|
0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,

//}
0x00,0x00,0x3C,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x03,0x00,
0x03,0x80,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,

//~
0x0E,0x00,0x3F,0x82,0x60,0xE6,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00


};

如果要顯示漢字,因?yàn)闈h字比較多,制作比較耗時間,可以調(diào)用現(xiàn)成網(wǎng)上制作好的HZK16字庫,HZK16字庫是符合GB2312標(biāo)準(zhǔn)的16×16點(diǎn)陣字庫。GB2312標(biāo)準(zhǔn)里將漢字和圖形符號排列在一個94行94列的二維代碼表中,每個漢字用兩個字節(jié)編碼,第一個字節(jié)叫區(qū)碼,第二個字節(jié)叫位碼,范圍為A1A1~FEFE。
漢字在HZK16中的偏移地址,
offset = (94x(區(qū)碼-0xA1)+(位碼-0xA1))x32。
x32表示每個字符占32個字節(jié)

企業(yè)微信截圖_20200102111800.png

zk.h

/************************************************* 
  Copyright (C), 2013-2019, Xmetc Tech. Co., Ltd. 
  File name:  zk.h  
  Author: cwy        
  Date: 2013-08-21 
  Description: 字庫模塊頭文件
*************************************************/ 
#ifndef __ZK_H__
#define __ZK_H__

//字庫數(shù)組
extern unsigned char hzkdata[282752]; //(6763+682)*32 HZK16的GB2312-80支持的漢字有6763個,符號682,有很多編碼空白區(qū)
extern unsigned char ezkdata[3040];   //(126-32+1)*32=3040

void disp_hchar(unsigned int x0,unsigned int y0,char str[],unsigned short frontcolor,unsigned short backcolor);
void disp_str(unsigned int x0,unsigned int y0,char str[],unsigned short frontcolor,unsigned short backcolor);
void disp_echar(unsigned int x0,unsigned int y0,char c,unsigned short frontcolor,unsigned short backcolor);
#endif

zk.c

/************************************************* 
  Copyright (C), 2013-2019, Xmetc Tech. Co., Ltd. 
  File name: zk.c   
  Author: cwy        
  Date: 2013-08-21 
  Description: 字符顯示模塊 
*************************************************/ 
#include "zk.h"
#include "lcd.h"
#include "timer4.h"
#include "uart.h"

/************************************************* 
  函數(shù)名稱:  void disp_hchar(unsigned int x0,unsigned int y0,char c[],unsigned short frontcolor,unsigned short backcolor)
  描述:      單個漢字顯示函數(shù)
  輸入?yún)?shù): (unsigned int x0,unsigned int y0,char c[],unsigned short frontcolor,unsigned short backcolor)                 
  返回值:    無       
  其他:      x0,y0表示漢字要顯示的起始位置       
*************************************************/ 
void disp_hchar(unsigned int x0,unsigned int y0,char str[],unsigned short frontcolor,unsigned short backcolor)
{
    unsigned int i,j;
    unsigned char *addr;
    unsigned short temp;
    addr = (unsigned char *)hzkdata + (str[0] - 0xa1)*94*32 + (str[1] - 0xa1)*32;
    
    for(i=0;i<32;i+=2)//控制每個漢字的第幾行字模 每次取兩個數(shù)組元素 共兩個字節(jié)大小
    {  
        temp = ((*(addr+i))<<8) | (*(addr+i+1));//取出一行的點(diǎn)陣
        for(j=0;j<16;j++)
        {
            if(temp&(1<<(15-j)))
            { 
                paint_pixel(x0+j,y0+(i/2),frontcolor);
            }
            else
            {
                if(backcolor != CLARITY)
                {
                    paint_pixel(x0+j,y0+(i/2),backcolor);
                }
                
            }
        
        }
    }

}


/************************************************* 
  函數(shù)名稱:  void disp_echar(unsigned int x0,unsigned int y0,char c,unsigned short frontcolor,unsigned short backcolor)
  描述:      單個英文顯示函數(shù)
  輸入?yún)?shù): (unsigned int x0,unsigned int y0,char c,unsigned short frontcolor,unsigned short backcolor)                 
  返回值:    無       
  其他:      x0,y0表示漢字要顯示的起始位置       
*************************************************/ 
void disp_echar(unsigned int x0,unsigned int y0,char c,unsigned short frontcolor,unsigned short backcolor)
{
    unsigned int i,j;
    unsigned char *addr;
    unsigned short temp;
    addr = (unsigned char *)(ezkdata + (c - 32)*32);//計算字符c在字庫中的相對地址,每個字符在字庫數(shù)組里占用32個字節(jié)
    
    for(i=0;i<32;i+=2)//控制每個英文字的第幾行字模 每次取兩個數(shù)組元素 共兩個字節(jié)大小
    {  
        temp = ((*(addr+i))<<8) | (*(addr+i+1));//取出一行的點(diǎn)陣
        for(j=0;j<16;j++)
        {
            if(temp&(1<<(15-j)))
            { paint_pixel(x0+j,y0+(i/2),frontcolor);}
            else
            { 
                if(backcolor != CLARITY)
                {
                    paint_pixel(x0+j,y0+(i/2),backcolor);
                }
            }
        
        }
    }

}




/************************************************* 
  函數(shù)名稱:  void disp_str(unsigned int x0,unsigned int y0,char c[],unsigned short frontcolor,unsigned short backcolor)
  描述:      字符串顯示函數(shù)
  輸入?yún)?shù): (unsigned int x0,unsigned int y0,char str[],unsigned short frontcolor,unsigned short backcolor)                 
  返回值:    無       
  其他:      x0,y0表示漢字要顯示的起始位置       
*************************************************/ 
void disp_str(unsigned int x0,unsigned int y0,char str[],unsigned short frontcolor,unsigned short backcolor)
{

    unsigned int m = x0;
    unsigned int n = y0;
    char *p = str;
    
    while( (*p) != '\0' )
    {
    
        if( (*p) > 127 )//漢字
        {
            disp_hchar(m,n,p,frontcolor,backcolor);
            //delay_timer4_1ms(100);
            p += 2;
        }
        
        else //英文
        {
            disp_echar(m,n,(*p),frontcolor,backcolor);
            //delay_timer4_1ms(100);
            p += 1;         
        
        }
        
        m = m +16;
        
        if( m > (239-15) )//滿行時換行
        {
            m=0;
            n = n + 16;
        }
        
        if( n > (319-15) )//滿屏?xí)r換屏
        {
            n=0;
            //lcd_clear_scr(0x0);
        }   
            
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容