bdf文件(中文点阵)中的encoding使用的是什么编码?
我写了一个fnt到bdf格式的转换程序,但encoding字段总是配不对,下面是一段转换的代码,请高手帮忙看看。
==================================================
for(ln=0;ln<94;ln++)
for(col=0;col<94;col++)
{
offset=(ln*94+col)*32;
chs[ln*94+col].series=ln*100+col;
for(i=0;i<32;i++)
{
chs[ln*94+col].data[i]=getByte(offset+i);
}
}
bdfname=name.substr(0,name.length()-4)+".bdf";
bdfFile.open(bdfname.c_str());
bdfFile<<"STARTFONT "<<"2.1"<<endl;
bdfFile<<"COMMENT "<<"This is converted from "<<name<<endl;;
bdfFile<<"FONT "<<fontname<<endl;
bdfFile<<"SIZE "<<"12"<<" "<<"75 "<<"75"<<endl;
bdfFile<<"FONTBOUNDINGBOX "<<16<<" "<<16<<" "<<-2<<" "<<-6<<endl;
bdfFile<<"STARTPROPERTIES "<<15<<endl;
bdfFile<<"FONT_NAME "<<"\""<<fontname<<"\""<<endl;
bdfFile<<"FAMILY_NAME "<<"\""<<fontname<<"\""<<endl;
bdfFile<<"FOUNDRY "<<"\"arethe\""<<endl;
bdfFile<<"SEWINDTH_NAME "<<"\"Normal\""<<endl;
bdfFile<<"ADD_STYLE_NAME "<<"\"\""<<endl;
bdfFile<<"PIXEL_SIZE "<<16<<endl;
bdfFile<<"POINT_SIZE "<<12<<endl;
bdfFile<<"RESOLUTION_X "<<75<<endl;
bdfFile<<"RESOLUTION_Y "<<75<<endl;
bdfFile<<"RESOLUTION "<<75<<endl;
bdfFile<<"SPACING "<<"\"m\""<<endl;
bdfFile<<"FONT_ASCENT "<<12<<endl;
bdfFile<<"FONT_DESCENT "<<3<<endl;
bdfFile<<"CHARSET_REGISTRY "<<"\"ISO10646\""<<endl;
bdfFile<<"CHARSET_ENCODING "<<"\"0\""<<endl; /*字符集编号*/
bdfFile<<"ENDPROPERTIES"<<endl;
bdfFile<<"CHARS "<<94*94<<endl;
for(i=0;i<94*94;i++)
{
encoding=chs[i].series;
bdfFile<<"STARTCHAR "<<"U_"<<tohex(encoding)<<endl;
bdfFile<<"ENCODING "<<encoding<<endl;
bdfFile<<"SWIDTH "<<960<<" "<<0<<endl;
bdfFile<<"DWIDTH "<<16<<" "<<0<<endl;
bdfFile<<"BBX "<<16<<" "<<16<<" "<<-2<<" "<<-6<<endl;
bdfFile<<"BITMAP"<<endl;
for(col=0;col<32;col=col+2)
bdfFile<<tohex2(chs[i].data[col])<<tohex2(chs[i].data[col+1])<<endl;
bdfFile<<"ENDCHAR"<<endl;
}
bdfFile<<"ENDFONT"<<endl;
return chs;
}
==================================================