私はいくつかのビットマップフォントに取り組んでいます。ここでの考え方は、2つのファイル(input.txtとfont.txt)が与えられるということです。input.txtから文字列を読み取り、font.txtの内容を使用して変換してから、対応する出力をoutput.txtという別のファイルに出力する必要があります。font.txtの各文字は、16x8のグリッドで表されます。
以下のように、単純な[rogramを実装して、単一のCharAを使用してビットマップに変換します。誰かが私がコードを減らすのを手伝ってくれませんか。
ありがとうございました。
int main()
{
unsigned int arr[]=
{
0x00,0x00,0x10,0x38,
0x6c,0xc6,0xc6,0xfe,
0xc6,0xc6,0xc6,0xc6,
0x00,0x00,0x00,0x00
};
int i,k,j;
int bin[8];
int c=7;
for(i=0;i<16;++i)
{
bin[0]=arr[i]>>7;
bin[1]=(arr[i]>>6)&1;
bin[2]=(arr[i]>>5)&1;
bin[3]=(arr[i]>>4)&1;
bin[4]=(arr[i]>>3)&1;
bin[5]=(arr[i]>>2)&1;
bin[6]=(arr[i]>>1)&1;
bin[7]=arr[i]&1;
k=0;
for(j=0;j<4;j++){
if(bin[k]==0 && bin[k+1]==0)
{
printf("..");
}
else if(bin[k]==0 && bin[k+1]==0)
{
printf(".C");
}
else if(bin[k]==0 && bin[k+1]==0)
{
printf("C.");
}
else
{
printf("AA");
}
k=k+2;
}
printf("\n");
}
}
出力:
........
........
..AA....
..AAAA..
AAAAAA..
AA..AAAA
AA..AAAA
AAAAAAAA
AA..AAAA
AA..AAAA
AA..AAAA
AA..AAAA
........
........
........
........