Skip to content

Commit e7feeb3

Browse files
committed
Added font substitutes description and noted WM_FONTCHANGE is no longer used
1 parent 109ecc8 commit e7feeb3

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

FontInstallationIssues.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,25 @@ Depending what else has gone wrong, the font registration data (Name and File) i
3434

3535
*HackWindowsInstaller* will ensure that the files and the registration data are exactly as desired and reinstall the font if this is not the case.
3636

37-
## A new font is not visible directly after installation
37+
## A font subsitute could be defined
3838

39-
When a new font is installed, Windows expects the broadcast message WM_FONTCHANGE before the font can be used.
39+
It is possible using the registry location *HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes* to define an "alias" for a font that is mapped to a different font. For example, it is possible to define that Windows will use "Arial" when the font "Hack (Italic)" is requested. This can cause all sort of display problems.
4040

41-
*HackWindowsInstaller* will sent this message if any new font is installed. However, some applications do not react on this message so a restart will be requested when the installation is finished.
41+
*HackWindowsInstaller* will delete any found substitutes for the font that is installed.
4242

4343
## A font cannot be updated without restart
4444

4545
The [MSDN docs](https://msdn.microsoft.com/en-us/library/windows/desktop/dd183326%28v=vs.85%29.aspx) say that a call to RemoveFontResource() requires a restart before this font is really removed. However, it does not say anything if updating a font also requires this. Based on the current findings, I think it is required.
4646

4747
*HackWindowsInstaller* will always request a restart when the installation is finished.
4848

49+
## Not fixed: A new font is not visible directly after installation
50+
51+
When a new font is installed, Windows expects the broadcast message [WM_FONTCHANGE](https://msdn.microsoft.com/en-us/library/windows/desktop/dd145211(v=vs.85).aspx) before the font can be used.
52+
53+
When sending this message during installation we learned that this can cause the installer to hang (see [issue #11](https://github.com/source-foundry/Hack-windows-installer/issues/11)), so the installer will not sent this message.
54+
55+
As we request a restart after installation, the negative impact should be minimal.
4956

5057
## Not fixed: The cache files of the FontCache service can be corrupted
5158

@@ -59,7 +66,7 @@ After that, restart the computer.
5966

6067

6168
----------
62-
2016-04-25 (Updated 2017-07-11)
69+
2016-04-25 (Updated 2017-11-01)
6370

6471
~Michael 'Tex' Hex
6572

0 commit comments

Comments
 (0)