最近再写一个c#的打印程序,需要设定字体为楷体,编译环境为win7,设置字体为楷体,打印正常。
float left = DrawString(e.Graphics, new PointF(50.8f, 69.2f), comboBox1.SelectedItem.ToString(), new Font("楷体", 16), new SolidBrush(Color.Black));//姓名
DrawString(e.Graphics, new PointF(130f, 57.2f), textBox1.Text.ToString(), new Font("楷体", 16), new SolidBrush(Color.Black));//年
DrawString(e.Graphics, new PointF(145f, 57.2f), textBox2.Text.ToString(), new Font("楷体", 16), new SolidBrush(Color.Black));//委
DrawString(e.Graphics, new PointF(165f, 57.2f), textBox3.Text.ToString(), new Font("楷体", 16), new SolidBrush(Color.Black));//号
当到客户端(win xp)测试时,发现打印出的字体经常不对,从word中看到字体是楷体_gb2312。但是在xp的font文件夹下看到的字体名为“楷体”,双击字体进去就变成了“楷体_gb2312”.查阅资料是win7字体已经改名,需要下载xp两种字体进行安装。明明都是微软的字体,居然偷偷改名了。
现在的解决办法是判断系统,如果版本号高于xp就按“楷体”低的就按“楷体_gb2312”