Skip to content
⌘ NSIS Forum Archive

If the font is not installed on the system ...

3 posts

stass#

If the font is not installed on the system ...

How to use a font, if the font is not installed on the system ?
For example, in the code, instead of Arial font I want to use myfont.ttf.

!include MUI2.nsh
!insertmacro MUI_LANGUAGE "English"
OutFile "Label_MyFont.exe"
var Label
Page Custom pre
Function pre
nsDialogs::Create 1018

${NSD_CreateLabel} 30u 30u 100% 32u "If the Font is not installed on the System"
Pop $Label
CreateFont $0 "Arial" 18
SendMessage $Label ${WM_SETFONT} $0 1

nsDialogs::Show
FunctionEnd

Section
SectionEnd
How to do this without having to install the font ?
It seems that this is done with the function AddFontMemResourceEx.
Please help solve the problem.
Anders#
To use a font just in the installer process you would do:

Function .onguiinit
Initpluginsdir
File "/oname=$pluginsdir\myfont.ttf" "c:\mystuff\myfont.ttf"
System::Call 'GDI32::AddFontResourceEx(t"$pluginsdir\myfont.ttf",i 0x30,i0)'
FunctionEnd

(Did not test this, might not work)