Конверторы шрифтов на javascript: svg2ttf, ttf2woff, ttf2eot

в 6:54, , рубрики: javascript, node.js, woff, шрифты, метки: ,

Многим из вас знаком сайт fontello.com, который помогает делать иконочные шрифты для вебсайтов. Сегодня хочется вас познакомить с некоторыми полезными штуками, которые у него поместились под капотом. А именно — с конверторами шрифтов:

Вы можете найти «в интернетах» много проектов, которые предлагают конвертировать форматы шрифтов, но все они так или иначе завязаны на FontForge. Он конечно работает, но не всегда так как хочется, и не всегда удобeн. Со временем накопились и другие причины для своих лисапедов:

  • У фонтфоржа, при импорте картинок и конвертации форматов, с изображениями и фонтами бывают странности. Например, покоцанная ширина глифов у WOFF, недописанные хедеры у SVG и скейлинг импортированных картинок по высоте
  • Не для всех платформ фонтфорж есть в виде готовых пакетов, а собирать из исходников муторно
  • Есть планы добавить импорт кастомных иконок и фонтов. Через сервер это делать накладно, а отображать через костыли вроде рафаэля/куфона — путь в никуда. Да и покажут такие костыли не точно тоже самое, что вы получите в конечном результате.

В общем, захотелось все сделать на яваскрипте, с перспективой погонять код прямо в браузере. Конверторы в WOFF и EOT получились довольно быстро, т.к. файлы являются простыми контейнерами TTF/OpenType. А вот с генерацией TTF пришлось повозиться. Но вчера квест закончился, и код поехал в продакшен.

Возможно, эти конверторы окажутся полезными в ваших собственных проектах. Код на гитхабе, лицензия MIT. Удачи!

Автор: Vitaly

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js