Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何计算每对字母的字距?_C#_C_Fonts_Kerning_Sdl Ttf - Fatal编程技术网

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

C# 如何计算每对字母的字距?,c#,c,fonts,kerning,sdl-ttf,C#,C,Fonts,Kerning,Sdl Ttf,说: 目前还没有从SDL_ttf检索一对字符的紧排的方法,但是当呈现一个文本字符串而不是单个glyph时,将应用正确的紧排 但是,我想先将所有glyph渲染到一个纹理,然后分别渲染它们,这样我就不会一直在重新创建纹理 使用TTF\u和朋友,我可以获得除紧排之外的所有信息 我不是字体方面的专家,但对字距的解释相当好。据我所知,字距调整只取决于两个相邻的字母,因此要获得整个字体的所有字距调整值,需要大约26个字母*2(上/下)+~10个符号,平方=3844个值=大约15KB的数据,这似乎足够小,可以

说:

目前还没有从SDL_ttf检索一对字符的紧排的方法,但是当呈现一个文本字符串而不是单个glyph时,将应用正确的紧排

但是,我想先将所有glyph渲染到一个纹理,然后分别渲染它们,这样我就不会一直在重新创建纹理

使用
TTF\u
和朋友,我可以获得除紧排之外的所有信息

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


那么,如何获得每对字母的字距呢?如果他们是在内部执行此操作,则必须是可能的。

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

可能比你预期的要多。ASCII大约有100个可打印字符,大多数字体有更多字符。不过,在现代计算机上,即使是100万对大小相当于一个字节的字符对,似乎也没什么大不了的。@ugoren:我不确定我会写出所有可打印的字符,只是那些可能会用到的字符。也许可以配置,但我不认为这对我有帮助。字距数据在哪里?您设置了字距数据,如果您没有手动设置,我不知道如何检索它。通常人们希望设置字距,而不是获取默认字距的值,所以我不知道。但是再一次,如果你手动设置紧排,你会得到准确的值。对,我的问题是关于获取数据。我当然不会为我想要使用的每种字体计算3844+字形对的像素数。