我正在尝试绘制文本,其中包含来自“Combining Diacritical Marcs”unicode子范围(U + 0300 - U + FE23)的符号。例如,我试图绘制字符串“T̅”,其中包含两个字符:'T'和'\ u0305'。
我知道了:
有没有办法获得正确的文字?
另外:我也需要绘制旋转的文字。
PS:我的代码:
private void Form1_Paint(object sender, PaintEventArgs e) {
Graphics g = e.Graphics;
Font fontTahoma = new Font("Tahoma", 16);
Font fontTimesNewRom = new Font("Times New Romulan", 16);
Font fontArial = new Font("Arial", 16);
Brush brush = new SolidBrush(Color.Red);
g.DrawString("Test1 T̅ T\u0305", fontTahoma, brush, new PointF(20, 20));
g.DrawString("Test1 T̅ T\u0305", fontTimesNewRom, brush, new PointF(20, 40));
g.DrawString("Test1 T̅ N\u0305", fontArial, brush, new PointF(20, 60));
}
答案 0 :(得分:2)
TextRenderer似乎更好地绘制它:
TextRenderer.DrawText(g, "Test1 T̅ T\u0305", fontTahoma,
new Point(120, 20), Color.Black);