これを適切に表現する方法はよくわかりませんが、スクリプトが動作するファイルのディレクトリ内でスクリプトを実行すると、すべて問題ありません。スクリプトで別のディレクトリのファイルを指定すると、失敗します。ある種のパス拡張か何かだと確信していますが、それを機能させることができないようです。
これがFontForgeスクリプトです。
#!/usr/bin/fontforge
Open($1)
fname = ($1:r)
Print(fname)
SetTTFName(0x409,2,"")
SetFontNames(fname,fname,fname,"")
Print($fullname)
Print($familyname)
Print(GetTTFName(0x409,2))
Generate($1:r + ".ttf")
そして失敗するコマンド:
./fix_font_names ~/Fonts_Other/*
そしてエラー:
SetFontNames: Invalid character in PostScript name token (probably fontname): : /home/akovia/Fonts_Other/Al Fresco Bold
Called from...
./fix_font_names: line 7
たとえば、引用符または fname に $1 を入れるとエラーが変わりますが、作業ディレクトリ内から呼び出すと、スクリプトは完全に機能します。
明らかな何かが欠けていることは知っていますが、それを理解することはできません。助けてくれてありがとう。