如果我只是使用文件来安装字体,安装就可以了,但是字体没用:尝试用它们编写时没有显示任何字符,如果你在字体文件夹中双击它们,他们的预览将是空白的。
到目前为止,我尝试使用以下代码段跟踪this guide:
FindFirst $5 $6 "..\3rdparty\fonts\*.ttf"
loop:
StrCmp $6 "" done
!insertmacro InstallTTFFont $6
FindNext $5 $6
Goto loop
done:
FindClose $5
然而,我收到此错误:
!insertmacro:InstallTTFFont Push:$ 0 推送:$ R0推送:$ R1推送:$ R2!定义: “Index”=“Line66.6”!insertmacro: GetFileNameCall推送:6美元电话 “GetFileName”Pop:$ 0!insertmacro: GetFileNameCall结束!定义: “FontFileName”=“$ 0”SetOutPath: “$ FONT_DIR”IfFileExists: “$ FONT_DIR \ $ 0”? Line66.6:文件: “$ 6” - >找不到文件。用法:文件 [/ nonfatal] [/ a]([/ r] [/ x filespec [...]] filespec [...] |
/ oname = outfile one_file_only)错误 macroline 14上的宏InstallTTFFont 脚本错误 “C:\ ScanModule \安装\ ScanModule.nsi” 在第66行 - 中止创作 过程
编辑:如果我只是手动写出所有单独的字体,它就可以了。所以问题解决了。八九不离十。不是我在抱怨,但这并不酷。
答案 0 :(得分:1)
我有4个想法:
您是否也尝试过引用?
!insertmacro InstallTTFFont“$ 6”
是否在开发人员的计算机或用户的计算机上执行了FindFirst ...循环?我不确定它是如何工作的,以及实施是否适合你。
我看到你使用相对路径“.. \ 3rdparty \ fonts * .ttf”。什么是工作目录及时启动命令?
您还可以在C:\ ScanModule \ Install \ ScanModule.nsi中添加这样的内容,以了解为什么只能手动编写字体工作。
MessageBox MB_OK“Param 0:$ 0”