This is from memory and what I can check from an Android tablet. My win 11 system is about 800km away. It's qn explanation of why thus isn't straightforward.
The documented way to do this is using the SystemParametersInfoA function
using SPI_SETICONTITLELOGFONT and SPI_SETNONCLIENTMETRICS options
In practice you would use the corresponding GET functions to create the appropriate data structures and only change the font size. Note that the font is actually sized in pixels. The registry entries for each font are LOGFONT structures. the first 4 bytes are long integer and negative.
So on the default setting of 9 point at 100% scaling (96dpi) pixel size should be -12. This does not seem to be properly dpi aware. I think that the registry entries are literal. It's easy to check this. the default value would then be -18 at 150% (144 dpi).
SystemParametersInfoA has an option to only change the settings until you logout. I assume winaero.com tweaker tries to make it permanent.
As to what value you should use with SystemParametersInfoA to set to 12 point if your windows scaling is not 100%, but 150%, I would check. It might be -18, or it might be -24.
If you use the maligned slider to change all font sizes simultaneously and step carefully through each value you should see that there are particular percentages when a lot of activity takes place, and others where much less happens. The obvious activity occurs when the size increases enough to get to the next (point or pixel) size. Although if you have a more modern application open (Firefox in my case) you can see tiny changes for every percent increase. I cannot remember where this value is eventually set in the registry, and I haven't discovered how to set it immediately.
One possibility is that windows will reset the scaling if the SystemParametersInfoA and the other setting aren't consistent.
Since I started writing this reports have been made that there isn't a problem if you don't use winaero tweaker.
The documented way to do this is using the SystemParametersInfoA function
SystemParametersInfoA function (winuser.h) - Win32 apps
Retrieves or sets the value of one of the system-wide parameters. (ANSI)
learn.microsoft.com
using SPI_SETICONTITLELOGFONT and SPI_SETNONCLIENTMETRICS options
In practice you would use the corresponding GET functions to create the appropriate data structures and only change the font size. Note that the font is actually sized in pixels. The registry entries for each font are LOGFONT structures. the first 4 bytes are long integer and negative.
So on the default setting of 9 point at 100% scaling (96dpi) pixel size should be -12. This does not seem to be properly dpi aware. I think that the registry entries are literal. It's easy to check this. the default value would then be -18 at 150% (144 dpi).
SystemParametersInfoA has an option to only change the settings until you logout. I assume winaero.com tweaker tries to make it permanent.
As to what value you should use with SystemParametersInfoA to set to 12 point if your windows scaling is not 100%, but 150%, I would check. It might be -18, or it might be -24.
If you use the maligned slider to change all font sizes simultaneously and step carefully through each value you should see that there are particular percentages when a lot of activity takes place, and others where much less happens. The obvious activity occurs when the size increases enough to get to the next (point or pixel) size. Although if you have a more modern application open (Firefox in my case) you can see tiny changes for every percent increase. I cannot remember where this value is eventually set in the registry, and I haven't discovered how to set it immediately.
One possibility is that windows will reset the scaling if the SystemParametersInfoA and the other setting aren't consistent.
Since I started writing this reports have been made that there isn't a problem if you don't use winaero tweaker.
My Computer
System One
-
- OS
- Windows 11 23H2 Pro
- Computer type
- PC/Desktop
- Manufacturer/Model
- MSI
- CPU
- i3-1215U
- Memory
- 8GB
- Monitor(s) Displays
- Dell S2721
- Screen Resolution
- 3840x2160
- PSU
- External 65W
- Keyboard
- Cherry mechanical (Blue)
- Mouse
- Microsoft
- Browser
- FireFox
- Antivirus
- MS