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.
В редакторе также можно включить лигатуры (объединенные символы), и вы можете столкнуться с моноширинными шрифтами без моноширинных лигатурных глифов.
решение2
Этот разговоробъясняет все это:
P.S. Хотя «Inconsolata» — отличный шрифт для решения этой проблемы выравнивания, я обнаружил, что английские символы этого шрифта слишком тонкие для меня, поэтому в настоящее время я все еще использую «Consolas».