@
lianghai 虽然我对研究字体不感兴趣,但我想我还是找到原因了。
TM2 的默认字体是 Monaco, 这个字体的 LineHeight 参数是 16.
Mac 系统默认简体中文字体是 STHeitiSC-Light, 这个字体的 LineHeight 参数是 12.
你把系统的默认简体中文字体改为了 Hiragino Sans GB, 这个字体的 LineHeight 参数是 18.
字体参数对比如图:
http://cl.ly/Ccvz说到这,我想你已经明白了。:)
我给其他人总结下规律吧:
当你选择的系统默认简体中文字体的 LineHeight 参数比 TM2 的默认字体的 LineHeight 参数低的时候,中文字体的高度不会撑破 TM2 默认的行高,行高保持 TM2 默认的行高。这种情况不管是纯西文的行,纯中文的行,或是中西字符混杂的行,行高都一致。
当你选择的系统默认简体中文字体的 LineHeight 参数比 TM2 的默认字体的 LineHeight 参数高的时候,TM2 默认的行高就装不下了,因此混杂有中文字符的行高将增长为此中文字体对应的高度。
如果我想继续用 Hiragino Sans GB 作为系统默认的简体中文字体,又希望在 TM2 里 “不管是纯西文的行,纯中文的行,或是中西字符混杂的行,行高都一致”,怎样能做到呢?
改 TM2 的默认字体呗!(View - Font - Show Fonts)
如果我的猜想正确,你选择任何一个 LineHeight 参数比 Hiragino Sans GB 高的字体都行。
这是 Mac 系统对行高很自然的处理,并不只是 TM2。不觉得这里有什么问题。