Хотите (нечасто) обновления о новых шрифтах от типа стрелы?
? Зарегистрируйтесь на информационный бюллетень типа стрелы! ?
Следуйте @arrowtype в Instagram!
Узнайте больше о рекурсивном веб -образе →

Recursive Sans & Mono - это семейство переменных, созданное для лучшего кода и пользовательского интерфейса. Он вдохновлен повседневным сценарием, но разработан в первую очередь для удовлетворения потребностей среды программирования и интерфейсов приложений.
В программировании «рекурсия» - это когда функция вызывает себя, используя свой собственный выход в качестве входного ввода для получения мощных результатов. Рекурсивный моно использовался в качестве инструмента, который помогает создать себя: он использовался для написания сценариев Python для автоматизации производственных работ типа и для создания образа образцов, и он использовался в HTML, CSS и JS для создания веб-доказательств и прототипов. Благодаря этому активному использованию рекурсивное моно было создано для того, чтобы быть интересным, чтобы смотреть, а также глубоко полезные для работы в течение всего дня.
Рекурсивный Sans заимствует Glyphs из своего родительского моно, но корректирует ширину многих ключевых глифов для комфортной читаемости. Его метрики суперплексы - каждый стиль занимает одно и то же горизонтальное пространство, во всех стилях. В этом шрифте переменной 3-осевой переменной это позволяет провести плавные переходы между весом, уклоном и «выражением» (случайные к строгим письмам), все без текстовых сдвигов или макета. Это не только позволяет использовать новые интерактивные возможности в пользовательском интерфейсе, но и уникально забавное опыт набора.
Рекурсив разработан с модифицированным набором экспертных символов Google Fonts, включая многочисленные полезные символы для валют и математики (см. Примечания набора символов для более подробной информации), а также поддержка для следующих языков:
Abenaki, Afaan Oromo, Afar, Afrikaans, Albanian, Alsatian, Amis, Anuta, Aragonese, Aranese, Aromanian, Arrernte, Arvanitic (Latin), Asturian, Atayal, Aymara, Azerbaijani, Bashkir (Latin), Basque, Belarusian (Latin), Bemba, Bikol, Bislama, Bosnian, Breton, Cape Verdean Creole, Catalan, Cebuano, Chamorro, Chavacano, Chichewa, Chickasaw, Cimbrian, Cofán, Cornish, Corsican, Creek, Crimean Tatar (Latin), Croatian, Czech, Danish, Dawan, Delaware, Dholuo, Drehu, Dutch, English, Esperanto, Estonian, Faroese, Fijian, Filipino, Finnish, Folkspraak, French, Frisian, Friulian, Gagauz (Latin), Galician, Ganda, Genoese, German, Gikuyu, Gooniyandi, Greenlandic (Kalaallisut), Guadeloupean Creole, Gwich’in, Haitian Creole, Hän, Hawaiian, Hiligaynon, Hopi, Hotcąk (Latin), Hungarian, Icelandic, Ido, Igbo, Ilocano, Indonesian, Interglossa, Interlingua, Irish, Istro-Romanian, Italian, Jamaican, Javanese (Latin), Jèrriais, Kaingang, Kala Lagaw Ya, Kapampangan (Latin), Kaqchikel, Karakalpak (Latin), Karelian (Latin), Kashubian, Kikongo, Kinyarwanda, Kiribati, Kirundi, Klingon, Kurdish (Latin), Ladin, Latin, Latino sine Flexione, Latvian, Lithuanian, Lojban, Lombard, Low Saxon, Luxembourgish, Maasai, Makhuwa, Malay, Maltese, Manx, Māori, Marquesan, Megleno-Romanian, Meriam Mir, Mirandese, Mohawk, Moldovan, Montagnais, Montenegrin, Murrinh-Patha, Nagamese Creole, Nahuatl, Ndebele, Neapolitan, Ngiyambaa, Niuean, Noongar, Norwegian, Novial, Occidental, Occitan, Old Icelandic, Old Norse, Onĕipŏt, Oshiwambo, Ossetian (Latin), Palauan, Papiamento, Piedmontese, Polish, Portuguese, Potawatomi, Q’eqchi’, Quechua, Rarotongan, Romanian, Romansh, Rotokas, Sami (Inari Sami), Sami (Lule Sami), Sami (Northern Sami), Sami (Southern Sami), Samoan, Sango, Saramaccan, Sardinian, Scottish Gaelic, Serbian (Latin), Seri, Seychellois Creole, Shawnee, Shona, Sicilian, Silesian, Slovak, Slovenian, Slovio (Latin), Somali, Sorbian (Lower Sorbian), Sorbian (Upper Sorbian), Sotho (Northern), Sotho (Southern), Spanish, Sranan, Sundanese (Latin), Swahili, Swazi, Swedish, Tagalog, Tahitian, Tetum, Tok Pisin, Tokelauan, Tongan, Tshiluba, Tsonga, Tswana, Tumbuka, Turkish, Turkmen (Latin), Tuvaluan, Tzotzil, Uzbek (Latin), Venetian, Vepsian, Vietnamese, Volapük, Võro, Wallisian, Walloon, Waray-Waray, Warlpiri, Wayuu, Welsh, Wik-Mungkan, Wiradjuri, Wolof, Xavante, Xhosa, Yapese, Yindjibarndi, Zapotec, Zarma, Zazaki, Zulu, Zuni
Когда вы рассматриваете возможность использования шрифта, лицензия шрифта является одной из первых вещей, которые вы должны искать и прочитать. В нем описывается, как вы соглашаетесь использовать шрифты, а лицензирование шрифтов отличается между различными проектами типа и литейными заводами типа.
Рекурсивный проект лицензирован по лицензии SIL Open Font V1.1. Это свободная лицензия на программное обеспечение, которая позволяет вам использовать программное обеспечение для шрифтов в рамках набора условий. Пожалуйста, обратитесь к полному тексту лицензии для получения подробной информации о разрешениях, условиях и отказе от ответственности.
Простой путь: откройте файлы шрифтов в книгу шрифтов и нажмите «Установить шрифт».
Хороший способ:
<yourusername>/Library/FontsДважды щелкните файл TTF, затем выберите «Установить».
Чтобы установить много статических шрифтов (они могут лучше работать в таких приложениях, как Microsoft Word и PowerPoint):
static_fonts , затем в папку Mono или Sans static_otf .Это большая тема, но пара хороших руководств из MDN и от CSS-Tricks.
В целом, вы должны связать в шрифте с @font-face , будучи уверенным в том, чтобы использовать font-weight: 300 1000; Чтобы указать диапазон веса шрифта:
@font-face {
font-family: 'Recursive';
src: url('path/to/font/<UPDATE_SPECIFIC_FONT_PATH>.woff2') format('woff2-variations');
font-weight: 300 1000;
}
Затем вы можете использовать шрифт с font-weight и font-variation-settings !
Примечания:
MONO и CASL являются «незарегистрированными» осями (в настоящее время не в официальном списке осях и спецификаций Microsoft), поэтому эти теги должны использоваться в всех CAPS и контролируются с помощью font-variation-settings .font-style для управления осей slnt и CRSV , но у них есть некоторые проблемы поддержки браузеров (по состоянию на октябрь 2019 года, но инструменты быстро развиваются, чтобы лучше поддерживать шрифты с переменной, так что это улучшится со временем!) На данный момент лучше всего работают в font-variation-settings .font-variation-settings -узнать больше об этой технике в фантастическом учебном пособии Pixel Ambacht о нем. Есть два основных способа использования рекурсивных в редакторах кода:
Установите шрифты Rec Mono (найденные в папке «recursive_code» для загрузки выпуска). У них есть кодовые лигатуры и несколько стилистических наборов, предварительно применяемых, поэтому они будут работать по умолчанию в большинстве сред и приложений кода. Они также названы и настроены таким образом, что позволяет использовать их в кодовых темах, которые используют курсивные и жирные стили. Если вы хотите настроить определенные функции в Rec Mono шрифтах (например, пунктирное 0 или одноэтажное g ), см. Конкурсивный код.
Эти шрифты построены более традиционным способом, чем шрифты «код» выше, поэтому они могут сделать немного лучше в некоторых контекстах. Однако есть плюсы и минусы: кодовые лигатуры лучше работают в шрифтах «кода», во многих приложениях только для монопродажи. На Mac перед MacOS 11 они не работают в темах с курсивом - см. Выше для «кодовых» шрифтов. И шрифты «кода» позволяют вам немного больше настройки, если вы хотите!
Чтобы использовать стандартные шрифты DeckTop, установите Recursive Mono -шрифты на рабочем столе (найденные в папке «recursive_desktop» для загрузки релизов). Затем активируйте их и установите функции OpenType, если ваш редактор кода позволяет это. Инструкции для трех редакторов следуют.
Таким образом, откройте настройки редактора и установите семью шрифтов. Эти фамилии сокращены, потому что длинные имена шрифтов могут вызвать ошибки в некоторых средах. Основные сокращения следующие:
Mn означает моно (Monospace/фиксированная ширина)Sn означает SANS (пропорциональная/естественная ширина)Csl означает случайныйLnr означает линейныйSt означает статический (в отличие от переменной, например, полная рекурсивная переменная шрифт) Таким образом, вы в значительной степени установите свой редактор для использования либо Recursive Mn Csl St , либо Recursive Mn Lnr St .
В настройках поиск Font Family , затем укажите семью, которую вы хотите использовать.
Для рекурсивного моно случайного регулярного:
"Recursive Mn Csl St", Menlo, "Apple Color Emoji", monospace
Для рекурсивного моно -линейного регулярного:
"Recursive Mn Lnr St", Menlo, "Apple Color Emoji", monospace
Затем, если вы хотите, вы можете активировать функции OpenType, выполнив поиск в настройках для fontLigatures , затем редактируя это в настройках.
"editor.fontLigatures" : " 'ss01','ss05','dlig' " (Выше приведет вас в упрощенных 6 и 9 , a и активирующих кодовых лигатур.)
В панели меню перейдите в Atom -> Stylesheet и добавьте в следующее:
atom-text-editor {
font-family : 'Recursive Mn Csl St' ; /* This sets the font family*/
font-feature-settings : "ss01" , "ss05" , "dlig" ; /* This sets OpenType features, if you want to set them. */
} Используйте font-family: 'Recursive Mn Lnr St'; Чтобы получить линейную семью.
Перейдите в Sublime Text -> Preferences -> Settings и установите font_face на конкретное имя PostScript стиля, который вы хотите использовать.
Для рекурсивного моно случайного регулярного:
"font_face" : " Recursive Mn Csl St " ,Для рекурсивного моно -линейного регулярного:
"font_face" : " Recursive Mn Lnr St " , Чтобы управлять лигатурами кода или другими функциями OpenType, установите открытую font_options , например, SO:
"font_options" : [ " ss01 " , " ss05 " , " dlig " ],Итак, полные настройки могут выглядеть примерно так:
{
"font_face" : " Recursive Mn Lnr St " ,
"font_size" : 24 ,
"theme" : " Adaptive.sublime-theme "
}Рекурсивный имеет следующие оси:
| Ось | Ярлык | Диапазон | По умолчанию | Описание |
|---|---|---|---|---|
| Моноспорт | MONO | От 0 до 1 | 0 | Sans (естественная ширина) к моно (фиксированная ширина) |
| Повседневный | CASL | От 0 до 1 | 0 | Линейный или случайный |
| Масса | wght | От 300 до 1000 | 300 | Свет до извлечения. Может быть определен с обычным свойством Font-Weight. |
| Наклон | slnt | От 0 до -15 | 0 | В вертикальном положении (0 °) до наклонного (около 15 °) |
| Курсив | CRSV | 0, 0,5 или 1 | 0,5 | Всегда римский (0), авто (0,5) или всегда курсивные (1) |
Определения оси, рекурсивные
Monospace MONO - от 0 до 1. Регулирует ширину глифа от пропорциональной или «Sans» (0) к фиксированной ширине или «моно» (1).
Рекомендуемое использование: В целом, пропорциональный дизайн более читабелен в тексте и пользовательском интерфейсе, в то время как дизайн Monospace более подходит для кода и текста, в которых неоднозначная буква особенно важна (например, пароли, идентификационные номера, табличные данные и т. Д.).
Случайный CASL - от 0 до 1. Регулирует выразительный стиль или «жанр» глифов. В рекурсии это переходит от линейного (0) к непринужденному (1).
Рекомендуемое использование: линейный стиль разделяет структуру, аналогичную шрифтам, классифицированной как линейные , объединяющие аспекты гуманистического без сэнализированных, компактных, плоских букв. Эта обычная, знакомая структура делает его подходящим для длинного текста, требующего фокусировки (например, абзацы, полнокодные документы и резкие заголовки). Повседневный стиль вдохновлен однонародной повседневной обороной, но натягивается для небольших размеров. Он наиболее полезен в тексту более короткой формы, где требуется теплый и привлекательный тон (например, заголовки сообщения в блоге, вывески хранилища и компьютерные терминалы).
Вес wght - от 300 до 1000. Общая толщина букв и темнота текста, составленная с ними. Примечательно, что в рекурсии ось веса не влияет на ширину глифа. Смелый вес занимает такое же количество пространства, что и легкий вес, даже в пропорциональных стилях MONO оси.
Рекомендуемое использование: Различия в весе могут сделать акцент на текстах, показывать взаимодействие с пользователем или настраивать тон связи. Для света на темном фоне 400 («обычный»), как правило, подходит для текста и кода. Для темного текста на легком фоне может быть полезно регулировать вес вверх до 500 («средний»).
Почему это не ось класса? Смотрите выпуск № 365
Slant slnt -от 0 до -15. «Прямая наклона» букв. Примечание: -15 (отрицательный 15) соответствует 15 ° наклона по часовой стрелке, из -за корней дизайна типа в геометрии. Если курсивная ось находится в своем значении по умолчанию, прохождение наклонного уровня -13.99 активирует «курсивные» буквы, преобразуя их в более сформулированные формы, такие как упрощенная, «одиночная история» a и g
Рекомендуемое использование: Используйте наклон в качестве второстепенного способа, чтобы подчеркнуть текст или варьировать типографский тон. В тексте может быть полезно использовать частичный уклон около -9, в то время как при размерах дисплея вы можете ожидать наиболее точные очертания на 0 или -15. Вы также можете оживить от 0 до -13 без формирования букв или ширины глифа, что отлично подходит для таких вещей, как зависание или кнопки.
Кризивный CRSV - 0, 0,5 или 1. контролирует замену курсивных форм вдоль наклонной оси. «OFF» (0) поддерживает римские буквы, такие как «двойная история» a и g , «Авто» (0,5) позволяет заменить курсивную замену, а «включение» (1) утверждает курсивные формы даже в вертикальном тексте с уклоном 0.
Рекомендуемое использование: Используйте курсив в качестве третичного способа подчеркнуть текст, или в качестве способа контроля над анимированным текстом (например, гиперссылка, которая наклона на взаимодействие с пользователем может привести к стилю с курсивом 0 или 1, чтобы предотвратить резкие изменения замены глифа).
В целом, рекурсив предназначен для использования размером с малого и среднего, особенно на экране. Тем не менее, полезно понять, какие стилистические диапазоны работают лучше всего в каком контексте. Несколько рекомендаций, которые стоит знать:
| Стиль диапазон | Рекомендуемый размер | Рекомендуемый вариант использования |
|---|---|---|
| Случайный 0 (линейный) , вес 300–800 (Extrabold) | 8px до 72px | Общее использование (особенно для более длинного текста) |
| Случайный 1 (повседневная) , вес 300–800 (Extrabold) | 14px до 72px | Общее использование (больше личности) |
| Вес 801–900 (черный -экстрабак) | 32px до 144px | Заголовки, отображение типографии |
| Промежуточные значения повседневного и наклонного | 10px до 40px | Хороший в тексте, но может не выглядеть так же хорошо в размерах дисплея |
Вещи, о которых нужно знать:
CASL и slnt . Если вы придерживаетесь именованных экземпляров в приложениях для дизайна (например, Mono Casual Bold Italic и т. Д.), Это обрабатывается для вас автоматически.Рекурсив построен с несколькими функциями OpEntype, которые позволяют управлять несколькими удобными типографскими функциями.

