Настроить текстовый редактор и терминал, чтобы использовать не моноширинные шрифты без ужасных результатов?

Я хочу, чтобы экспериментировать со всеми шрифтами, включая те, что не моноширинный. Я понимаю причину использования моноширинных шрифтов, но, честно говоря, они не кажутся мне законными.

например, одна из причин использовать моноширинные шрифты заключается в том, что блоки кода идеально выстраиваются в Редакторе. Но почему сетка не может быть построена из наименьшего символа в данном шрифте или, возможно, какой-то единицы, которая выполняет это. Это похоже на пережиток дней ASCII. Я погуглил, но не могу найти много информации об этом.

кто-нибудь пробовал это раньше или знает о каких-либо проектах, которые пытаются это включить? В частности, я хочу использовать шрифты в VIM и iTerm2 на OS X.

2
задан wonea
12.11.2022 18:50 Количество просмотров материала 3091
Распечатать страницу

5 ответов

Я прочитал ряд сообщений в блоге в далеком прошлом, написанных людьми, которые на самом деле предпочитали пропорциональные шрифты для своего кода. Обычно, что им нравилось в таком шрифте, так это его выразительность, но они неизменно нуждались в очень богатая подсветка синтаксиса и / или пользовательские внешние инструменты, чтобы заставить его работать и на самом деле быть в состоянии читать и понять собственный код.

вы не читаете код так, как читаете текст. В основном по вертикали, другие, в основном горизонтальные.

Как вы знаете, моноширинные шрифты предназначены для сетки, так что каждый символ занимает то же пространство, как и другие. Из-за этого мы можем выравнивать вещи и читать и понимать наш код в дискретных кусках без большой работы мозга: все регулярно и предсказуемо, что является необходимостью в нашем ремесле.

потому что мы склонны писать короткие строки и логические части наших исходных файлов распределены по вертикали большую часть наши движения глаз вертикальные, это естественный поток программирования. Моноширинные шрифты облегчают такие движения, потому что вещи могут быть аккуратно выровнены, и нам не нужно слишком сильно двигать глазами.

каждый отдельный глиф пропорционального шрифта разработан с различной шириной и различными настройками пробела по умолчанию. Кроме того, такие шрифты активно используют Кернинг (корректировку пробелов между глифами), что и является на самом деле текст выглядит хорошо. Удалите Кернинг и любой пропорциональный шрифт (даже лучшие, такие как Frutiger или что-то еще) будут выглядеть как ish. Отдельные глифы все равно будут хорошо нарисованы, но они больше не будут соответствовать друг другу и создавать четкий ритм, который делает их полезными и приятными.

применение сетки к набору текста в Helvetica Neue приведет к неравномерному распределению черного / белого и нечитаемому беспорядку, потому что мы фактически удалим самую важную особенность пропорционального шрифты.

пропорциональные шрифты, не предназначенные для вертикального потока. Много внимания уделяется кернингу, чтобы обеспечить наилучший горизонтальный ритм, но такая функция совершенно не нужна в контексте программирования.

чтобы закончить, вы можете установить шрифт Vim на какой-то пропорциональный шрифт, вот как это выглядит с Helvetica Neue на 12 px:

Screenshot

    (нажмите на изображение, чтобы увеличить)

и один и тот же файл с Inconsolata-ДЗ на 12 ПКС:

enter image description here

Я думаю, эти скриншоты говорят сами за себя.

6
отвечен romainl 2022-11-14 02:38

Я использую модифицированный SciTE (windows), которые используют Scintilla (портативный из исходного кода) и перешли на пропорциональный шрифт после многих лет в качестве вентилятора моноширинного. Текст более компактен (и радует глаз, особенно для длинного имени класса), поэтому редко требуется перенос строки. Вертикальная линейка поддерживается с помощью tab, который я определил как количество пикселей. Добавление подпрограммы 'tabify' и использование малой ширины табуляции (около 3 пробелов) вы можете аккуратно выровнять любой код блока: не только в начале строки но многоколонный struct или многострочными #определить Загвоздка в том, что ваш код плохо смотрится в другом редакторе, и вам приходится переформатировать коды других людей.

2
отвечен qak 2022-11-14 04:55

терминальные программы позволяют мне устанавливать любой шрифт, а не только моноширинный. Думаю, я смогу к этому привыкнуть!

enter image description here

Я уверен, что вы видели списки других стилей моноширинных шрифтов тоже... некоторые бесплатные и Википедия страницы

0
отвечен beroe 2022-11-14 07:12

можно много чего делать с шрифтами с переменным интервалом, но история показала, как и общее мнение, что это плохая идея. большинство редакторов, ориентированных на программистов, поэтому не позволяют использовать их и это правильно.

скажем, вы должны были "нарисовать коробку" из самых маленьких символов в данном шрифте. И каким-то образом удалось его выстроить.

поставить пробел в одну строку ... поскольку пространство относительно широкое, руины все это. Теперь вы должны либо пространство его несколько раз,... пока ширины снова не совпадут, или ..... это плохая идея. Об этом даже не обсуждается.

-1
отвечен Rook 2022-11-14 09:29

Не знаю, как OSX отображает свои шрифты, но есть обязательный Старое сообщение в блоге обо всех причудливых и исторических вещах среди вычислений.

blogpost рассказывает о том, как для шрифтов TrueType буквы не рисуются в красивых маленьких сетках. Некоторые намеренно болтаются за решеткой, в то время как другие нет. Чтобы программно сделать шрифт вписывающимся в красивую аккуратную сетку требуется не использовать TrueType шрифты. Следовательно, мы пришли полный круг.

но это на стороне Windows. Не знаю, как OSX отображает шрифты TrueType, но я готов поспорить, что это причина, по которой все шрифты недоступны, кроме целого "поддерживает ли он каждый символ?" вещь.

-1
отвечен surfasb 2022-11-14 11:46

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх