【问题标题】:How to install fonts?如何安装字体?
【发布时间】:2011-07-21 05:22:06
【问题描述】:

如果我只是使用 File 来安装字体,安装会很好,但是字体是无用的:当你尝试用它们书写时没有字符出现,如果你在字体文件夹中双击它们,他们的预览会是空白的。

到目前为止,我尝试使用以下 sn-p 代码关注 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 !定义: “索引”=“Line66.6”!插入宏: GetFileNameCall 推送:$6 通话 “GetFileName”弹出:0 美元!插入宏: GetFileNameCall 结束!定义: "FontFileName"="$0" 设置输出路径: "$FONT_DIR" 如果文件存在: "$FONT_DIR\$0" ?第 66.6 行:文件: "$6" -> 没有找到文件。用法:文件 [/非致命] [/a] ([/r] [/x 文件规范 [...]] 文件规范 [...] |
/oname=outfile one_file_only) 错误 宏在宏线 14 上安装 TTFFont 脚本错误 "C:\ScanModule\Install\ScanModule.nsi" 在第 66 行 - 中止创建 进程

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

【问题讨论】:

  • 嗯,它是一个 wiki,没有什么能阻止你贡献一个只注册字体的宏版本......

标签: nsis


【解决方案1】:

我对此有 4 个想法:

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

    !insertmacro 安装TTFFont "$6"

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

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

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

    MessageBox MB_OK "参数 0: $0"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-27
    • 2013-01-25
    • 2014-10-20
    • 2020-11-18
    • 2018-12-13
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多