Automatically increasing the system font size in Windows 7
My first real technical support job was with a very large IT company that everybody has heard of, a far cry from the small 1-man IT operation I am now. Part of that job was issuing new laptops to quite senior technical sales bods, and ensuring that all their files were correctly transferred to the new machine.
That year, the top-of-the-range machines we were giving out to these undeserving gits weren’t coming with 1024×768 screens any more; they had nice, crisp, state-of-the-art 1400×1050 screens. While I thought they were gorgeous, not everyone agreed, insisting that the higher resolution made the fonts too small to read. This complaint was most prominent among the middle-aged salesmen who I quickly worked out were too vain to admit they were now of an age at which they needed reading glasses. Even in those days I did not suffer fools gladly, especially having had to wear glasses since age 9, and I almost certainly upset at least one of them by subtly suggesting they might need to visit an optician.
Lowering the screen resolution to below that of the native screen resolution has always offended me, because the subsequent hardware scaling invariably looks awful. For a long time, Windows has allowed you to combat this by increasing the DPI of the fonts, though until Windows Vista the result was nice big fonts alongside hideous stretched icons and UI elements. It got much better in Vista, but like earlier versions, changing the DPI was a per-machine setting that affected everyone who logged on, so you couldn’t set it for some people and not others.
In Windows 7, this setting has finally been made per-user, and has now come into its own. As 1024×768 monitors all but entirely vanish from the specifications of new computers, our younger pupils (and older staff) were starting to struggle to read the smaller fonts. As much as I still enjoy telling middle-aged men to get their eyes tested, telling 5 year-olds that they need to man up and learn to read is going a bit far. So, when I deployed some new high-resolution monitors to our lower school lab, I wanted a better solution.
That solution was to automatically flag all the accounts of Year 2 and below to have the font DPI set to 120, 125% of normal. It turns out this is as simple as setting a single registry key, which I did using Group Policy Preferences. The key involved is:
in which you set the LogPixels DWORD value to one of the following:
- 90 (0x5A) for text size 100% (the default setting),
- 120 (0x78) for 125% of normal, and
- 144 (0x90) for 150%
Note that the value normally doesn’t exist if you haven’t changed the font DPI via the Control Panel.
End result: bigger fonts for the kids, and less time wasted as they struggle to read the menus. It also means I longer face a discrimination suit by telling the already-bespectacled and genuinely vision-impaired teacher that he can either like Windows 7 or go jump out the window.