No Image

Шрифт для редактора кода

СОДЕРЖАНИЕ
0 просмотров
22 января 2020

Программист “лупит” в код большую часть жизни, правильно подобранные шрифты для редактора кода – не роскошь, а насущная необходимость. В статье мы расскажем и покажем сервис для удобной “примерки” шрифтов онлайн + подборка из 15 лучших шрифтов для программистов на 2019 год.

Удобно подбирать шрифт для редактора кода через веб-утилиты

Выбираете шрифт и в режиме реального времени справа обновляется отображение кодового редактора похожего на Sublime Text. Можно регулировать размер кегля, line-height spacing, цветовую схему и язык программирования.

Небольшая демонстрация работы app.programmingfonts.org для выбора шрифта

Сайты для сравнения шрифтов для редактора кода:

  • https://app.programmingfonts.org – рекомендация #1, дизайн и юзабилити на высоте;
  • https://s9w.github.io/font_compare – менее наглядный инструмент, как альтернатива первому.

15 лучших шрифтов для программистов за всю историю человечества 👍

В статье редакцией журнала 1timer.ru собрали самые часто-упоминаемые шрифты для разработчиков, сверили с популярными статьями на западе и дополнили парочкой от нашего верстальщика. Хотя добрая часть статьи позаимствована с hivelogic…

Если нижеприведенные шрифты не подходят, советуем глянуть на гитхаб: есть курируемая и постоянно обновляемая заметка Typefaces for Source Code Beautification. Больше 5000 ⭐

Inconsolata

Inconsolata – любимый моноширинный шрифт верстальщика 1timer.ru. Inconsolata предназначена для использования с включенным сглаживанием (anti-aliasing), но его начертания удивительно разборчивы даже при очень небольших размерах.

Bront

Bront – это форк Ubuntu Mono, специально ориентированный на программирование.

Consolas

Этот шрифт был разработан Люком де Гроот для семьи ClearType шрифтов от Microsoft. Consolas – это коммерческий шрифт, но он поставляется со многими продуктами Microsoft, поэтому есть большая вероятность, что он уже есть в вашей системе из коробки. Но заметьте, что без сглаживания выглядит чопорно.

Droid Sans Mono

Семейство шрифтов Droid – это годное семейство шрифтов, разработанное для использования на небольших экранах мобильных телефонов. Droid Sans Mono – отличный шрифт для программирования. Выделяется среди других моноширинных шрифтов. Его единственным реальным недостатком является отсутствие косой черты.

Deja Vu Sans Mono

Deja Vu – любимая семья шрифтов нашего верстальщика на протяжении 2-х лет. Он отлично смотрится в любом размере с включенным сглаживанием.

Proggy

Proggy – это минималистичный моноширинный шрифт, который особо по нраву пользователям Windows, хотя отлично работает и на Mac. Это чистый шрифт, предназначенный для использования только в небольших кеглях до 24pt (размерах шрифта) и без сглаживания.

Bitstream Vera Sans Mono

Моноширинный шрифт Bitstream Vera Sans Mono часто применяют потому, что в нём можно чётко различить похожие символы: ‘l’ (L в нижнем регистре) от ‘1’ (цифра один) и ‘I’ (i в верхнем регистре), а также ‘0’ (ноль) от буквы ‘O’, в отличие от более распространённого шрифта Monotype Courier New. Производный от Sans Mono — Menlo — распространяется компанией Apple в составе операционной системы Mac OS X 10.6. (Википедия).

Monofur

Monofur – моноширинный шрифт, который смотрится со сглаживанием любого размера на 4.5 балла из 5. Монофур с отчетливым внешним видом, который отдаленно напоминает оконный менеджер Sun OPEN LOOK , который запускал системы Solaris (или SunOS) еще в конце 80-х годов. Если вы ищете что-то необычное – попробуйте этот шрифт, но убедитесь, что сглаживание включено, даже при небольших размерах.

Profont

Profont – монако-подобный растровый шрифт, доступный для Mac, Windows и Linux (есть также модифицированная версия для Mac OS X, называемая ProFontX другим автором). Они лучше всего подходят для меньших размеров и являются отличной альтернативой Monaco, если вы работаете на платформе, отличной от Mac, и вам нужны действительно крошечные шрифты и напряжение глаз, которое сопровождает их.

Profont (и ProFontX) предназначен для использования в 9 pt с отключенным сглаживанием.

Mensch

