#include <stdio.h>
int getbit(unsigned char ch,int n);
void Playstring(char *s,int x,int y,int col,int m);
int main(int argc, char **argv)
{
char *s1="白";
Playstring(s1,80,200,4,0);
return 0;
}
void Playstring(char *s,int x,int y,int col,int m)
{
unsigned int num,qh,wh,flag=0;
FILE *fp;
int record,i,j,k;
unsigned long offet;
char mat[32];
qh = 0;
if((fp=fopen("Hzk16","rb"))==0)
{
printf("/n/n/t/tcannot for hzk16/n");
return;
}
while((num=*s++)!=0)
{
printf("num = %x/n",num);
if(num>0xa1)
{
if(flag==0)
{
qh=(num-0xa1)&0x7f;
flag=1;
}
else
{
wh=(num-0xa1)&0x7f;
flag=0;
record=qh*94+wh;
offet=record*32L;
printf("record=[%d],offet=[%lx]/n",record,offet);
fseek(fp,offet,SEEK_SET);
fread(mat,32,1,fp);
for(i=0;i<16;i++)
{
printf("/n");
for(j=0;j<2;j++)
for(k=0;k<8;k++)
if(getbit(mat[i*2+j],7-k))
printf("*");
else
printf(" ");
}
x=x+16+m;
}
}
printf("/n");
}
fclose(fp);
}
int getbit(unsigned char ch,int n)
{
return((ch>>n)&0x01);
}