2017-02-14 13 views
3
private void button1_Click(object sender, EventArgs e) 
    { 

     string str = "අම්මා"; 
     byte[] utf8Bytes = Encoding.UTF8.GetBytes(str); 
     String productLine = Encoding.UTF8.GetString(utf8Bytes); 

     PrintDocument p = new PrintDocument(); 

     p.PrintPage += delegate(object sender1, PrintPageEventArgs e1) 
     { 
      e1.Graphics.DrawString(productLine, new Font("Iskoola Pota", 18), new SolidBrush(Color.Black), new RectangleF(0, 0, p.DefaultPageSettings.PrintableArea.Width, p.DefaultPageSettings.PrintableArea.Height)); 

     }; 
     try 
     { 
      p.Print(); 
     } 
     catch (Exception ex) 
     { 
      throw new Exception("Exception Occured While Printing", ex); 
     } 
    } 

問題をレンダリングC#シンハラ語のUnicodeフォントで印刷Unicodeフォントに。"Iskoola Pota"はUnicodeのフォントこのコードは動作しますが、私のテキストは<strong>ある「අම්මා」</strong>が、それはそれはのように正しい方法を示して私を助けてください、このよう<strong>අ්මමා」</strong>として表示

+0

の使用TextRenderer.DrawTextあなたが直接 'str'を使用しようとしたことがありますか?あなたがした場合、結果は何ですか? – Fildor

+0

UTF8エンコードなし同じ出力අ්මමා –

+0

おそらくこれが役立つ可能性があります:http://stackoverflow.com/q/6198744/982149 – Fildor

答えて

0

UTF-8はソースコードで宣言したときにユニコードです。あなたの場合、短いボーカルを削除するための発音記号は変換中に失われます。悪いことが起こる可能性があります。例えばUnicode Conversion in c#

なぜUTF-8経由で進むのですか?何についての簡単なまた

e1.Graphics.DrawString(str, ... 

:あなたは「学校ブック」フォントがOKであることを確認しなかった、すなわちボーカルフリーメートルを表示することができම්、例えばWordでそのフォントを使用してですか?

0

代わりGraphics.DrawString

TextRenderer.DrawText(e1.Graphics, "අම්මා", font, rectangle, Color.Black); 
関連する問題

 関連する問題