如何确定非等宽字体的制表符宽度(以像素为单位)?

时间:2019-04-09 13:38:53

标签: text-rendering

我正在为我的游戏开发类似于 FreeType 的文本渲染器库。我不知道如何确定标签的宽度。

在处理控制字符时,我发现一个问题,那就是我的文本渲染器不仅适用于等宽字体,而且还适用于非等宽字体。我知道对于等宽字体,制表符对齐的宽度可以为4或8个空格,具体取决于文本渲染器( AFAIK ,大​​多数编程IDE将制表符设置为4个空格;对于创建表,软件通常将制表符设置为8个空格)。但是对于非等宽字体,我应该使用哪个值?

1 个答案:

答案 0 :(得分:0)

观看了很多IDE处理非等宽字体的行为后,我找到了答案:

使用空格字符('\ x20')的宽度作为标签宽度的单位,默认情况下,标签宽度应为 4个空格

我还为用户提供了一个选择,以便确定如何对齐字符(非等宽字体),一种方法是正常对齐字符,因为我们看到了其他程序( (例如Microsoft Word,Chrome等)对齐非等宽字体文本,另一种是通过固定每个字符的宽度值来强制对齐字符为等距样式。通过扫描所有字母,数字和标点确定,并为其找到最大值。对于全角字符,我只是让宽度值x 2。

相关问题