Pull to refresh

Comments 145

Раз заговорили о разнице в чтении текста и кода, пусть тут ещё будет скриншот «новый шрифт применён для текста» — понятно, что он не для того придуман, но интересно же.
Скрытый текст
image
Кому как, а для меня фонт Source Code Pro выглядит как то читабельнее за счет большего отступа между буквами, да сами буквы не так вытянуты по вертикали. Попробовал этот новый фонт от JetBrains и вернулся на source code pro.

Там нет кириллицы в курсиве, поэтому кому-то может быть неудобно.
Редакторы комментарии курсивом зачастую пишут.

Спасибо. Стоило обновить информацию, когда последний раз смотрел — не было.

Эх, жаль. А я уж хотел попробовать.

Вы же в курсе что лигатуры отключить можно? Или это дело принципа?

Сам не очень уважаю "программистские" лигатуры. Но с отключёнными лигатурами выглядит вполне неплохо

Нет, не был в курсе. Тогда всё хорошо.
А в чем неудобство лигатур?
Глазами же проще ориентироваться вроде
Потому что, если я пишу «равно, больше», я хочу видеть «равно, больше», а не стрелку. Стрелка — это другой символ Unicode. Некомфортно.

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


А юникод-символы в коде я никогда и не встречал. :)
Не говоря о том, что они рендерятся шириной в один символ.

Да, как раз вчера нашёл в своём коде юникодную стрелку и удивился. Ну и выглядит она заметно хуже лигатурной.


А в чем неудобство лигатур?
Глазами же проще ориентироваться вроде


Дело привычки.

Имхо, читать — да, проще.
Но когда начинаешь исправлять: нажимаешь Delete, ожидаешь, что символ «перечеркнутое равенство» исчезнет целиком, но фактически ты удаляешь только "!" из "!=" и остается "=". Меня это дезориентирует.

Но ведь это проблема редактора, а не лигатуры

Крупноват — кода на экран меньше вмещается.
Вернулся на Fira Code.

Fira Code крупнее у меня. Замерял.
UFO just landed and posted this here
Можете еще посмотреть на Iosevka (100)

Такое же ощущение, слишком широкий шрифт, после Iosevka Medium не помещается на экран 20% от того что было. Сделайте вариант поуже.

Посмотрим, сделают ли не моноширинный.
А то фломастеры не только monospace бывают

Не совсем в тему… Хочу консольный шрифт такой же, как на VGA 9x16, но TT — для свободного масштабирования. Собственно, растровый шрифт этого вида есть, а вот векторный… неужели никто не ностальгирует по старым добрым временам?
Ни одна ссылка из статьи/комментов не работает…
UFO just landed and posted this here
В тепличных условиях вроде выглядит неплохо. Однако…

MS Visual Studio 2019 не распознаёт шрифты семейства как моноширинные (моноширинные в списке шрифтов выделены жирным). Где-то какого-то флажка в шрифтах не хватает.

Если отсутствует ClearType (при работе через виндовый Remote Desktop с Windows 7) глаза начинают кровоточить через 5 минут. При этом Consolas (единственный!) выглядит вполне читабельно.

Рекомендуемый межстрочный интервал — 1.2
Это хорошо, что рекомендуемый… если, конечно, межстрочник настраивается. А если не настраивается? Почему нельзя было сделать высоту символов на 20% больше добавлением свободного пространства?

Если уж делать крутой шрифт, то он должен быть крут из коробки.
Похоже да, со шрифтом какая-то проблема. В Delphi в списке выбираются только моноширинные шрифты, а JetBrainsMono там нет. А хотелось бы попробовать…
Аналогично — стандартная консоль Windows не видит этого шрифта. Хотя видит те же аналогичные шрифты Iosevka, Fira Code и пр.
Похоже, не проставили флаг в свойствах шрифта, что он моноширинный.
На Гитхабе шрифт обновился до 1.0.1. Теперь он показывается в Delphi.

