我尋找一種自動將 sfd 檔案(Fontforge 的工作格式)轉換為主要字體格式(至少 otf、ttf、woof、svg)的方法。
但我需要在命令列中執行此操作,不需要從 GUI 中執行此操作。
不幸的是,Fontforge 應用程式似乎不支援它(我閱讀了手冊頁,但沒有提到這種用法)。無論如何,我需要從命令列執行此操作,但不必從 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」讀取字體,然後從中產生名為「foo.ttf」的 truetype 字體
在你的情況下,你可以創建一個腳本,例如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
.