ipconfig
CMD中输出:
ipconfig
PowerShell 中的输出:
ipconfig
Git Bash 中的输出:
注意,无论使用哪种字体系列,中文和英文字符的宽度始终是 1:2,因此,点对齐了。
我对此感到惊讶,因为在普通的文本编辑器(例如 VSCode)中,输出将如下所示(字体系列是 Consolas,等宽字体):
如你看到的,点没有对齐,与上面列出的终端不同,你必须找到一些特殊的字体系列(例如萨拉萨哥特式),使宽度比为1:2。
我的问题是,这些 Windows 终端如何使中文和英文字符的宽度为 1:2,而不管字体系列如何?我们可以在文本编辑器中实现吗?
答案1
这些Windows终端如何使中文和英文字符的宽度为1:2,而不管字体系列如何?
大多数编码风格终端或代码文本编辑器以文字 X/Y 网格显示字符,并完全忽略字体间距。但是,大多数“通用”文本编辑器仅使用字体中定义的字形宽度来确定下一个字符的放置位置。
我们可以在文本编辑器中实现这一点吗?
显然,功能取决于编辑器本身,但是等宽字体字体用于对齐任何文本编辑器中的字符。例如,VS Code 默认使用等宽字体(设置 > 文本编辑器 > 字体),因此它通常对齐正确。
不过,并非所有等宽字体都是一样的,在通常认为是等宽的字体中,不常见的字符或宽字符可能是例外,例如康索拉。您可以尝试使用将宽字符呈现为 2 个拉丁字符的字体,例如 Inconsolata。
连字(连接字符)也可以在编辑器中启用,并且您可能会遇到没有等宽连字符号的等宽字体。