Очень симпатичный шрифт. Единственное но — немного растянутый по вертикали, по сравнению с моим текущим Liberation Mono, меньше строк кода видно в окне IDE при одинаковом размере шрифта 13pt. Сделать компактнее — однозначно поменяю на JetBrainsMono.
Переписать вручную шрифты в папку c:\WIndows\Fonts
В 1С (на русском) у меня тоже проявилась проблема с замыливанием в символах, особенно с 8 размером, вернулся на consolas
Не единственный. Выглядит как родной растровый PT Mono. Пока что не получается от него отказаться.

Шрифт как шрифт.
А вот аргументация про "прямоугольники помогут скользить взглядом" — какая-то чушь.

Не какая-то, а маркетинговая :) А вообще, шрифт приятный. Использовал до этого Anonymous Pro. Выглядят шрифты похоже, только Jet Brains Mono чуть плотнее.
Внешне не приглянулось. Я как раз значительно лучше воспринимаю более мягкие (по форме символов) шрифты. Последние пару лет работаю с Meslo LG L DZ. Мягкий моноширинный шрифт с изначально большим (и настраиваемым) междустрочным интервалом, что удобно при чтении кода.
Шрифт смотрится отлично… но лишь на MacOS, на винде, к сожалению, ужасно смотрится.
Regular версия (имхо) тонкая, а ставишь Medium ещё хуже.
У винды кривая формула расчёта кривых Безье, что у вас один и тот же шрифт вдруг стал отличаться? Или это из области религии?
UFO just landed and posted this here
это точно. Возможно, ещё виндовое масштабирование плохо на это дело влияет (у меня включён зум на уровне ОС в 125%), но прямо в Idea выглядит это дело ужасно, вот пара примеров ("(" vs "{" и «l» vs «1»):
image
image

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

Это реально кого-то волнует? Также как и цветовые схемы? за 15 лет что я программирую их (и шрифтов с схем расцветки) сменилось просто десятки, если не сотни, какая разница? В Vs Code один шрифт, в Eclipse другой, в Notepad++ третий, putty четвёртый, в самой винде ещё какой-то, на гихабе ещё другой, в мессенджерах ещё.
В Vs Code один шрифт, в Eclipse другой, в Notepad++ третий, putty четвёртый, в самой винде ещё какой-то, на гихабе ещё другой, в мессенджерах ещё.

Ну можно и один поставить везде (почти).
Это реально кого-то волнует?

Это же не за деньги продаётся.
А кто про деньги говорил?
Это реально кого-то волнует?

Это же не за деньги продаётся.

А кто про деньги говорил?

Посмотрите по тому, как быстро прибывают комменты — людям это действительно интересно.
за 15 лет что я программирую их (и шрифтов с схем расцветки) сменилось просто десятки

Лишний показатель, что хороших не так уж и много. И развитие в этом направлении смысл имеет.
Был бы «идеальный шрифт» — на нём бы одном всё и закончилось.
Мода требует волнений. Есть много хороших вещей (из самого быстрого что вспомнил — оптические энкодеры в колёсике мышки, а также классические раскладки клавиатур, особенно в ноутбуках) которые были хороши, но их нужно было заменить просто для стимуляции морального (клавиатуры) и физического (энкодеры) устаревания.
и физического (энкодеры) устаревания.

Насчет энкодеров известное заблуждение, что их ставят, чтобы ломались чаще, ибо:

В дешевых мышах ставят всё больше как раз таки оптические энкодеры. Механику ставят обычно в более дорогие мыши.

Механические энкодеры нынче не дешевле. Полупроводники (оптика) и штамповка настолько совершенны, что механика уже не эконом-вариант уже много лет как. Это не для экономии.

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

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


Я интервью инженера Logitech читал. У него спросили — почему не оптические.

Он ответил — у механических лучше с тактильностью, точнее ощущения.
А оптические мы (Logitech) тоже ставим, но только в дешевые модели.
Попробуйте посмотреть внутрь энкодера, а не интервью заинтересованного лица.
Я недавно разбирал мышь Logitech G403, колесо стало проскальзывать в пазах энкодера, подкладывал бумажку между штырём и пазом.
Так вот, там энкодер даёт ощущение щелчка при прокручивании, собственно так я и понял, что дело не в софте, а в железе.
А ссылочку на интервью можно? Интересно почитать, правда ли там инженер вот так прямо врёт журналисту.
а также классические раскладки клавиатур, особенно в ноутбуках) которые были хороши, но их нужно было заменить просто для стимуляции морального (клавиатуры)