Автор проектировал шрифты “Mensch” по примеру «Menlo», который представляет собой слегка измененную форму стандартного шрифта Linux (с соответствующим весомым названием Linux) «DejaVu Sans Serif Mono», который сам по себе является обновленной формой “Bitstream Vera Sans Mono”.

В «M+ 1m» дополнение к европейским буквам, используемым во многих западноевропейских языках, также включены японские иероглифы, включая кана-глифы и более 5300 кандзи-символов, а также основные международные фонетические символы, операторы, специальные символы.

Monaco

Monaco – моноширинный шрифт по умолчанию на Mac, который был включен в System 6. Уверенно в топ 15, рабочий шрифт, который действительно сияет при небольших размерах шрифта с отключенным сглаживанием.

Шрифт Monaco отлично смотрится в 9 или 10 pt, и не выглядит слишком потертым, сглаженным при больших размерах.

Andale mono

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

Комментарий от верстальщика: интервал между символами слишком неуклюж, бл%ть.

Courier

Все системы поставляются с версией Courier (иногда Courier New), и у многих она установлена в качестве шрифта по умолчанию для окон терминала и редактора.

По версии верстальщика 1timer.ru: слишком на любителя, нужно менять при первой же возможности.

Monospace

Нестареющая классика, одноименный шрифт с целой категорией шрифтов, разработан George Williams в 2001 году и бесплатно распространяется по лицензии OPEN FONT LICENSE

Hack — свободный шрифт, специально разработанный для исходного кода и основанный на проектах Bitstream Vera и DejaVu. 0O и 1lI чётко различимы, а шрифт в целом легко читается. Особенно мне понравился ноль с вертикальной прорезью.

Производный шрифт от Bitstream Vera. Это тоже хороший вариант со свободной лицензией. Sans Mono ясно различает 0O и 1lI . Точка внутри 0 не так заметна, как у Hack, но в целом шрифт удобен.

Monaco использовался по умолчанию в OSX до выхода Snow Leopard. Символы хорошо различаются, поэтому трудно спутать 0O и 1lI . Этот шрифт мне нравится из-за его особого стиля, как будто снова возвращаешься в OSX (сейчас я в основном использую Ubuntu).

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

Menlo — новый шрифт по умолчанию в macOS для Xcode и Terminal. Это производная от DejaVu Sans Mono. Лично мне больше нравится Monaco, так как я давно использую OSX, но Menlo тоже хороший выбор для программирования.

Читайте также:  Что делают из битого стекла

Дополнение: Menlo больше не шрифт по умолчанию в macOS. В версии High Sierra шрифт по умолчанию изменили на San Francisco Mono, что тоже отличный выбор для программирования. Спасибо Ивану Кантарино и p13t3rm.

Consolas — шрифт по умолчанию в Visual Studio. Он очень популярен, потому что поставляется с Windows. Лично мне не очень нравится символ l , потому что его легко спутать с 1 .

Space Mono разработан Colophon Foundry и это отличный моноширинный шрифт. Отмечу два недостатка: 1) l можно спутать с 1 ; 2) , не отличается от . на размере шрифта в 14 пунктов.

FiraCode поддерживает лигатуры, то есть может объединить два или более символов в один символ, чтобы облегчить чтение кода. Обратите внимание на != , , и == на скриншоте. Лично я привык к оригинальным символам, а лигатуры немного меня путают. Но кому-то такой шрифт может понравиться.

Примечание: для активации лигатур в VSCode нужно добавить следующую строку.

Мне нравится Anonymous Pro, потому что он даёт ощущение пишущей машинки. Кроме того, здесь символ более узкий, чем в Hack, так что он больше похож на знак.

IBM 3270 основан на шрифте, который использовался в консоли IBM 3270, выпущенной IBM в 1971 году. Этот шрифт отлично подходит для программирования и выполнен в стиле ретро (хотя мне он не совсем привычен).

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

Droid Sans создан для Android и очень красив. Но самая большая проблема в том, что у него нет нуля с прорезью, поэтому 0 и O не различимы.

Дополнение: Для Droid Sans Mono созданы варианты, где есть ноль с перечёркиванием и точкой. Спасибо hawtre smith.

Спасибо за чтение! Надеюсь, эта статья поможет вам найти новый шрифт для IDE или консоли! Пожалуйста, порекомендуйте эту статью другим, если она вам понравилась!

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

Вы можете помочь и перевести немного средств на развитие сайта

Комментарии (111):

