如何安装字体?

时间:2011-03-23 10:59:04

标签: nsis

如果我只是使用文件来安装字体,安装就可以了,但是字体没用:尝试用它们编写时没有显示任何字符,如果你在字体文件夹中双击它们,他们的预览将是空白的。

到目前为止,我尝试使用以下代码段跟踪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行 - 中止创作   过程

编辑:如果我只是手动写出所有单独的字体,它就可以了。所以问题解决了。八九不离十。不是我在抱怨,但这并不酷。

1 个答案:

答案 0 :(得分:1)

我有4个想法:

  1. 您是否也尝试过引用?

    !insertmacro InstallTTFFont“$ 6”

  2. 是否在开发人员的计算机或用户的计算机上执行了FindFirst ...循环?我不确定它是如何工作的,以及实施是否适合你。

  3. 我看到你使用相对路径“.. \ 3rdparty \ fonts * .ttf”。什么是工作目录及时启动命令?

  4. 您还可以在C:\ ScanModule \ Install \ ScanModule.nsi中添加这样的内容,以了解为什么只能手动编写字体工作。

    MessageBox MB_OK“Param 0:$ 0”