Предположение про моральное устаревание клавиатур бессмысленно.

Ибо моральное устаревание предполагает, что человек купит другую более лучшую вещь, еще до того как старая вещь сломается.

Если новая клавиатура хуже по удобству — то ни о каком моральном устаревании старой не может идти речи.

да что вы придираетесь, не видите — у человека раньше лучше было в терминальной стадии!

Меняются разрешения и размеры экрана, постепенно идём к 2K и 4К. У кого-то зрение с возрастом меняется. В любом случае, если изменение шрифта и цветовой гаммы позволит повысить внимательность, уменьшить утомляемость глаз, то почему не попробовать?
Меня это капец как волнует! И цветовая схема, и шрифты. Я на эти цвета и шрифты ежденевно по 10 часов пялюсь. С чего бы мне вдруг не озаботиться подбором наиболее комфортного «рабочего пространства»?
У меня везде стоит Liberation Mono, вполне удобен. У Consolas курсив больно вычурный, а им в коде много чего выделяется…

За пару дней использования лично мне строчная буква l всегда напоминает заглавную L, и никак не получается отделаться от этого впечатления. А в остальном — пока шрифт очень даже нравится

А с единичкой не перепутаешь?
Хочу еще напомнить о редко упоминаемом шрифте IBM Plex Mono в начертании Text.

О, IBM Plex поражает как молния, как финский нож, как молния из финского ножа! В консоли и в текстовом редакторе он идеален.


Но в читалке я остановился на http://rus.paratype.ru/pt-sans-pt-serif — и наконец-то исчезла раздражающая разница между восприятием русского и английского текста.

UFO just landed and posted this here

Мне почему-то кажется, что с этим шрифтом комментарии в коде стало удобнее читать (по сравнению с Fira Mono regular), в которых "скользить взглядом по вертикали" вообще не нужно. JetBrains справа:


UFO just landed and posted this here
Попробовал его и вернулся к Monospaced. Привычка такая штука.

Monospaced не существует. Это шрифт-алиас.

А для какого шрифта этот алиас?

В Linux это настраивается в FontConfig, конкретное значение будет зависеть от конфигов в дистрибутиве. У меня это алиас к DejaVu Sans Mono

Для Windows по умолчанию — Courier New для европейских языков.


Если подробнее, то есть файл в JRE/JDK — lib\fontconfig.properties.src, его надо комплирировать какой-то утилитой в fontconfig.bfc.

Я чего-то не понимаю


Characters remain standard in width, but the height of the lowercase is maximized.



Очевидно что шрифт Jebrains гораздо шире, а не только выше

Скорее увеличенный межбуквенный интервал

Я вас не хочу обидеть, но я просто хотел написать, что это называется кернинг. Я просто знаю это слово, но употреблять его я не знаю, где, не подворачивается случай, а тут подвернулся, и только поэтому я написал этот коммент, чтобы не забывать само слово.
В моноширинном шрифте не может быть кернинга по определению. Это трекинг — равномерное изменение расстояния между символами, а кернинг — неравномерное, только для определённых пар символов (когда, например, ширина A + V != AV).
Как это? Расстояние между символами есть, значит, и кернинг есть.
Кернинг — это про разное расстояние до соседа в зависимости от того, какой символ идёт дальше. Расстояния между разными парами символов намеренно делаются неравномерным чтобы скомпенсировать разный визуальный «вес» пар и сделать строку текста более равномерной визуально. В моноширинном шрифте по понятным причинами это расстояние должно быть одинаковым, иначе разъедутся колонки.

Равномерное изменение расстояния между символами — это именно трекинг, в народе «межбуквенный интервал».

image
Кернинг это не сам интервал, это изменение интервала в зависимости от формы букв, чтобы некоторые конкретные сочетания лучше смотрелись. В моноширинном шрифте изменений быть не может, по определению.
Он у вас не Jebrains. На Courier New похож.

