关于一个字符显示的问题
要显示俄语字符 “Калибровка ”第一字符 “К” 用字模3软件取的字模为
unsigned char code_10_EW[]=
{
/*------------------------------------------------------------------------------
; 若数据乱码,请检查字模格式设置,注意选择正确的取模方向和字节位顺序。
; 源文件 / 文字 : К
; 宽×高(像素): 21×21
; 字模格式/大小 : 单色点阵液晶字模,横向取模,字节正序/63字节
; 数据转换日期 : 27.02.2010 10:42:28
------------------------------------------------------------------------------*/
/*0x15,0x15,0x03,宽的像素数,高的像素数,宽的字节数,参数设置可选*/
0xFF,0x81,0xF0,0x3E,0x03,0xF0,0x1C,0x06,0x70,0x1C,0x04,0x00,0x1C,0x0C,0x00,0x1C,
0x08,0x00,0x1C,0x08,0x00,0x1C,0x10,0x00,0x1C,0x30,0x00,0x1C,0x60,0x00,0x1F,0xC0,
0x00,0x1C,0xE0,0x00,0x1C,0x70,0x00,0x1C,0x38,0x00,0x1C,0x1C,0x00,0x1C,0x1C,0x00,
0x1C,0x0E,0x00,0x1C,0x07,0x00,0x1C,0x03,0x80,0x3E,0x03,0xC0,0xFF,0x81,0xF8,
};
我的描点程序为:
void out2121(int x,int y,int color,unsigned char p[])/*24号普通字体*/
{
int i1,i2,i3;
for(i1=0;i1<21;i1++)
for(i2=0;i2<3;i2++)
for(i3=0;i3<8;i3++)
if((p[i1*2+i2]>>(7-i3))&0x01)
putpixel(x+i2*8+i3,y+i1,color);
}
num_displayEW(int x,int y,int num_color,char char_num)/*显示24号常规字体*/
{
switch(char_num)
{
case 'К':
out2121(x,y,num_color,code_10_EW);
break;
default:
break;
}
}
但是显出来的是乱码,不能正常显示
大家能帮我分析下吗?
还有就是那个for循环代表什么