Кто-нибудь знает инструмент командной строки, который будет преобразовывать шрифты TTF и OTF в шрифты SVG?
Инструмент командной строки для преобразования шрифтов TTF/OTF в SVG
Ответ 1
Вы можете использовать fontforge или batik, чтобы сделать это из командной строки.
С помощью fontforge (см. Документацию по сценариям):
#!/usr/bin/fontforge
Open($1)
Generate($1:r + ".svg")
Сохраните вышеупомянутое в файл convert2svgfont.pe
, затем вызовите как:
convert2svgfont.pe myfont.ttf
Для батика см. Эту документацию, установите и затем вызовите как:
java -jar batik-ttf2svg.jar myfont.ttf -o myfont.svg
Ответ 2
Рецепт fontforge, данный ранее @Erik, больше не работает - fontforge переключился на скрипты Python.
Вот как я конвертировал шрифт из PFA в SVG в командной строке - это также будет хорошо работать для TTF и т.д.:
fontforge -c 'import fontforge;fontforge.open("/usr/share/fonts/X11/Type1/NachlieliCLM-Bold.pfa").generate("NachlieliCLM-Bold.svg")'
Ответ 3
Батикская часть этого ответа также устарела, потому что батик выдает вывод svg с использованием устаревшего элемента глифа.
Если вы запустите последнюю версию батика на nasa.ttf, например,
java -jar batik-ttf2svg-1.10.jar nasa.ttf -o myfont.svg
вы получите вывод, который выглядит примерно так
<font horiz-adv-x="1045" ><font-face
font-family="Nasa"
units-per-em="2048"
panose-1="2 11 5 0 0 0 0 0 0 0"
ascent="1507"
descent="-393"
alphabetic="0" />
.... сопровождаемый намного большим кодом, представляющим каждый глиф в шрифте
способ решения этой проблемы представлен в ответе в разделе Использование тега глифа SVG в HTML - превращайте глифы в символы и переворачивайте их.
Относительно того, почему шрифты перевернуты по оси X, см. Замененную часть спецификации https://www.w3.org/TR/SVG11/fonts.html#SVGFontsOverview.
В отличие от стандартной графики в SVG, где исходная система координат имеет ось Y, указывающую вниз (см. Исходная система координат), сетка дизайна для SVG-шрифтов вместе с исходной системой координат для глифов имеет ось Y, направленную вверх для соответствия принятой в отрасли практике для многих популярных форматов шрифтов.