大学生
最后登录1970-1-1
在线时间 小时
注册时间2014-10-7
|
我在电脑上模拟了一次从字库读取数据 然后将汉字显示出来的实验
#include <stdio.h>
#include <stdlib.h>
void Pr(unsigned char *p)
{
unsigned short temp;
unsigned char i,j;
for(i=0;i<16;i++)
{
temp=p[i*2];
temp<<=8;
temp|=p[i*2+1];
for(j=0;j<16;j++)
{
if(temp&0x8000)
printf("#");
else
printf(" ");
temp<<=1;
}
printf("\n");
}
}
void Decode(unsigned char *p)
{
unsigned char buff[32];
unsigned char High=*p;
unsigned char Low=*(p+1);
unsigned int pos=(High-0xb0)*94+(Low-0xa1)*32;
FILE *f;
f=fopen("Font.bin","r");
if(f!=NULL)
{
fseek(f,pos,0);
fread(buff,32,1,f);
fclose(f);
Pr(buff);
}
else
printf("ERROR!");
}
void Print(unsigned char *buff)
{
while(*buff)
{
Decode(buff);
buff+=2;
}
}
int main()
{
// unsigned char *p="打";
// unsigned short qw=*p;
// qw<<=8;
// qw|=*(p+1);
// printf("%0x,%d\n",qw,qw);
// Print("昂");
// Print("不");
Decode("啊");
Decode("暗");
Decode("捕");
while(1);
return 0;
}
结果好像拼音 是 a开头的字都能显示正确 其他字母开头的字不是乱码就是显示其他字. 可是移植在开发板上却没问题.这是为什么?
|
|