More on Windows 7, bitmap fonts and DPI settings
This post is a follow up to the previous post on the topic which discussed how you can use the registry editor to adjust the font files used for bitmap fonts to restore them to the default 100% DPI size. If you have not read the previous post, please use the link below:
As I hinted at in this previous post, any older applications that use bitmapped fonts such as MS Sans Serif, MS Serif and Courier are likely to have this same issue.
I have already explained the logic behind the change in behaviour for Windows 7 which can automatically set the DPI to 125% during the install. What has not been explained is why the bitmap fonts are not restored to 100% DPI when the DPI setting is changed back to 100% via the User Interface. This is the subject of this post.
How we see Windows is controlled by two primary settings: The resolution and the DPI setting.
In Windows Vista (and earlier) the resolution could be changed for each user on a workstation, but the DPI setting was system based. This means that a user did not really have full control of the settings for their profile and if another user changed the DPI setting, it would affect all users on that workstation. Changing the DPI setting would require a reboot for the change to take effect and it would adjust the bitmap fonts as part of that change.
So Windows 7 introduced a change to allow the DPI setting to be set on a per user basis (only requiring a logout and login to make the change). It is important to note that the user based DPI setting only affects the scalable fonts which can be adjusted without a reboot.
The bitmap font DPI settings are still system based and would still require a reboot to change and would also affect all users on the workstation. To avoid the now user based DPI setting from affecting other users in the system, the bitmaps fonts are no longer changed when adjusting DPI via the Display Control Panel applet.
The bitmap font size is now set only once during the installation and not altered thereafter. As we now understand, the initial DPI setting used during the install will control how the bitmap fonts are set.
I am researching if there is a way to make Windows 7 always default to 100% DPI during the installation, or a way to keep the bitmap fonts at 100% DPI size. However, if you DO want the 125% DPI setting, you will then have the same issue but the other way around.
Thanks to Peter Constable from the Windows 7 Development team for his input.
I hope this clarifies what is happening.