шрифтовой завтрак
1.94K subscribers
724 photos
46 videos
279 links
Разное на околошрифтовую тему. С предложениями по контенту и сотрудничеству — @nick_from_republuc_of_letters

важно. рекламу не запускаю.
Download Telegram
классная новость:)
передаю слово автору

евгений агасьянц:
Когда-то давно я узнал что есть такая программа Glyphs.app. И я в нее влюбился. Она была красива. В этой программе буквы жили не в отдельных окнах, а в контексте текста. Это казалось чудом. И на это чудо у меня не было денег.

Есть у меня такая черта, если не могу купить — надо сделать самому. Создать инструмент, который я хочу. Делов-то, нарисовал буквы, что-то там еще и бац — шрифт готов. Конечно, не так все просто. Я открыл разок Xcode, и закрыл.

Другая черта — идеи ходят по кругу. И раз в год они возвращаются. И в прошлом году я решил сделать себе хобби. Я программирую разные штуки, и почему бы не сделать для этого хобби цель посерьезнее.

Так я начал делать шрифтовой редактор в вебе — хорошая задача, много чему интересному можно научиться.

Я разобрался с тем, как в браузере представить модель шрифта, как сделать инструменты, хоткеи, историю изменений, как рисовать и редактировать контур, как делить и объединять кривые, как набирать текст, как вставлять контур из иллюстратора.

Потом я разобрался как хранить все на сервере и сделал небольшой бекенд на руби-на-рельсах, сделал гостевой доступ и авторизацию через соцсети (почтовые уведомления — дорогая штука, кстати). Даже придумал, как прикрутить библиотеку на питоне, которая будет сохранять шрифтовой файл. И сохранил свой первый ttf-файл.

В какой-то момент решение небольших таких задачек стало вырисовываться в настоящее приложение. И появилась мысль, что если из этого может выйти что-то стоящее, не
Glyphs.app конечно, но хотя бы лучше, чем Fontra или Glyphr?

Но решить такую задачу в одиночку почти невозможно. Нужно много сил, времени и ресурсов.

https://typlr.app

Мне нравятся буквы, я верю в веб-приложения, верю в бум PWA. И отлично понимаю, что таких редакторов не много, потому что их много и не надо.
This media is not supported in your browser
VIEW IN TELEGRAM
иногда такое бывает))
Помним
olli meier {fontwerk} и хинтинг
очень люблю скрипт presenter за простой интерфейс кастомизации и работу внутри шрифтового редактора, а ещё больше люблю окно skedge (тоже марка фрёмберга) в котором можно как угодно настроить внешний вид точек и пути, который рисуешь,

но сегодня на глаза попался бесплатный скрипт для иллюстратора, который расставляет oncurve/offcurve точки и усы между ними. не идеал для отображения букв потому что не учитывает тип точек, но при желании js можно немного подправить под себя.


___________
го в комменты с мнениями о том какие точки стоят неправильно на этом примере
шрифтонник typologie foundry.
чёрный с шрифтами французских слволитен, в красном швейцарские, а в синем британские

подробнее >тут<
This media is not supported in your browser
VIEW IN TELEGRAM
+ гротеск
ever by kostas bartsokas

специмен >тут<
обожаю рефакторинг от-фич. помогает упорядочить код, уменьшить размер и выявить пробелы в логике.
а ещё в процессе можно что-нибудь узнать. например, в заменах one_to_many, ссылка на класс может и не работать, и, чтобы всё правильно собиралось в итоговом файле, нужно объявлять класс в теле строки.

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


первый проход
# д.п.—> д. п.
sub de-cy period' pe-cy period by period thinspace;
# п.н —> п. н.
sub pe-cy period' en-cy period by period thinspace;
# к.п.—> к. п.
sub ka-cy period' pe-cy period by period thinspace;
# а п.н. уже решено

и переношу общую часть повыше

# п.н. —> п. н.
sub pe-cy period' en-cy period by period thinspace;
# д.п.—> д. п.
sub de-cy period' pe-cy period by period thinspace;
# к.п.—> к. п.
sub ka-cy period' pe-cy period by period thinspace;


оставшиеся две строки отличаются только первым знаком в последовательности, выношу их в класс:

@AbbreviationsStart = [de-cy ka-cy ];


фрагмент теперь выглядит так:
# п.н. —> п. н.
sub pe-cy period' en-cy period by period thinspace;
# к.п. —> к. п. // д.п.—> д. п.
@AbbreviationsStart = [de-cy ka-cy ];
sub @AbbreviationsStart period' pe-cy by period thinspace;


и всё бы здорово, но теперь этот блок перестал работать в редакторах.
поэтому объявляю класс в строке, а не ссылаюсь на него.

# к//д.п.—> к//д. п.
sub [ka-cy de-cy] period' pe-cy by period thinspace;


и в таком виде всё работает 🙂


в итоге вместо
sub de-cy period' pe-cy period by period thinspace;
sub pe-cy period' en-cy period by period thinspace;
sub ka-cy period' pe-cy period by period thinspace;

в тексте фич остаётся
sub pe-cy period' en-cy period by period thinspace;
sub [ka-cy de-cy] period' pe-cy by period thinspace;


убрал 46 символов (почти 6 байт) из веса файла и сделал возможность добавления правил чуть удобнее, чем в жестких построчных решениях
This media is not supported in your browser
VIEW IN TELEGRAM
work in progress

опережая вопрос:
такой тайптестер тут —>
http://max-esnee.com/stack-and-justify/