Windows终端如何让中英文字符宽度为1:2?

Windows终端如何让中英文字符宽度为1:2?

ipconfigCMD中输出:

在此处输入图片描述

ipconfigPowerShell 中的输出:

在此处输入图片描述

ipconfigGit Bash 中的输出:

在此处输入图片描述

注意,无论使用哪种字体系列,中文和英文字符的宽度始终是 1:2,因此,点对齐了

我对此感到惊讶,因为在普通的文本编辑器(例如 VSCode)中,输出将如下所示(字体系列是 Consolas,等宽字体):

在此处输入图片描述

如你看到的,点没有对齐,与上面列出的终端不同,你必须找到一些特殊的字体系列(例如萨拉萨哥特式),使宽度比为1:2。

我的问题是,这些 Windows 终端如何使中文和英文字符的宽度为 1:2,而不管字体系列如何?我们可以在文本编辑器中实现吗?

答案1

这些Windows终端如何使中文和英文字符的宽度为1:2,而不管字体系列如何?

大多数编码风格终端或代码文本编辑器以文字 X/Y 网格显示字符,并完全忽略字体间距。但是,大多数“通用”文本编辑器仅使用字体中定义的字形宽度来确定下一个字符的放置位置。

我们可以在文本编辑器中实现这一点吗?

显然,功能取决于编辑器本身,但是等宽字体字体用于对齐任何文本编辑器中的字符。例如,VS Code 默认使用等宽字体(设置 > 文本编辑器 > 字体),因此它通常对齐正确。

不过,并非所有等宽字体都是一样的,在通常认为是等宽的字体中,不常见的字符或宽字符可能是例外,例如康索拉。您可以尝试使用将宽字符呈现为 2 个拉丁字符的字体,例如 Inconsolata。

连字(连接字符)也可以在编辑器中启用,并且您可能会遇到没有等宽连字符号的等宽字体。

答案2

这次对话解释一切:

在此处输入图片描述

PS 虽然“Inconsolata”字体可以很好地解决对齐问题,但我发现这种字体的英文字符对我来说有点太细了,所以我目前仍在使用“Consolas”。

相关内容