為什麼 ImageMagick 無法讀取我機器上的任何字體?

為什麼 ImageMagick 無法讀取我機器上的任何字體?

我正在努力奔跑montage

montage `ls ?.png` `ls ??.png` -tile 6x3 -geometry 32x32 tile.jpg

但我收到了有關字體的錯誤。

montage: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1239.

為什麼無法讀取任何字體?

有人建議我運行,montage -list font但它沒有返回任何內容。我運行的是 OS X 10.11 和 ImageMagick 6.9.3-0。

答案1

為了回答我的直接問題,ImageMagick 需要一個包含type.xml機器上所有字體清單的文件。雖然這個清單看起來應該是自動產生的,但事實並非如此。

正如@AaronLayfield 上面提到的,有一種手動方法可以產生字體列表,如下所示這裡。以下是我的解決方法版本:

  1. 將此 Perl 腳本另存為imagick_type_gen.pl http://www.imagemagick.org/Usage/scripts/imagick_type_gen

  2. 打開終端並cd進入保存檔案的目錄,然後使用chmod 755 imagick_type_gen.pl.

  3. .magick使用 . 在您的主目錄中建立資料夾mkdir ~/.magick

  4. 運行腳本並使用 導出輸出./imagick_type_gen.pl > ~/.magick/type.xml

現在應該可以了。

相關內容