一个困扰很久的问题,求解。
在 Windows 下,两个等款英文字符的宽度和一个中文字符的宽度是一致的。
但是在 OS X 下,许多富文本编辑器,例如 IntelliJ IDEA,Atom,甚至 Google Chrome 里,一个中文字符往往小于两个等宽英文字符的宽度,对不齐很看着很不舒服,特别是要完美排版一下 Markdown 表格的时候。目前发现明确能做到对齐的,只有在 Terminal 和 MacVim 里,当然这两者机制是非常规的,不具备通用性。
测试了一下,Consolas 12 号字体,混合中英文排版的纯文本(文本见下方链接):
- 在 Windows 的 Notepad 里,是等宽的。
- 在 OS X 的 OneNote 里,却不是等宽的。
粗看起来,可能是 OS X 下是因为英文字体和中文字体并不是同一种,字体宽度没调教成统一的。然后如果用上自带 Unicode 字符的等宽字体,比如 M+ 系列字体,就能对齐了。
测试页面与内容: https://gist.githubusercontent.com/gaomd/f3716b8630d1a74a8c59/raw/
这个页面在 Chorme 里渲染是等宽字体的,但是在 OS X 下的 Chrome 里打开,中英文却没有对齐。