- Windows 2008 Terminal Services allows changing displayed font size by modifying DPI value. To increase font size you can log on locally with admin rights and increase DPI till 120 DPI. It is system wide settings in Windows 2008 and is active in full Remote Desktop session as well as in RemoteApp session.
- Windows 2008 R2 SP1 Remote Desktop Services DPI value is not systemwide anymore and is ignored in full Remote Desktop session as well as in RemoteApp session.
- When using monitors with high resolution (1280 x 1024 and above) users often complain that there is a small font size.
- I have searched the Internet and discovered that this issue is known but there is no accepted solution:
- Inability to change DPI and/or Font Size in Server 2008 R2 remote desktop has now become a legal issue for us http://social.technet.microsoft.com/Forums/ne-US/winserverTS/thread/9ef268fd-55d3-4bea-a63f-a0cfcd160343
- Windows 2008 R2 Doesn’t Allow DPI (Font Size / Scaling) Changes on Remote Sessions http://social.technet.microsoft.com/Forums/ne-US/winserverTS/thread/11fe8098-a772-441a-b2ae-fc87865d9376/
- Cannot adjust font size under 2008 r2 http://social.technet.microsoft.com/Forums/ne-US/winserverTS/thread/a3eb10eb-087a-4559-8f42-293cb08702d2
- Please help! How to increase font size in RemoteApp? http://social.technet.microsoft.com/Forums/ne-US/winserverTS/thread/cb9a7264-5b68-47dc-8140-af7a5d9b6f37/
5. Microsoft acknowledges that Windows 2008 R2 doesn’t allow DPI (Font Size / Scaling) changes on Remote and this is the issue on Windows Server 2008 R2.
My research for Windows 2008 R2 SP1 Remote Desktop Services:
1. When DPI value is changed in “Control Panel\All Control Panel Items\Display” the “[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]” registry key parameters are affected (additional information “Windows Server 2003 Resource Kit Registry Reference http://technet.microsoft.com/ru-ru/library/cc780212%28WS.10%29.aspx”:
- AppliedDPI – current DPI value.
- CaptionFont, IconFont, MenuFont, MessageFont, SmCaptionFont, StatusFont – binary values representing font name and font size used.
- c. …
2. With the same “AppliedDPI” value but different resolutions – you can get different font and other values in “[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]”.
3. If “AppliedDPI” value is changed and not equals to the default “96 (decimal)”:
- It is identified using Sysinternals Process Monitor, that most of „HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics” registry key values are changed by explorer.exe process during user logon when using full RDP Session. “AppliedDPI” value is reverted back to “96 (decimal)” and other settings are changed accordingly.
- When using RemoteApp mode – there is no explorer.exe and all settings become unchanged but “AppliedDPI” value is ignored.
4. If “AppliedDPI” value leaved unchanged and equals to the default “96 (decimal)”, than it is possible to change other values under „HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics” and those values will not be modified by explorer.exe process.
I would like to recommend the following procedure to mitigate font size issue for applications that use Windows font settings.
- Log on to Windows 2008 R2 SP1 server using local console.
- Change display resolution to be identical that is used by your users widely.
- Logoff / logon.
- Change DPI value using “Control Panel\All Control Panel Items\Display”.
- Logoff / logon.
- To distribute settings using exported registry file:
- Export “[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]” registry key.
- Edit exported registry key and delete “AppliedDPI=…” string.
- Distribute the *.reg file to users using your favorite method (log on script for example).
7. To distribute setting using Group Policy preferences:
- On the same Windows 2008 R2 SP1 server lunch “Group Policy Management”.
- Create GPO and go to “User Configuration – Preferences – Windows Settings – Registry”. Lunch “Registry Wizard” and import all “[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]” parameters from “Local Computer” excluding “(Default)” and “AppliedDPI”. For each imported parameter enable “Run in logged-on user’s security context (user policy option)”
- Edit GPO “Security Filtering” if needed.
- Distribute GPO to users.
Some applications (for example 1C:Enterprise 8 accounting application) do not use Windows font settings but have embedded font configuration (size for example). For those applications the above recommendations do not help. I would like to advise to do one of the following:
- Replace monitor to lower resolution.
- Execute application locally on workstation and increase DPI value.