Шрифты для кода: JetBrains Mono, IBM Plex Mono, Fira Code — сравнение
Какой моноширинный шрифт выбрать для разработки и в чём разница
Шрифт для кода — это не «шрифт, в котором можно читать буквы». Это инструмент, который программист видит 8 часов в день, 5 дней в неделю, годами. Выбор шрифта для кода — это выбор, который влияет на зрительную усталость, на читаемость сложного синтаксиса, на опознание символов вроде 0/O, 1/l/I, на восприятие отступов. В этом обзоре — три ведущих моноширинных шрифта: JetBrains Mono, IBM Plex Mono и Fira Code. Разберём, в чём между ними разница и какой выбрать.
JetBrains Mono — шрифт, разработанный JetBrains в 2020 году специально для разработки. Создавался с участием профессиональных программистов: команда JetBrains собрала обратную связь о том, какие проблемы с моноширинными шрифтами наиболее острые, и спроектировала шрифт, который их решает. Характеристики: 8 начертаний (от Thin до ExtraBold), x-height высокая (увеличена на 8% по сравнению со стандартными моноширинными), поддержка лигатур для операторов кода (=>, !==, >=).
Особенность JetBrains Mono — увеличенная высота строчной части. Это даёт лучшую читаемость на 14–16 px, особенно для букв с диакритикой. Лигатуры, которые соединяют последовательности символов в единый визуальный знак (=> становится стрелкой, !== становится перечёркнутым !==), упрощают восприятие сложных операторов. Лигатуры можно отключить в настройках редактора, если они мешают. Кириллица у JetBrains Mono — одна из лучших среди бесплатных моноширинных шрифтов, все глифы прорисованы с тем же вниманием, что и латиница.
JetBrains Mono — стандартный шрифт в IntelliJ IDEA, WebStorm, PyCharm, Rider. Если вы используете одну из IDE JetBrains, шрифт уже стоит у вас. В каталоге FontHub он доступен как бесплатный, можно скачать и установить в любой редактор: VS Code, Sublime, Vim.
IBM Plex Mono — часть семейства IBM Plex, разработанного для бренда IBM. Характеристики: 8 начертаний, x-height высокая, контраст штрихов средний. Несколько «индустриальный» характер: чёткие формы, ровные штрихи, узнаваемая геометрия. По сравнению с JetBrains Mono, Plex Mono менее «дружелюбный», более «строгий». Хорошо смотрится в технических интерфейсах, в документации, в крупных кеглях как акцентный шрифт.
Лигатуры у Plex Mono нет — это сознательное решение IBM, чтобы сохранить «инженерную» чистоту шрифта. Для программистов, которым лигатуры мешают (а таких много), это плюс. Кириллица проработана хорошо, хотя в паре «з»/«д» есть небольшая визуальная неровность. Plex Mono часто выбирают для продуктов, где важно казаться «серьёзными и инженерными»: документация, dashboards, технические блоги.
Fira Code — шрифт от Nikita Prokopov, выпущенный в 2014 году. Это был первый моноширинный шрифт с поддержкой лигатур для кода, который получил широкое распространение. Характеристики: 6 начертаний, x-height средняя, контраст штрихов низкий. По характеру Fira Code — «продолжение Fira Mono», более мягкий, чем Plex Mono, с большим количеством лигатур (более 50 вариантов).
Лигатуры у Fira Code — самая большая коллекция среди всех моноширинных шрифтов. Помимо стандартных операторов, есть лигатуры для математических символов (≤, ≥, ≠), для стрелок (→, ←, ↔), для логических операторов (⇒, ⇔). Это делает Fira Code особенно полезным в коде с большим количеством математических операций или в DSL. Кириллица у Fira Code есть, но проработана средне — для русскоязычных комментариев лучше использовать JetBrains Mono или Plex Mono.
Читаемость: JetBrains Mono — лидер, благодаря увеличенной x-height и продуманной оптике. IBM Plex Mono — на втором месте, с более «жёсткой» пластикой. Fira Code — на третьем, с самой «обычной» оптикой среди трёх. Лигатуры: Fira Code — самая большая коллекция, JetBrains Mono — оптимальная коллекция (только то, что реально нужно в коде), IBM Plex Mono — нет лигатур.
Кириллица: JetBrains Mono — лучшая, IBM Plex Mono — хорошая, Fira Code — средняя. Вес файлов (WOFF2): JetBrains Mono — 32 КБ (Regular), IBM Plex Mono — 30 КБ, Fira Code — 35 КБ. Все три — бесплатные, распространяются под лицензией SIL OFL. Все три поддерживают переменные оси (variable fonts) — JetBrains Mono и IBM Plex Mono с осью wght, Fira Code с осью wght.
Если вы работаете в IntelliJ IDEA или другой IDE JetBrains — берите JetBrains Mono, он уже стоит. Если вы работаете в VS Code и пишете много кода с операторами — JetBrains Mono с лигатурами или Fira Code с расширенными лигатурами. Если вы не любите лигатуры и предпочитаете «инженерный» характер — IBM Plex Mono. Если много пишете комментарии или документацию на русском — JetBrains Mono или IBM Plex Mono (у Fira Code слабее кириллица).
Если вы делаете developer-ориентированный интерфейс (dashboard, документация, dev tools) — JetBrains Mono лучше всего передаёт «профессиональность». IBM Plex Mono подойдёт, если вы хотите более «индустриальный» характер. Fira Code можно использовать в продуктах с математическим или логическим уклоном (например, в DSL или в научных библиотеках), где лигатуры для символов реально помогают.
Ещё один практический нюанс: при работе с моноширинными шрифтами обратите внимание на поддержку юникода и символов, которые часто встречаются в коде. Помимо букв и цифр, в коде используются: символы пунктуации (точка с запятой, двоеточие, запятая), операторы (стрелки =>, !==, <=>, ::), математические символы (≤, ≥, ≠), кавычки разных типов (двойные, одинарные, обратные). У качественного моноширинного шрифта все эти символы нарисованы с тем же вниманием, что и буквы. У плохого шрифта математические символы могут быть «сжаты» или несимметричны, что в коде создаёт визуальный шум. JetBrains Mono и IBM Plex Mono — оба хороши в этом отношении, у них все символы прорисованы чётко. Fira Code добавляет лигатуры для операторов, что упрощает восприятие сложных конструкций. В каталоге FontHub можно скачать каждый из этих шрифтов и попробовать в своём редакторе — это бесплатно и занимает пару минут. Если вы работаете в команде, убедитесь, что все используют один и тот же шрифт: иначе при код-ревью одни и те же строки будут выглядеть по-разному, что затрудняет восприятие.
«Шрифт для кода должен быть невидимым. Ты его не замечаешь, но он работает.» — Филипп Носиков
Шрифт для кода — это инвестиция на годы. Не стоит менять его каждые полгода — привыкание к новому шрифту занимает неделю-две, и в этот период продуктивность падает. Выберите один из трёх ведущих моноширинных шрифтов, попробуйте поработать с ним неделю, и если подойдёт — оставьте. JetBrains Mono, IBM Plex Mono и Fira Code — это три проверенных варианта, которые закрывают 99% задач. В каталоге FontHub все три доступны для немедленного скачивания и установки в любой редактор кода.
Понравилась статья?