Шрифт × код

Где и когда шрифтовому дизайнеру может пригодиться код

7 сентября 2023 г.


Дизайнеры (в том числе и шрифтовые) уже не первый год обсуждают, останутся ли они без работы, если не научатся программировать. Мы считаем, что этого не произойдёт (и с нами согласна, например, студия ABC Dinamo), хотя знание Python и Javascript упрощает работу над шрифтом и помогает обходить ограничения шрифтовых редакторов.

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

Чтобы писать скрипты, плагины и расширения

Скрипты, плагины и расширения упрощают работу в шрифтовом редакторе. Скрипты не добавляют программе новых функций, но позволяют автоматизировать повторяющиеся действия и рутинные процессы. Например, для Glyphs есть скрипты, которые помогают избавиться от лишних точек на контуре, удалить неиспользуемые слои или найти самые высокие и самые низкие точки в шрифте. Скопированный с GitHub скрипт можно вставить в специальное окно в Glyphs или Robofont, там же можно написать скрипт с нуля, пользуясь языком Python.

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



Чтобы писать новые приложения и алгоритмы

Писать можно не только плагины и расширения, но и отдельные программы. Например, дизайнерами написаны онлайн-спесимен-генератор, кастомайзер цветных шрифтов, приложение для предпросмотра шрифтов FontGoggles и редакторы FontForge и Birdfont. Первые два используют Javascript, а последние три — Python, их код находится в открытом доступе, и любой, кто владеет Python, сможет изменить их под свою конкретную задачу.


4


Приложения, написанные сразу несколькими дизайнерами, объединены в программе AFDKO — коллекции Python-библиотек для работы со шрифтом, выпущенной Adobe. AFDKO может, например, экспортировать шрифт из ufo-файла, не открывая шрифтовой редактор, или вывести pdf-файл, где каждый глиф с отмеченными точками контура и векторами будет размещён на отдельной странице.

Но дизайнеры делают и менее прикладные вещи — студентка университета Коимбры написала программу, которая позволяет сгенерировать новый шрифт, смешав компоненты уже существующих (например, взять капли из Bodoni, а стойки из Helvetica Neue). Места, где стыкуются элементы, не всегда видны, потому что контур буквы в программе заполняется паттерном. Подойдёт получившийся декоративный шрифт, конечно, очень небольшому количеству проектов.


5


А дизайнер Чарли Джеффрис связал шрифтовой редактор с базой данных, и запрограммировал шрифт, который визуализирует то, как из-за глобального потепления разрушаются кораллы.



Начать учиться писать приложения на Python можно с помощью DrawBot. Юст ван Россум (создатель FontGoggles), Эрик Блокланд и Фредерик Берлен придумали её специально для дизайнеров. С DrawBot учатся программировать, например, студенты TypeMedia и Type@Cooper, которые раньше не писали код. (В Type@Cooper DrawBot преподаёт Дэвид Джонатан Росс, автор Fit, Forma DJR, Input и Megazoid.)


7Галерея адаптивной типографики, сделанной в Drawbot студентами TypeMedia


Адаптивная типографика в афдентике ко Дню короля, сделанная в Drawbot, студия Dumbar


Чтобы обходить существующие ограничения

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

Например, Underware предлагает работать с кубическими кривыми Безье вместо квадратичных и с интерполяцией высшего порядка — вместо линейной. Это должно помочь делать вариативные шрифты лучшего качества при меньшем количестве мастеров (а ещё позволит встраивать в шрифт анимацию).


9


А программист Бегдад Эсфабад написал код, который поможет обойти ограничение в 65 535 знаков и добавить в один шрифтовой файл все глифы Юникода (их сейчас 149 186). Лимит в 65 тысяч может показаться недостижимым, но столько знаков в Noto Sans, который поддерживает, например, греческий, грузинский и деванагари, но не поддерживает корейский, японский и китайский.

Чтобы эффектно презентовать шрифт

С помощью кода можно достаточно быстро сделать анимацию. Обычно дизайнеры используют для этого Processing — язык программирования и приложения, максимально удобные для криэйтив-кодинга. В Processing есть Python Mode — в этом режиме можно писать код, пользуясь возможностями визуализации, которые предлагает Processing. С Processing работал, например, Анатолий Гращенко, когда вёл наш инстаграм. Эта социальная сеть принадлежит компании Meta, которую Минюст РФ признал экстремистской. Согласно указу Минюста РФ, мы обязаны упоминать об этом каждый раз, когда делимся картинками из Instagram




Над любовью шрифтовых дизайнеров к таким презентациям иронизировал художник и разработчик Рашри Сараф. Он придумал вариативный AR-native шрифт, который существует только в приложении, а вместо бегунка на оси вариативности — поверхности, на которые вы наводите камеру. Формы знаков меняются в зависимости от геометрии пространства.


10


Чтобы общаться с программистами

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

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