Command-Line
在命令行中將 sfd 文件 (fontforge) 轉換為 ttf、otf、woff、svg
我搜尋了一種將 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
你可以用 Fontforge 來做,見這裡:
-c 腳本字元串
如果 FontForge 的第一個(或第二個,如果第一個是 -lang)參數是“-c”,那麼後面的參數將被視為包含腳本命令的字元串,並且這些命令將被執行。所有剩餘的參數都將傳遞給腳本。
$ fontforge -c 'Open($1); Generate($2)' foo.sfd foo.ttf
將從“foo.sfd”中讀取一種字型,然後從中生成一個名為“foo.ttf”的真字型
在您的情況下,您可以創建一個腳本,比如說
convertsfd
,像這樣#!/bin/bash fontforge -lang=ff -c 'Open($1); Generate($2)' "$1" "$2"
使其可執行,並像這樣呼叫它:
$ ./convertsfd foo.sfd foo.ttf
根據需要將第二個參數更改為
foo.otf
或其他格式,我僅使用ttf
and進行了測試otf
。要從任何地方呼叫腳本,只需將其放在您
~/.local/bin
的PATH
.