These docs说:


  当前尚无方法可从SDL_ttf中检索一对字符的字距调整,但是,当呈现文本字符串而不是单个字形时,将应用正确的字距调整。


但是,我想先将所有字形渲染为一个Texture,然后将它们单独渲染出来,这样我就不会一直在重新创建纹理。

使用TTF_GlyphMetrics和朋友,我可以获取除字距调整以外的所有所需信息。

我不是字体方面的专家,但是this article解释字距调整的很好。据我了解,字距调整仅取决于两个相邻的字母,因此要获得整个字体的所有字距调整值,大约需要26个字母* 2(上/下)+〜10个符号,平方= 3844值=大约15 kB的数据,看起来足够小,可以缓存。

那么,如何获得每对字母的字距?如果他们在内部做,那一定是有可能的。

最佳答案

您检查过Kerning.js吗?有许多字距调整和字母特定的js解决方案可以手动调整字距调整,所以也许您可以这样看?
在Kerning.js中,我知道您可以为成对的字母或整个文本设置特定的字距。配对特别有趣,因为某些字符不应该具有相同的字距(例如VA-比IA字距低,从而使字符看起来更接近)。
我不知道是否有帮助,希望如此!

关于c# - 如何计算每对字母的字距?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17848712/

10-09 05:37