タイ語をレンダリングできるビットマップフォントを作成しようとしています(とりわけ)。文字セットを取得しましたが、多くの文字は「結合文字」コードポイントです。Graphics.DrawString を使用して文字のビットマップを取得しています。これは、ラテン語、キリル文字、ベトナム語などでうまくいきました。
ただし、選択された結合文字をレンダリングすると、Windows .Net は次のように結合文字の下に点線の円をレンダリングします。
それらの円を削除する方法はありますか? (いつも同じ場所にあるとは限りません)
これは私が今使っているコードです:
string face = "Arial";
Font chosenFont = new Font(face, GetFontSize(), fontStyle));
string str = " " + Char.ConvertFromUtf32(c) + " ";
UnsafeBitmap32 bmp = new UnsafeBitmap32(width, height);
Graphics gfx = Graphics.FromImage(bmp.Bitmap);
gfx.FillRectangle(Brushes.Black, 0, 0, width, height);
gfx.DrawString(str, chosenFont, Brushes.White, posX, posY);