Пользуюсь модифицированным Consolas, пока что по читаемости и при этом компактности
написанного не нашёл ему равных.

В VS 2019 как-то не очень. Вообще она странно его показывает, не похоже на то, что на картинках. JetBrains Mono (слева) vs. Droid Sans Mono Slashed (справа):
JetBrains VS Google
image

Вы что, не видите, у вас Courier New слева?

Ну я с лупой не сравнивал, просто установил шрифт в систему и выбрал его в качестве шрифта в настройках Tools\Options\Environment\Fonts and colors\TextEditor. Если это Courier New — значит студия вообще отказалась использовать JetBrains Mono.
Update. Нет, пробую переключать с JetBrains Mono на Courier New — отображение всё таки несколько меняется.
Спасибо. Да, и правда. Очень странно, обычно шрифты цеплялись сразу же.
Возможно это стоило написать в YouTrack Rider'а, но в нём фигурные скобки у этого шрифта отображаются немного криво. В VS Code, например, всё прекрасно. С тем же Fira Code в Rider всё нормально.
Заголовок спойлера
image

Для того чтобы шрифты хорошо отображались в Windows, надо ставить MacType



(Это пример 12 пикселей)


Причём этот шрифт лучше смотрится с опцией Font hinting = Auto FreeType hinting (определить глобально или в исключениях).


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

MacType Better font rendering for Windows.

Описание конечно эпичное. Первый раз слышу. Что оно вообще делает?

Вместо Microsoft ClearType использует сглаживание, аналогичное в Mac или Linux (FreeType). Работает почти для всех приложений, правда, есть некоторые сложности с DirectWrite, потребуются дополнительные настройки (например в Firefox надо отключить новый рендерер).

Интересно интересно. Как это оно влезает в стек ренрединга шрифтов. Зная Microsoft — скорее всего оно закопано где-нибудь глубоко. Да и такой зоопарк API рендеринга текста… GDI, GDI+, Milcore (WPF, там свой стек), DirectX, OpenGL. В QT Quick в режиме Ideal по моему используется Harfbuzz с какими-то своими алгоритмами сглаживания.
Почему-то все вспоминают Consolas, но никто не упоминает Inconsolata. А я в своё время никак не мог выбрать из этих двух (хотя перебрал их уйму).
Теперь вот надо сабж тестить. На первый взгляд очень понравился (кириллица хороша).
UFO just landed and posted this here

Дополнительный совет для пользователей IntelliJ IDEA: вы можете настроить контраст для шрифтов (хотя этот механизм работает для всех Swing-приложений). Нажмите Ctrl+Shift+Alt+/, выберите "Registry", найдите строку lcd.contrast.value. Допустимые значения от 100 до 250 (или 0 для системного значения). Изменения применяются сразу.


Контраст = 100


Контраст = 250

Пробовал на Ubuntu, почему-то не сработало. Визуально никаких изменений.

UFO just landed and posted this here
Да, был Menlo, стал San Francisco Mono
Только на JetBrains IDE это не могло повлиять, т. к. этот шрифт не установлен в системе, а находится внутри Terminal.app и Xcode.app

Раз уж все стали вспоминать про другие шрифты, я позволю себе вспомнить про Input: бесплатный (для личного пользования), без лигатур, с возможностью выбрать несколько разных начертаний для буквы l, нуля, скобок и т.п.


Даже статья была.

UFO just landed and posted this here
Курсuв прuкольныú, а вот лигатуры на моей системе страшненькие. Особенно мерзкие === !==, центральная палка на месте только при размерах 12 и 16 :(



(с лигатурами дела обстоят получше у Liga Droid Sans Mono, а идеально - только у Fira Code)


UFO just landed and posted this here
UFO just landed and posted this here

Не поделитесь, зачем? Кроме того, в любом редакторе можно перейти в конец строки и глянуть на позицию в строке состояния.

UFO just landed and posted this here

Шрифт — это только визуализация. Даже копи-паста вернет два символа вместо лигатуры. Не говоря о любом автоматическом процессинге. В строках как типах лигатуры быть не может по определению.

UFO just landed and posted this here
UFO just landed and posted this here

Могу придумать только такой сценарий:


  • тестируем функцию «скриншот»
  • делаем скриншот редактора
  • распознаем текст
  • считаем символы
  • сравниваем с ожидаемым

:)

