DrawString 中是否有任何其他属性或参数来解决此问题。我有一个带有许多零宽度字符的希伯来字体,因此两个字符应该呈现在同一个位置。
此示例显示左侧的 .NET 问题,右侧应为:
http://hebrewresources.com/html5/images/rendering_issue.png
Word 和 Visual Studio 文本框的呈现方式相同,但在 SumTotal'sToolbook 中,它可以正确呈现。
这实际上是 15 年前的一种非常古老的真字体,甚至不是从右到左的字体。我可能会切换到更新的字体,但是我必须编写一个程序来重新映射每个字符和元音。
objGraphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
objGraphics.DrawString(text, objFont, Brushes.Black, border / 2, border / 2);