不太确定如何正确表达,但如果我在它所处理的文件目录中运行我的脚本,一切都很好。如果我将脚本指向另一个目录中的文件,它将失败。我确定这是某种路径扩展之类的,但我似乎无法让它发挥作用。
这是 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
例如,如果我将 $1 放在引号或 fname 中,则错误会发生变化,但如果我从工作目录中调用它,则脚本可以完美运行。
我知道我遗漏了一些明显的东西,但我就是想不通。谢谢你的帮助。