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

4

Eu pesquiso 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 eu preciso fazer isso na linha de comando, eu não preciso fazer isso da GUI.

Infelizmente, parece que o aplicativo Fontforge não é compatível com ele (li a manpage 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 isso no Fontforge. Qualquer outro aplicativo que possa converter o formato de trabalho Fontforge “SFD” para o formato de fonte principal.

Então, como posso obter um comando assim:

sfd2ttf input.sfd output.ttf
sfd2otf input.sfd output.otf
sfd2woff input.sfd output.woff
sfd2svg input.sfd output.svg
    
por fauve 13.04.2017 / 01:43

1 resposta

5

Você pode fazer isso com o Fontforge, veja aqui :

-c script-string

If FontForge's first (or second, if the first is -lang) argument is "-c" then the argument that follows will be treated as a string containing scripting commands, and those commands will be executed. All remaining arguments will be passed to the script.

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

Will read a font from "foo.sfd" and then generate a truetype font from it called "foo.ttf"

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

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

torne-o executável e chame assim:

$ ./convertsfd foo.sfd foo.ttf

Altere o segundo argumento para foo.otf ou para outros formatos, conforme necessário. Testei apenas com ttf e otf .

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

    
por 15.04.2017 / 18:38