Я попробовал использовать шрифт из NSIS, как показано ниже.
CreateFont $0 "Fonts installed on the system" 9 "500"
Я хочу сделать следующее:
.ttf
) включены в установку.Windows Fonts
.)Причина в том, что существует отдельная программа удаления,
Я хочу удалить только каталог шрифтов, установленный при предыдущей настройке, и не хочу удалять шрифты в системе пользователя.
(08.07.2024) меня нашли плагин font-info Однако пользователи API и примеры не объясняют подробно, как они его используют.
больше, чем Windows 7 :)
RequestExecutionLevel User
!include LogicLib.nsh
!include WinMessages.nsh
#!define EXAMPLE_SETALL ; Uncomment to set the font for all controls
!define /IfNDef FR_PRIVATE 0x10
!define /IfNDef FR_NOT_ENUM 0x20
!macro LoadCustomFont path
System::Call 'GDI32::AddFontResourceEx(t "${path}", i ${FR_PRIVATE}|${FR_NOT_ENUM}, p0)i'
!macroend
!macro FreeCustomFont path
System::Call 'GDI32::RemoveFontResourceEx(t "${path}", i ${FR_PRIVATE}|${FR_NOT_ENUM}, p0)i'
!macroend
var FontPath
!ifdef EXAMPLE_SETALL
SetFont "Cascadia Code PL" 8
!else
var CustomFontHandle
Page InstFiles "" OnInstFilesShow
Function OnInstFilesShow
System::Call GDI32::DeleteObject(p$CustomFontHandle)
!insertmacro FreeCustomFont $FontPath
!insertmacro LoadCustomFont $FontPath
GetDlgItem $0 $hWndParent 1 ; The Next/Close button
CreateFont $CustomFontHandle "Cascadia Code PL" 8 400 /UNDERLINE
SendMessage $0 ${WM_SETFONT} $CustomFontHandle 1
FunctionEnd
!endif
Function .onInit
${IfNot} ${Silent}
InitPluginsDir
StrCpy $FontPath "$PluginsDir\CascadiaCodePL.ttf"
File "/oname=$FontPath" "CascadiaCodePL.ttf" #github.com/microsoft/cascadia-code/releases
!ifdef EXAMPLE_SETALL
!insertmacro LoadCustomFont $FontPath
!endif
${EndIf}
FunctionEnd
Function .onGUIEnd
!ifndef EXAMPLE_SETALL
System::Call GDI32::DeleteObject(p$CustomFontHandle)
!endif
!insertmacro FreeCustomFont $FontPath
FunctionEnd
Section
SectionEnd
Спасибо. Благодаря вашему ответу я сделал именно то, что хотел. @Андерс
К сожалению, моя минимальная репутация — 11, поэтому я не смог дать рекомендацию «полезный голос» (более 15) в этом ответе.
@tuxNeoh Вы можете принять ответ...
@tuxNeoh смотри Что мне делать, когда кто-то отвечает на мой вопрос?
Какую минимальную версию Windows вам необходимо поддерживать?