Winform字符间距

时间:2011-07-22 11:00:04

标签: c# winforms kerning

我正在尝试使用Graphics.DrawString和TextRenderer.DrawText在固定矩形上放置一些字符可变的字符串。

然而,即使使用GDI +包装方法,我也不满意结果:我需要控制字体字距(或字符串字符间距),以便有机会打包大量的字符串。

我读到了关于FontStretches但我不知道如何在winform中使用。另一种方法是Typography.SetKerning但我再次使用它是空白的。

有人可以帮忙吗?!

第二轮: 我知道它可能很难,Win32 API有一个freetype支持,可能是问题的解决方案。 实际上我的目标是在.NET中执行类似于“http://stackoverflow.com/questions/4582545/kerning-problems-when-drawing-text-character-by-character”的操作。请注意,我正在处理预先形成的阿拉伯语字符串,而不是用户字符输入。 我的问题是: (1)确定哪个库具有所需的字距调整功能(最可能是gdi32.dll),(2)构建一个c#安全环境来处理dll调用,(3)实现对在c#中工作的dll的调用。

有人可以帮忙吗?

感谢您的回答。

1 个答案:

答案 0 :(得分:0)

如果您查看documentation,很容易找出哪些内容以及如何使用它。

方法Typography.SetKerning是一个仅限WPF的东西,所以你将无法在WinForms中使用它。

Google快速找到this文章,其中向我们展示了如何将字距调整值修改为GDI文本。