奇葩的微软雅黑字体:一个TAB占多少个字符的宽度?

陪她去流浪 桃子 2015年05月01日 编辑 阅读次数:2752

今天编码的时候突然发现一个自己觉得蛮奇葩的问题:一个TAB可以容纳不定长度的微软雅黑字体字符!

这简直颠覆了我对传统的认识:一个TAB占8个ASCII字符宽,占4个汉字宽等等。这一度让我反思,是不是一直以来,我对`TAB占ASCII的8个字符宽`的理解就是错误的?

来看一张截图:表示多少个字符占据一个TAB的宽度。

记事本的字体设置(我已经换了!)

是不是有点那么一丁点一丁点匪夷所思?

下面这段文字是上面截图所使用的,font-family设置成`Consolas`(系统没有此字体就不是)了。

看看是有多乱!Consolas在Ubuntu上面的显示效果非常好(而且有中文字库,而且还是Sans-Serif,相当不错)!

123456789	<--- 9   个数字
                	<--- 16 个空格
aaaaaaaaa	<--- 9   个小写字母a
AAAAAAAA	<--- 8   个大写字母A
iiiiiiiiiiiiiiiiiiii	<--- 20 个小写字母i
-----------	<--- 11 个减号
=======	<--- 7   个等号
````````````````	<--- 16 个反引号
@@@@@	<--- 5   个@字符
%%%%%%	<--- 6   个美元符号
(((((((((((((((	<--- 15 个左小括号
|||||||||||||||||||	<--- 19 个竖线
??????????	<--- 10 个问号
我我我我我	<--- 5   个我
………………	<--- 3   个省略号

先就记录这么点,有空Google下一个TAB是如何计算宽度的 :-)

标签:字体 · 吐槽