自制漢字取模軟件,學(xué)嵌入式的要看
for (int j=0 ;j32;j+=2)
{
// char 轉(zhuǎn)換成二進(jìn)制輸出
for(int t = 7;t>=0;t--)
{
if((data[j]>>t)1)
printf("%d ",(data[j]>>t)1);
else
printf(" ",(data[j]>>t)1);
}
for(int t = 7;t>=0;t--)
{
if((data[j+1]>>t)1)
printf("%d ",(data[j+1]>>t)1);
else
printf(" ",(data[j+1]>>t)1);
}
coutendl;
}
}
getchar();
}
//返回點(diǎn)陣數(shù)組
void getCode(unsigned char str[],unsigned char data[]){
char font_file_name[] = "HZK16"; // 點(diǎn)陣字庫文件名
int font_width = 16; // 單字寬度
int font_height = 16; // 單字高度
int start_offset = 0; // 偏移
long offset;
FILE *fp;
fp = fopen(font_file_name, "rb");
int offset_size = font_width * font_height / 8;
int string_size = font_width * font_height;
int i=0;
if (str[i] > 160)
{
// 先求區(qū)位碼,然后再計(jì)算其在區(qū)位碼二維表中的位置,進(jìn)而得出此字符在文件中的偏移
offset = ((str[i] - 0xa1) * 94 + str[i+1] - 0xa1) * offset_size;
i++;
}
else
{
offset = (str[i] + 156 - 1) * offset_size;
}
// 讀取其點(diǎn)陣數(shù)據(jù)
fseek(fp, start_offset + offset, SEEK_SET);
fread(data,sizeof(char), offset_size,fp);
fclose(fp);
}
評(píng)論