Converta na linha de comando um arquivo sfd (fontforge) para ttf, otf, woff, svg

Converta na linha de comando um arquivo sfd (fontforge) para ttf, otf, woff, svg

Eu procuro uma maneira de converter automaticamente um arquivo sfd (o formato de trabalho do Fontforge) para o formato de fonte principal (pelo menos otf, ttf, woof, svg).

Mas preciso fazer isso na linha de comando, não preciso fazer isso na GUI.

Infelizmente, parece que o aplicativo Fontforge não o suporta (li a página de manual e não há menção a esse uso). De qualquer forma, preciso fazer isso na linha de comando, mas não é necessário fazer no Fontforge. Qualquer outro aplicativo que possa converter o formato de trabalho “SFD” do Fontforge para o formato de fonte principal.

Então, como posso obter comandos como este:

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

Responder1

Você pode fazer isso com Fontforge, vejaaqui:

-c sequência de script

Se o primeiro (ou segundo, se o primeiro for -lang) argumento do FontForge for "-c", o argumento a seguir será tratado como uma string contendo comandos de script, e esses comandos serão executados. Todos os argumentos restantes serão passados ​​para o script.

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

Irá ler uma fonte de "foo.sfd" e então gerar uma fonte truetype chamada "foo.ttf"

No seu caso você pode criar um script, digamos convertsfd, assim

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

torne-o executável e chame-o assim:

$ ./convertsfd foo.sfd foo.ttf

Altere o segundo argumento para foo.otfou para outros formatos conforme necessário, testei apenas com ttfe otf.

Para chamar o script de qualquer lugar, basta colocá-lo no seu diretório ~/.local/bin, ou em algum outro diretório do seu arquivo PATH.

informação relacionada