bdf文件(中文点阵)中的encoding使用的是什么编码?

arethe 2007-09-10 04:39:23
我写了一个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;
}
==================================================
...全文
279 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,114

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