NSI的商标上标

时间:2014-09-15 06:41:08

标签: unicode nsis symbols superscript

我想在NSI脚本中添加商标上标。

我尝试将unicode字符用于商标 - U+2122,但是在运行安装程序exe时它没有正确显示商标字符?

我有以下问题:

  1. 如何在NSI中添加商标符号
  2. 我使用的是NSI编译器版本2.46。我需要升级吗?
  3. 如何在NSI文件中创建(启用)unicode支持?

2 个答案:

答案 0 :(得分:2)

NSIS 2中的源文件只是一堆字节,这些字节直接存储在.exe中。在运行时,Windows将(在基于NT的系统上)通过使用当前代码页/系统区域设置(非unicode程序的语言)将这些字节转换为Unicode字符串。这意味着您必须在文本编辑器中使用正确的代码页/编码。如果您的安装程序支持多种语言,则需要使用LangString,并且基本上在编辑器中使用正确的编码集编辑这些字符串。对每种语言使用.nsh可能有所帮助。

NSIS 3在编译器内部使用Unicode,如果要创建Unicode安装程序(Unicode True),则可以使用任何Unicode代码点。您可以将.nsi保存为UTF-8或UTF-16(带BOM),也可以使用$ {U + hexnumber}语法:

Unicode True
Section
MessageBox mb_ok "Hello World${U+2122}" 
SectionEnd

NSIS 3也可以生成Ansi安装程序,它知道$ {U + hexnumber}语法,但不能保证代码点在最终用户系统上正确显示,它仍然只限于简单的字节,并将从Unicode到Ansi使用您正在编译的系统的当前代码页。

答案 1 :(得分:0)

您可以尝试使用与0x99等效的Windows 1252字符U+2122

使用西方配置的窗口,您可以通过键盘直接输入 Alt 0 1 5 3 (在数字键盘上输入数字时按住 Alt 键,它是 Alt Alt Gr )。