вот и наглядный пример когда шрифт важен. Вместо иосевки искал лосевку(

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

если отключить Font Anti-Alias: off, то некоторые шрифты выглядят очень погано — некоторые палки жирные, некоторые тонкие, изображение рваное.
По этому софт, который не использует Anti-Alias будет выглядеть ужасно с этими шрифтами.
https://prnt.sc/jlv3jo
интересно, какова стоимость технологии Anti-Alias в тиках процессора?

У меня anti-aliasing в системе выключен, так как меня он не устраивает до рези в глазах.
У меня он настолько полностью выключен, что я и в браузере сделал автозамену всего на Verdana (и это одна из причин, почему я не могу пользоваться Google Chrome).
Что любопытно, за мои сообщения о выключенном aa или подмене веб-шрифта здешние коллеги всегда насыпают мне минусов. Видать, страдает душа художника, который страстно наваливает гарнитуры в своё поделие.
Поэтому лично я выбираю pixel perfect экранные шрифты, а на принтере разницы между качеством Verdana и векторным Arial я не обнаруживаю.

В частности, на предложенном вами скриншоте именно видно, что пиксельные шрифты, вроде Lucida Console, Andale Mono или Dina выглядят терпимо, по сравнению с…

Да, у меня схожая проблема с глазами, почему то от АА начинается резь в глазах и быстро устают.
по этому шрифты, которые нуждаются в АА для нормальной отрисовки я не использую. Обычно в IDE у меня Courier.
https://prnt.sc/jlvtn3
https://prnt.sc/jlvvbx — скрин поясняет, почему важна кириллица.

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

Сам же почти полностью перешел на Roboto Mono от Google.

Локализация в коде? Треш же, локализованные вещи всегда должны быть вынесены во внешние ресурсы, а комментарии написаны на английском.

Зачем локализация? Существует и код на кириллице.

Сомневаюсь, что пользователи 1С ставят какие-то кастомные шрифты.

1C не единственный код на кириллице.

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

Если комментарий про русские буквы (и другие языки, отличные от английского) в коде вообще, то это странный довод.
1. В ИДЕАЛЕ нужно локализованные вещи выносить во внешние ресурсы. Ситуаций, когда этот идеал недостижим или просто не используется, масса. А потом слушать вещи: «У вас в коде используется русские буквы, а это нехорошо, поэтому у вас крякозябры отображаются или отображаются другим шрифтом» — это бред. Например, по этой причине ушел с Evernote.
2. Существует масса ситуаций, когда комментарии ДОЛЖНЫ быть на русском языке (например, в учебных примерах).
3. Вынесли, как нужно, локализацию во внешние ресурсы. А эти внешние ресурсы просматривать теперь другим редактором?
4. А, как просматривать, например, локализованную документацию в формате Markdown?
5. И, например, в том же Visual Studio Code люди работают только с исходными кодами? Другие текстовые файлы нужно в других программах читать и редактировать?

1. Не в идеале, а всегда. Попробуйте поработать в международной команде.
2. В случае обучающих материалов какая вообще речь про кастомные шрифты? Ну и учить такому не нужно изначально.
3. Разумеется, в редакторах с поддержкой либо всех возможных локализаций (что маловероятно), либо в редакторах, заточенных под конкретную локаль. Как пример, могу посоветовать поработать с RTL языками и посмешивать их в одной строке с LTR, чтобы почувствовать ад.
4. Документация — это код? Разговор был именно про код, маркдаун обычно используется для разметки текста и последующего «рендера» во что-то более удобное типа html.
5. Опять же, это выбор людей — использовать микроскоп для любой задачи. Я же говорю исключительно про исходный код, который должен оставаться транспортабельным между терминальной консолью / блокнотом / навроченной IDE. Именно по этой причине я использую FiraCode — для людей, видящих мой экран, это может выглядеть ужасно, но я знаю, что внутри оно остается нормальным plain текстом, который будет работать везде одинаково независимо от настроек OS / IDE.

Читайте также:  Экран на ноутбуке рябит и полосит

1. А если работаешь не в международной команде? Идеальный код, написанный по всем code style с правильной документацией и так далее — это редкое явление. Вот, например, статья про проблемы в Яндексе https://habr.com/company/yandex/blog/341192/
2. А почему обучающие материалы должны быть оделены кастомными шрифтами? О_о Например, кастомные шрифты на сайтах с примерами кода.
«Ну и учить такому не нужно изначально» — я вот, например, работаю дополнительно со школьниками. Посмотрю на вас, как вы будете им давать код только на английском.
3. «Разумеется, в редакторах с поддержкой либо всех возможных локализаций (что маловероятно), либо в редакторах, заточенных под конкретную локаль.» Зачем использовать несколько программ, если можно использовать одну с нормальным шрифтом?
«могу посоветовать поработать с RTL языками и посмешивать их в одной строке с LTR» — это уже отдельная специфика.
4. Разговор в статье шел не про код, а про «шрифты для программирования». И программист в процессе работы использует не только файлы кодов в своей работе. А если следовать вашей логике, где говорите только про код, то программисту для разных задач нужно использовать разные программы.

1. «Плох тот солдат, который не мечтает стать генералом» (с), всегда нужно смотреть вперед и думать о будущем. Ну а если серьезно, то нужно следовать codestyle-правилам команды: если в нем указано «используем русские комментарии везде» — используем только русские буковки, если нет — нет.
2. Зависит от языка, но если вы не преподаете 1С, то все популярные языки — на латинице (это про «давать код только на английском»). Про комментарии нужно объяснять, что код пишут не один раз и его кто-то будет поддерживать в будущем, поэтому он либо не должен требовать комментариев вообще, либо комментарии должны быть написаны четко, кратко и понятно для всех потенциальных пользователей. Это не значит, что нужно от них требовать запрета кириллицы, но об это следует обязательно рассказать как преподавателю.
3. Случаи бывают разные и «это уже отдельная специфика.» — это не специфика, а конкретный пример, когда приложение было вроде бы как на Европу рассчитано, а потом внезапно пошло в Саудовскую Аравию и Сирию.
4. Если уж на то пошло — программисту не следует править ничего, кроме кода. Да, он может накидать образец локализованных данных на английском, который потом будет подправляться носителем языка + будет использоваться для локализации на другие языки. Это не его задача, для этого есть менее «дешевые» сотрудники, которые потратят меньше денег работодателя за тот же час работы — так работает бизнес, тут уж ничего не поделаешь.

«Плох тот солдат, который не мечтает стать генералом» (с), всегда нужно смотреть вперед и думать о будущем

1. Не всегда нужно думать об отдаленном будущем. Например, есть ТЗ, есть бюджет, есть сроки — и если написание идеального кода не укладывается в указанные условия, то идеальный код не пишем. И это правильно. Но вы хотя бы признали, что есть случаи, когда русские буквы могут использоваться в коде.
2. «но об это следует обязательно рассказать как преподавателю.» А вы думаете, что об этом не рассказываю? Конечно, рассказываю. Но если, например, я дам школьникам учебный пример с поясняющими комментариями на английском, то поясняющие комментарии свою роль потеряют.
3. Это специфическая задача, которая требует специальных средств. И тот факт, что вы для своей задачи не смогли найти много подходящих инструментов, это и подтверждает. Разработчики программ не тратят время на проработку этой проблемы, так как проблема не распространенная и специфическая. Тогда как частое наличие в программистских шрифтах букв других языков свидетельствует о том, что вот этот момент востребован программистами.
4. Теперь вы еще и программиста ограничиваете в своей работе. И сколько вы знаете программистов, которые занимаются только кодом и никогда другие текстовые файлы не правят? Например, я таких не знаю.

Что-то я не пойму, у вас что ли сначала программист переводит свои мысли на неродной английский, а потом приходит переводчик и переводит их обратно на русский?

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

а как же регулярки? или мне отказаться от работ с кириллицей?

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

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

А почему вы всё время говорите о локализации? Те же самые регулярки с кириллицей, я думаю, редко касаются локализации. Последний раз у меня это была обработка документов. И регулярок с кириллицей там было много. Никакого отношения к локализации они, конечно же, не имели. Это была именно часть бизнес-логики. Я уверен, достаточно много существует проектов, жёстко завязанных на конкретную группу языков.

Локализация — это не обязательный мультиязык, а использование локали для обработки / отображения данных. Если только один язык и не хочется думать о расширении — можно и захардкодить.

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

А почему вы всё время говорите о локализации? Те же самые регулярки с кириллицей, я думаю, редко касаются локализации.

Более того, моноширинные шрифты — это не всегда код. Это может быть и терминал, где программа что-то выдаёт кириллицей.

Документация — это код? Разговор был именно про код, маркдаун обычно используется для разметки текста и последующего «рендера» во что-то более удобное типа html.

Например, по этой причине ушел с Evernote.

Пока на Onenote. Но думаю, что не долго на нем продержусь. Boostnote также приглянулся, но чувствую, что придется пилить свой велосипед под свои хотелки.

Читайте также:  Установил виндовс 7 синий экран

Посмотрите на Notion, он выглядит довольно гибким.

Внешние ресурсы (тот же xml, json, yaml итд) обычно в том же редакторе или IDE, что и код редактируются. Как вы представляете локализацию в этом случае?

Локализация — всегда боль, особенно для разных направлений написания. На данный момент не существует редактора, работающего без ошибок при одновременном использовании написания слева-направо и справа-налево, особенно в одном документе. Мы использовали для этого google docs sheets, но приходилось руками форсированно выставлять направление + без остановки отдавать приложение (были проблемы и с рендером в самом приложении) на вычитку носителям языков.

Удивительно, вам задали один вопрос, а вы ответили на какой-то свой вопрос в своей голове. Как уж на сковородке вертитесь… Вы, видимо, теоретик, оторванный от практики и не писали ничего в сжатые сроки со сжатым бюджетом, про поддержку легаси я уж не говорю.

Показывать содержимое XML & JSON одним шрифтом, а код другим? Смотреть сторонний код, где может быть кириллица в коде — в другом редакторе? А ещё кириллица может быть в коде (да и не только она) вне комментариев. К примеру какие-нибудь языковые костыли, регулярные выражения и пр… Или регулярные выражения тоже будем выносить в отдельные файлы? Полагаю, что я ещё что-нибудь не учёл.

Или регулярные выражения тоже будем выносить в отдельные файлы?

Да идите вы в пионерлагерь, со своими идеями про обязательный английский в комментариях.

Я делаю продукт ориентированный на 10-20 программистов работающих в РФ и не планирую даже локализацию подключать, ибо никому за пределами стен институтов не нужен данный ресурс — мне удобней писать развернутый комментарий и документацию на русском языке. Тем кто делает модули — удобней читать и дополнять ее на русском. Мне не надо думать над фразами, мне не надо думать что один на английском говорит и думает, я знаю на уровне понимать/писать, а студент который работает над проектом вообще в английском через гугл-транслейт сидит.

Просто примите как реальность: комментарии на родном для автора языке — это норма для небольших проектов, коих большинство.

Да и не только для небольших. Есть крупрые энтерпрайз-проекты и целые компании, ориентированные только на русский сегмент. У них часто прямо в гайдлайнах прописано, что в комментах использовать русский язык.

Во-во. Мы субподрядчик РЖД, если и есть нормативный документ с переводом терминологии на другие языки, я его не видел.
Уж лучше писать по-русски, чем когда в каждой команде возникнет свой вариант перевода, да еще транслит частенько проскакивает, если не осилили.
Плюс смена языка является неплохим маркером, где у нас бизнес-логика, а где код ядра, либ и тому подобного, что тоже бывает полезно.

Ад, а ещё все профессиональные программисты разговаривают только на английском языке.

Насчет «разговаривают» вы преувеличиваете, но слово «читают» близко к реальности. Если, конечно, они действительно заинтересованы в том, чтобы быть профессиональными программистами. Достаточно посмотреть и сравнить количество профессиональной литературы и статей (с поправкой на задержки издания и ошибки в переводе даже для того что переводится), документации, описаний проектов на гитхабе, логов и сообщений всевозможного софта и инструментов, аудитории и активности интернет-сообществ (SO, и другие) для английского и других (в т.ч. русского) языков, и вывод напрашивается вполне очевидный.

Ну читаю я по английски тех литературу, но комментарии по бизнес логике сецифичны для области бизнеса. И если он в России, то 95%, что я не знаю как тот термин из описания задачи (который я по русски то узнал на прошлой неделе) пишется на английском языке. И тот, кто поддерживать код будет — тоже не знает. А комменты должны быть во многом про бизнес, а не про код. Код сам себя комментирует.

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

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

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

Anonymous Pro

Создан дизайнером Марком Симонсоном специально для программистов, как он говорит.

Liberation Mono

Один из семейства шрифтов, разработанных Стивом Маттесоном. Сейчас распространяется корпорацией Red Hat бесплатно (GNU GPL).

Inconsolata

Шрифт разработан Ральфом Левьеном. Автор указывает, что этот шрифт очень хорошо подходит для высоких разрешений.

Consolas

Поставляется с продуктами Microsoft, то есть, чтобы его использовать, нужно купить одну из программ Microsoft.

Если вы при программировании пользуетесь другим хорошим шрифтом, укажите его в комментариях 🙂

Комментировать
0 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock detector