Дизайнеры (в том числе и шрифтовые) уже не первый год обсуждают, останутся ли они без работы, если не научатся программировать. Мы считаем, что этого не произойдёт (и с нами согласна, например, студия ABC Dinamo), хотя знание Python и Javascript упрощает работу над шрифтом и помогает обходить ограничения шрифтовых редакторов.
В этом материале рассказываем, для чего именно дизайнерам может пригодиться код или его понимание.
Чтобы писать скрипты, плагины и расширения
Скрипты, плагины и расширения упрощают работу в шрифтовом редакторе. Скрипты не добавляют программе новых функций, но позволяют автоматизировать повторяющиеся действия и рутинные процессы. Например, для Glyphs есть скрипты, которые помогают избавиться от лишних точек на контуре, удалить неиспользуемые слои или найти самые высокие и самые низкие точки в шрифте. Скопированный с GitHub скрипт можно вставить в специальное окно в Glyphs или Robofont, там же можно написать скрипт с нуля, пользуясь языком Python.
Расширения, или плагины
Tеоретически расширения подходят для разных программ, а плагины пишутся для конкретной. В контексте шрифтовых редакторов эти слова используются как синонимы, устроены сложнее, в отличие от скриптов это уже не просто участки кода, которые можно скопировать, а отдельные небольшие
Расширение Янон SpeedPunk объяснит начинающим дизайнерам логику работы с векторами и кривыми Безье Расширение Таль Леминг Glyph Nanny проверит контуры на технические ошибки Расширение Дэвида Джонатана Росса Overlay UFOs наложит глифы одного шрифта на глифы другого
Чтобы писать новые приложения и алгоритмы
Писать можно не только плагины и расширения, но и отдельные программы. Например, дизайнерами написаны онлайн-спесимен-генератор, кастомайзер цветных шрифтов, приложение для предпросмотра шрифтов FontGoggles и редакторы FontForge и Birdfont. Первые два используют Javascript, а последние
Приложения, написанные сразу несколькими дизайнерами, объединены в программе AFDKO — коллекции Python-библиотек для работы со шрифтом, выпущенной Adobe. AFDKO может, например, экспортировать шрифт из ufo-файла, не открывая шрифтовой редактор, или вывести pdf-файл, где каждый глиф с отмеченными точками контура и векторами будет размещён на отдельной странице.
Но дизайнеры делают и менее прикладные
А дизайнер Чарли Джеффрис связал шрифтовой редактор с базой данных, и запрограммировал шрифт, который визуализирует то, как из-за глобального потепления разрушаются кораллы.
Начать учиться писать приложения на Python можно с помощью DrawBot. Юст ван Россум (создатель FontGoggles), Эрик Блокланд и Фредерик Берлен придумали её специально для дизайнеров. С DrawBot учатся программировать, например, студенты TypeMedia и Type@Cooper, которые раньше не писали код. (В Type@Cooper DrawBot преподаёт Дэвид Джонатан Росс, автор Fit, Forma DJR, Input и Megazoid.)
Галерея адаптивной типографики, сделанной в Drawbot студентами TypeMedia
Адаптивная типографика в афдентике ко Дню короля, сделанная в Drawbot, студия Dumbar
Чтобы обходить существующие ограничения
Студии, которые активно работают с кодом, не только оптимизируют свою работу, но и ставят под сомнение привычные алгоритмы работы над шрифтом.
Например, Underware предлагает работать с кубическими кривыми Безье вместо квадратичных и с интерполяцией высшего
А программист Бегдад Эсфабад написал код, который поможет обойти ограничение в 65 535 знаков и добавить в один шрифтовой файл все глифы Юникода (их сейчас 149 186). Лимит в 65 тысяч может показаться недостижимым, но столько знаков в Noto Sans, который поддерживает, например, греческий, грузинский и деванагари, но не поддерживает корейский, японский и китайский.
Чтобы эффектно презентовать шрифт
С помощью кода можно достаточно быстро сделать анимацию. Обычно дизайнеры используют для этого Processing — язык программирования и приложения, максимально удобные для криэйтив-кодинга. В Processing есть Python
Над любовью шрифтовых дизайнеров к таким презентациям иронизировал художник и разработчик Рашри Сараф. Он придумал вариативный AR-native шрифт, который существует только в приложении, а вместо бегунка на оси
Чтобы общаться с программистами
Понимание того, как устроен код и как он работает, поможет максимально точно поставить задачу программисту, если вам понадобится заказать скрипт, плагин или приложение.
А знание CSS поможет понять, как именно шрифтом будет пользоваться верстальщик, и, если нужно, внести изменения в файл, чтобы шрифт одинаково хорошо работал на максимальном количестве устройств и в максимальном количестве программ.