icofon
Папка SVG на входе, иконочный шрифт на выходе — одной командой.
Консольный инструмент, который собирает из папки SVG-иконок иконочный шрифт: WOFF2, WOFF и TTF, стили с классом на каждую иконку и страницу предпросмотра с поиском.
Основная работа — привести рисунки к тому, что шрифт вообще умеет хранить. Шрифт
умеет только заливать, поэтому каждый штрих обводится собственным контуром;
дырки на evenodd переориентируются, чтобы пережить non-zero winding; белые
фигуры и бледные заливки читаются как фон, а не как краска, — поверх рисунка они
становятся вывороткой, поверх пустоты выбрасываются. Иконки больше чем с одним
цветом выводятся слоями COLR/CPAL, а не сплющиваются в пятно, и слои,
закрашенные currentColor, по-прежнему слушаются вашего CSS.
Кодовые позиции лежат в icofon.json рядом с иконками и ключуются путём файла —
так новая иконка не сдвигает те, что уже опубликованы и осели в кэшах. Сборка
воспроизводима, а icofon check роняет CI на любом SVG, который не может стать
глифом.
Rust, MIT, ставится готовым бинарником: brew install jwo1f/tap/icofon.