簡體   English   中英

如何使用NSIS安裝字體?

[英]How do I install a font using NSIS?

我一直試圖在NSIS中構建一個安裝程序來安裝字體文件。 這是我的主要安裝腳本:

!include FontName.nsh
!include FontReg.nsh
!include WinMessages.nsh

RequestExecutionLevel admin
InstallDir $DESKTOP

Name "Orange Juice"
OutFile fonttest.exe

Section "install"

    StrCpy $FONT_DIR $FONTS
    !insertmacro InstallTTFFont "orangejuice.ttf"
    DetailPrint "Installing Orange Juice Font..."
    SendMessage ${HWND_BROADCAST} ${WM_FONTCHANGE} 0 0 /TIMEOUT=5000

SectionEnd

從這里獲取文件FontReg.nsh並將其逐字復制到我的Program Files\\NSIS\\Include文件夾中。 從這里得到文件FontName.nsh(以及相應的DLL文件) 並逐字復制了這些文件。 但是...當我運行此腳本時,未安裝字體。 我想念什么?

  • FontReg.nsh定義其適當的變量以獲取字體安裝目錄,同時您定義的常量名稱與您所想的不一樣,也可以直接使用指向系統字體目錄的$FONTS變量
  • 您需要通過廣播WM_FONTCHANGE消息向系統發送新字體的信號

請嘗試以下操作:刪除!define FONT_DIR行,並使用

StrCpy $FONT_DIR $FONTS
!insertmacro InstallTTFFont "orangejuice.ttf"
SendMessage ${HWND_BROADCAST} ${WM_FONTCHANGE} 0 0 /TIMEOUT=5000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM