win7与xp 字体命名问题影响打印

来源:互联网 发布:小米卡刷会清除数据吗 编辑:程序博客网 时间:2024/04/29 14:45

         最近再写一个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”

原创粉丝点击