[英]How to draw unicode string using C# graphics.DrawString
我正在尝试使用.NET框架提供的PrintDocument将khmer脚本(unicode)字符串发送到打印机。
不幸的是,在我看来,Graphics.DrawString()没有正确呈现高棉脚本。
平台:Windows 7旗舰版
IDE:VS 2010旗舰版
以下是示例代码:
void printDoc_PrintPage(object sender, PrintPageEventArgs e)
{
var font = new Font("Khmer UI", 12);
var text = "សួស្តី"; // "Hello"
e.Graphics.DrawString(text, font, Brushes.Black, 100, 100);
}
曼,
我在Form_Paint()
处理程序上测试了你的代码,我得到了你所说的。
但是当我使用它时:
TextRenderer.DrawText(e.Graphics, text, font, new Point(100, 100), Color.Black);
它以你想要的方式给了我文本。
在printDoc_PrintPage()
上尝试一下。
感谢Albin和Beemer的积极响应。
在c#google group中发帖几篇。 已经确认GDI +中存在一个错误,即错误地将某些脚本(在本例中为“高棉”)显示为不同的措辞。
创建了一个本机win32测试应用程序来验证GDI + DrawString()的问题。
已向Microsoft Connect提交错误报告: http : //connect.microsoft.com/VisualStudio/feedback/details/620081/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.