Что-то он напоминает мой консольный названый как «cybercafe».

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

Пару лет использую FiraCode (в своё время начал использовать его из-за лигатур). Вчера попробовал JetBrains Mono: давно не было такой эйфории от удовольствия использования шрифта :)

Что интересно: этот шрифт смотрится хорошо и при использовании на обычном тексте. Сама презентация тому пример. Он вроде моноширинный, но при этом будто бы обладает свойствами «обычных» шрифтов. Наверное, за счёт округлых форм у букв. Мне кажется, он будет классно смотреться при качественном исполнении дизайна веб-страничек, печатной продукции и т.п.

после Dank Mono выглядит слабовато

Хорошая новость, надо попробовать. Сейчас я использую шрифт Hack на винде.

Шрифт очень понравился, спасибо за работу! До этого использовал Anonymous pro долгое время, но уже поднадоел.

Хочу выразить огомное спасибо Jetbrains за мегакрутой шрифт! По началу, как это всегда бывает, сложно соскочить с привычного шрифта. Но вот сижу уже неделю, и реально торчу от читабельности и удобства. Шрифт очень сбалансирован, визуально хорошо отделяет слова, отличные лигатуры для типичных синтаксических конструкций, одинаково хорошо смотрится как на Windows, так и на Linux. Размер 12pt/1.0 вполне устраивает.

Приползло с новым EAP идеи.
Цифры понравились, напомнили шрифты старых матричных принтеров, печатавших ещё на рулонах с перфорацией по бокам. Цифра 3 с горизонтальной верхней линией тоже плюс к читаемости.


Но вот буквы…
Предлагаете отличать u от v по тому, насколько острый кончик у строчной буквы?
Вернул старый шрифт.

Предлагаете отличать u от v по тому, насколько острый кончик у строчной буквы?

Серьёзно? У них же совершенно разная форма, у u линии вертикальные, а у v сильно наклонные.


uv

Возьмём изображения строчных букв u и v, с идущим по умолчанию в IDEA размером 13.
Совместим изображения букв по верхней и левой кромкам. Пиксели, занимаемые буквой u обозначим красным цветом, занимаемые буквой v — зелёным, а совпадающие в начертаниях обеих букв — серым. Для удобства увеличим изображение:


JetBrains Mono lovercase U vs. V


Вы по-прежнему считаете их форму «совершенно разной»?

Ну удалось воспроизвести.


Выравнивание по левому верхнему углу


По центру

Вот как они у меня выглядят в VS Code (увеличено):

Разница большая.
Проверьте, возможно у вас шрифт JetBrains Mono не взялся. Что это красное торчит слева внизу? Ни в «u», ни в строчной «v» там явно такого нет.
image
Если что, я писал выше, этот шрифт обновлён до версии 1.0.1, и теперь правильно распознаётся любой IDE.

Пользуюсь Fira Code, а этот шрифт тяжеловато читать, имхо.

Iosevka.
Узкая, красивая, лигатуры есть, если надо, и «глаз по вертикали скользит».
К сожалению, не зашел — читать и ориентироваться сложно, вместо кода получается каша. Хз почему.
Вернулся на Iosevka.
На примере в статье этот шрифт кажется слишком плотным. И по вертикали и по горизонтали нужно больше места между буквами.

Я пока им не воспользовался, но просмотрел комментарии, в том числе примеры-сравнения. Кажется, что тут та же проблема, что и в Helvetica: шрифт красивый для небольших указателей и коротких названий, а для текста подходит хуже из-за однообразия символов. Человеку их сложнее различать, все скруглено и заквардачено одинаково. Шрифт хорошо подойдет для дизайнерского оформления кода куда-нибудь на обложку.
Sign up to leave a comment.