Система типов Monaspace — это суперсемейство моноширинных типов с некоторыми современными хитростями в рукаве. Он состоит из пяти шрифтов с переменной осью. У каждого из них свой собственный голос, но все они совместимы по метрикам, что позволяет вам смешивать и сопоставлять их для получения более выразительной типографской палитры.
Буквы на сетке — это то, как мы видим наш код. Почему бы не улучшить эти буквы?
Исследование с GitHub Next. Полную историю Monaspace смотрите на monaspace.githubnext.com.
? Скачать последнюю версию ?
Monaspace доступен в виде шрифта с переменной осью и статической сборки. Вы можете установить их оба рядом; их фамилии разные. Например:
Monaspace _____
: статическое семействоMonaspace _____ Var
или VF
: семейство переменныхВариативные шрифты имеют по одному файлу на каждое семейство (Neon, Argon и т. д.). Современно и удобно!
Статические шрифты имеют по одному файлу на каждый фрагмент каждого семейства. Переменные оси имеют именованные остановки для каждой оси, например, light
или bold
для насыщенности, italic
для курсива и semiwide
или wide
для ширины. Комбинаторное развитие всех этих свойств означает, что полная установка статических шрифтов включает сотни файлов шрифтов. Но в ситуациях, когда переменные шрифты еще не поддерживаются, статические сборки предоставляют широкий выбор остановок во всем диапазоне каждой оси.
Monaspace впервые применила технику «исцеления текстур» для моноширинных шрифтов:
Исцеление текстур включается, когда в вашем редакторе включена настройка функции шрифта calt
. Местоположение этого параметра варьируется в зависимости от приложения, и не все приложения его поддерживают. Подробные инструкции см. в разделе «Редакторы» ниже.
Подробнее о том, как это работает, вы можете прочитать на сайте Monaspace, а как это реализовано в документации.
Предупреждение
Обработка лигатур существенно изменилась в Monaspace v1.1 и v1.101. Если вы выполняете обновление, ознакомьтесь с примечаниями к выпуску, чтобы узнать, как изменить настройки редактора.
Функция шрифта liga
позволяет настроить интервал между повторяющимися символами, например ///
или ||
. Он предназначен для предотвращения активации внутри более длинных последовательностей, таких как ////
.
Существует восемь групп кодирующих лигатур, разделенных на стилистические наборы. Вы можете выборочно включать или отключать отдельные наборы:
ss01
: лигатуры, связанные с символом равенства, например !=
и ===
.ss02
: лигатуры для большего/меньшего или равного ( <=
, >=
).ss03
: лигатуры, связанные со стрелками, такими как ->
и ~>
.ss04
: лигатуры, связанные с разметкой, например
и />
.ss05
: лигатуры, относящиеся к языку программирования F#, например |>
.ss06
: лигатуры, связанные с повторным использованием #
, +
и &
.ss07
: лигатуры, связанные с двоеточиями, например ::
или =:=
.ss08
: лигатуры, связанные с комбинациями точек с другими глифами, такими как ..=
или .-
.ss09
: лигатуры, относящиеся к комбинациям знаков «больше/меньше» и «равно», например <=>
, >>
и =<<
.Увидеть интерактивное отображение всех лигатур можно на сайте Monaspace.
У определенных символов есть варианты, которые вы можете включить по желанию:
cv30
: включить старую звездочку, поставляемую в Monaspace 1.0, которая была выровнена по вертикали ближе к верху пространства.cv60
: заставляет пару <=
отображаться способом, соответствующим =>
вместо замены на ≤
.cv61
: включает необязательную лигатуру закрытого квадрата для []
. Это может отвлекать при создании массивов во многих редакторах, поскольку они автоматически вставляют закрывающую скобку, которая сразу же создает лигатуру закрытого квадрата при вводе открытой скобки. Кэширование шрифтов в операционных системах — это непостижимая путаница, возникшая тридцать лет назад, и мы не можем ее исправить в Monaspace. Вообще говоря, вам следует:
Перезапуск обычно является единственным способом быть на 100% уверенным, что базовое оборудование операционной системы подберет новые шрифты.
Вы можете вручную перетащить шрифты из каталога fonts/otf
или fonts/variable
в книгу шрифтов.
Существует также скрипт, который автоматизирует удаление всех шрифтов Monaspace из ~/Library/Fonts
а затем копирует их в последние версии. Вызовите его из корня репо, например:
$ bash util/install_macos.sh
В качестве альтернативы вы также можете использовать домашнее пиво:
brew tap homebrew/cask-fonts
brew install font-monaspace
Вы можете вручную перетащить шрифты из каталога fonts/otf
или fonts/variable
в C:WindowsFonts
. Либо щелкните правой кнопкой мыши нужные шрифты и выберите «Установить».
Вы можете вручную перетащить шрифты из каталога fonts/otf
и fonts/variable
в ~/.local/share/fonts
.
Существует также скрипт, который автоматизирует удаление всех шрифтов Monaspace из ~/.local/share/fonts
, а затем копирует их на последние версии. Вызовите его из корня репо, например:
$ bash util/install_linux.sh
Все файлы с суффиксом .woff
или .woff2
предназначены для использования в Интернете. Вы не устанавливаете их вместе с операционной системой, а добавляете в свой проект веб-разработки.
Как и шрифты рабочего стола, они доступны в переменных и статических версиях.
Предупреждение
Обработка лигатур существенно изменилась в Monaspace v1.1. Если вы выполняете обновление с Monaspace версии 1.0, ознакомьтесь с примечаниями к выпуску (v1.100, v1.101), чтобы узнать, как изменить настройки редактора.
Установите семейство шрифтов:
"editor.fontFamily" : " 'Monaspace Neon', monospace " ,
Примечание
Вариативные шрифты пока плохо поддерживаются в VS Code, и пока невозможно смешивать несколько шрифтов. Оставайтесь с нами, мы обсуждаем это с командой VS Code!
Вы должны использовать параметр editor.fontLigatures
, чтобы включить различные функции (исправление текстуры, лигатуры и варианты символов). Параметр представляет собой список функций шрифта, разделенных запятыми, которые необходимо включить.
Примечание
Эта настройка недоступна в графическом редакторе настроек; вы должны создать его вручную.
calt
: включает восстановление текстур.liga
: включает динамический интервал для определенных повторяющихся шаблонов символов, таких как ///
ss01
, ss02
и т. д.: включает определенный стилистический набор.cv30
, cv60
и т. д.: включает определенные варианты символов.Собрав все это вместе, строка настроек, которая включает все, кроме вариантов символов, будет выглядеть следующим образом:
"editor.fontLigatures" : " 'calt', 'liga', 'ss01', 'ss02', 'ss03', 'ss04', 'ss05', 'ss06', 'ss07', 'ss08', 'ss09' " ,
Официального руководства по вкладам пока нет! Если вы заинтересованы в создании шрифтов, вам следует прочитать руководство по восстановлению текстур, поскольку оно объясняет, как создавать необходимые альтернативные глифы.
Эта удобная утилита переименовывает и перемещает встроенные шрифты в соответствующие каталоги. Вам понадобится установленный Deno, и вы можете вызвать его следующим образом:
$ ./util/renamer.ts --src= " ~/path/to/the/built/fonts "
СИЛ ОФЛ. См. ЛИЦЕНЗИЯ.
Пожалуйста, сообщайте о проблемах в этом репозитории. Monaspace не является поддерживаемым продуктом; не обращайтесь в службу поддержки GitHub с вопросами, поскольку они не поддерживают исследования GitHub Next.
Monaspace был создан для улучшения всего кода для всех разработчиков. GitHub Next отправился в это путешествие в 2022 году, и нам посчастливилось найти фабрику шрифтов, которая разделяет нашу страсть к улучшению программного обеспечения в Lettermatic. Результатом является сочетание формы и функциональности, которое открывает двери для нового опыта разработчиков, и это было бы невозможно без опыта и навыков команды Lettermatic, а также времени, которое они потратили на работу с GitHub Next, чтобы выяснить, как типографика должно работать для кода.