Конвертировать в командной строке файл sfd (fontforge) в ttf, otf, woff, svg

Конвертировать в командной строке файл sfd (fontforge) в ttf, otf, woff, svg

Я ищу способ автоматически конвертировать файл sfd (рабочий формат Fontforge) в основной формат шрифта (как минимум otf, ttf, woof, svg).

Но мне нужно сделать это в командной строке, мне не нужно делать это из графического интерфейса.

К сожалению, похоже, что приложение Fontforge не поддерживает его (я прочитал man-страницу, и там нет упоминаний об этом использовании). В любом случае, мне нужно сделать это из командной строки, но не обязательно делать это из Fontforge. Любое другое приложение, которое может преобразовать рабочий формат Fontforge «SFD» в основной формат шрифта.

Итак, как мне получить такие команды:

sfd2ttf input.sfd output.ttf
sfd2otf input.sfd output.otf
sfd2woff input.sfd output.woff
sfd2svg input.sfd output.svg

решение1

Вы можете сделать это с помощью Fontforge, см.здесь:

-c строка-скрипта

Если первый аргумент FontForge (или второй, если первый - -lang) - "-c", то следующий за ним аргумент будет рассматриваться как строка, содержащая команды скрипта, и эти команды будут выполнены. Все оставшиеся аргументы будут переданы скрипту.

$ fontforge -c 'Open($1); Generate($2)' foo.sfd foo.ttf

Прочитает шрифт из "foo.sfd", а затем сгенерирует из него шрифт TrueType с именем "foo.ttf"

В вашем случае вы можете создать скрипт, скажем convertsfd, такой

#!/bin/bash
fontforge -lang=ff -c 'Open($1); Generate($2)' "$1" "$2"

сделайте его исполняемым и вызовите его так:

$ ./convertsfd foo.sfd foo.ttf

foo.otfПри необходимости измените второй аргумент на или на другие форматы. Я тестировал только с ttfи otf.

Чтобы вызвать скрипт из любого места, просто поместите его в свой ~/.local/binили какой-либо другой каталог в вашем PATH.

Связанный контент