簡體   English   中英

如何使用C#graphics.DrawString繪制unicode字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM