如何计算每对字母的字距?

时间:2013-07-25 03:53:35

标签: c# c fonts kerning sdl-ttf

These docs说:

  

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

但是,我想先将所有字形呈现给纹理,然后单独渲染它们,这样我就不会一直重新创建纹理。

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

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

那么,我怎样才能得到每对字母的字距?如果他们在内部做这件事,那一定是可能的。

1 个答案:

答案 0 :(得分:0)

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