Чтобы построить, настройте виртуальную среду
virtualenv -p python3 venv
Затем активируйте это:
source venv/bin/activate
Затем установите требования:
pip install -U -r requirements.txt
Также:
pip install git+https://github.com/LettError/DesignspaceProblems
Шрифты построены со сценарием mastering/build.py . Этот сценарий может построить все ( python build.py --all ) или подмножество шрифтов. Чтобы просмотреть все параметры, введите python build.py -h чтобы увидеть все варианты. Рекомендуемый процесс сборки подробно описан ниже.
ПРИМЕЧАНИЕ. Существуют подписание для простого подготовки исходных файлов ( mastering/prep_fonts.py ), создание исходных файлов ( mastering/build_files.py ), создавая шрифт переменной ( mastering/build_variable.py ) и генерируя статические шрифты ( build_static.py ). Эти сценарии могут быть удобны, если вы просто хотите сделать одну вещь с файлами сборки. Каждый принимает набор аргументов командной строки, все документированные (введите python <script_name> -h ) для просмотра документации.
Во -первых, подготовленные шрифты
Перед началом измените свой рабочий каталог на mastering .
cd mastering
python build.py --files -первый шаг. Это генерирует все файлы, необходимые для создания переменной и статических шрифтов. Скорее всего, вы захотите дать шрифту номер версии с этой командой ( python build.py --version 1.085 --files ). Чтобы подготовить только файлы для шрифта переменной, используйте python build.py --varfiles или для подготовки только файлов для статических шрифтов, используйте python build.py --statfiles .
После того, как файлы были сгенерированы (обратите внимание, что статические экземпляры занимают немного времени, чтобы сгенерировать), вы захотите посмотреть на файл mastering/build/static/CFF/checkoutlines.txt . Это отчет (отредактированный для удаления проблем, которые не требуют внимания) из CheckOutlinesufo. Проблемы, найденные в этом отчете, должны быть очищены в статических НЛО. Многие проблемы связаны с перекрытием. Нет ничего идеального, алгоритмы удаления перекрытия включены.
Для создания переменного шрифта
Чтобы создать шрифт переменной, запустите:
# activate venv, install dependencies, cd mastering
version=1.085 # (replace version number)
python build.py --varfiles --version $version
python build.py --variable --version $versionЧтобы построить статические шрифты
Чтобы построить все статические шрифты, беги:
# activate venv, install dependencies, cd mastering
version=1.085 # (replace version number)
python build.py --statfiles --version $version
python build.py --static --version $versionЧтобы построить все шрифты
Если вы хотите построить все источники, шрифты и версии WOFF2 всех шрифтов:
# activate venv, install dependencies, cd mastering
python build.py --all --version 1.085 # (replace version number)Получите уведомления (только Mac)
Добавить опцию --pync ( -p для короткого) в вызов сценария, чтобы получить уведомления Mac, что может быть полезным, если вы работаете над другими задачами, пока выполняется сборка.
# activate venv, install dependencies, cd mastering
python build.py --all --pync --version 1.085 # (replace version number)Во -первых, построить шрифты с потоком мастеринга выше. Затем:
# navigate to the root directory of the project, then...
# update to latest font build directory
fontDir= " fonts_1.085 "
src/build-scripts/make-release/00-prep-release.sh $fontDir Затем скопируйте последнюю переменную шрифт в свой локальный рекурсивный код Repo, чтобы создать обновленные шрифты кода. Скопируйте их в недавно сделанные fonts/ArrowType-Recursive-1.XXX/Recursive_Code .
Наконец, перейдите на страницу репо, чтобы сделать новую.
Этот проект включал в себя большое количество исследований (содержащихся в docs/ ), и содержит много небольших инструментов (содержащихся в src/00-recursive-scripts-for-robofont которые могут помочь вам, если вы разрабатываете переменные шрифты с НЛО в Robofont.
Перейдите к папке сценариев Robofont в терминале.
cd , затем копируйте вставку или перетащите папку Scripts, чтобы получить полную FilePath. Нажмите return/enter. Сделайте символическую ссылку или «символику» в папку рекурсивных проектов, src/00-recursive-scripts-for-robofont
ln -ssrc/00-recursive-scripts-for-robofont от Finder, чтобы получить полный путь. Нажмите return/enter.ls для перечисления файлов. Вы должны рассматривать src/00-recursive-scripts-for-robofont в качестве одного из перечисленных элементов.Итак, это будет выглядеть как:
ln -s ~/FOLDER_PATH/robofont-scripts ~/FOLDER_PATH/recursive/src/00-recursive-scripts-for-robofont
Теперь вы можете запустить рекурсивные сценарии проекта непосредственно из меню сценариев или открыв их в окне сценариев.
См. Appling.md для политики в отношении участия в проекте.