ipconfig
在 CMD 中输出:
ipconfig
PowerShell 中的输出:
ipconfig
Git Bash 中的输出:
请注意,无论使用哪种字体系列,中英文字符的宽度始终为 1:2,因此,点是对齐的。
我对此感到惊讶,因为在普通的文本编辑器中,例如 VSCode,输出将如下所示(字体系列是 Consolas,它是等宽的):
如您所见,这些点没有对齐,并且与上面列出的终端不同,您必须找到一些特殊的字体系列(例如Sarasa Gothic)才能使宽度比为 1:2。
那么,我的问题是,这些 Windows 终端如何使中英文字符的宽度为 1:2,而不考虑字体系列?我们可以在文本编辑器中实现这一点吗?
大多数编码风格的终端或代码文本编辑器在文字 X/Y 网格中显示字符,并完全忽略字体间距。但是,大多数“通用”文本编辑器仅使用字体中定义的字形宽度来确定放置下一个字符的位置。
显然,功能取决于编辑器本身,但等宽字体用于在任何文本编辑器中对齐字符。例如,VS Code 默认使用等宽字体(设置 > 文本编辑器 > 字体),因此通常会正确对齐。
不过,并非所有等宽字体都是平等的,不常见或宽字符可能是您通常期望像Consolas等等宽字体中的例外。您可以尝试将宽字符呈现为 2 个拉丁字符的字体,例如 Inconsolata。
也可以在编辑器中启用连字(连接字符),您可以在没有等宽连字字形的情况下遇到等宽字体。
这段对话说明了一切:
PS 虽然“Inconsolata”是解决这个对齐问题的好字体,但是我发现这个字体的英文字符对我来说有点太瘦了,所以我目前仍在使用“Consolas”。