High DPI font scaling in Windows 10 and Dynamics NAV

According to the Windows scaling issues for high-DPI devices alert, high-DPI font scaling might happen in all applications and result in blurred/squeezed fonts or in scaling printouts when using high resolution monitor like, for example, the latest 4K generation or when working with multiple monitors with different high resolutions.

In Dynamics NAV, the component impacted by font scaling issues is the Report Viewer. Different Dynamics NAV platforms embed different Report Viewer builds, coming from different SQL Server Reporting Services releases and updates.

Just recently, the SQL Server Reporting Services team have promoted a Report Viewer 2019 build update that mitigate the high-DPI font scaling issue when printing.

Below you can find the NuGet gallery package download reference: https://www.nuget.org/packages/Microsoft.ReportingServices.ReportViewerControl.WinForms/150.900.148 .

The Dynamics SMB development team is implementing this recent update into the latest platforms as described in the following list:

  • Dynamics NAV 2018
    • Resolved in the platform in Cumulative Update 12 (December 2018)
    • The Report Viewer 2019 component, based on the RDL 2016 schema, has been embedded in the Dynamics NAV 2018 Windows client
  • Dynamics NAV 2017 and earlier
    • Apply one of the following mitigations:
      • Avoid using high-DPI scaling with the Windows client
      • Use the browser client and/or modern clients (web, tablet, phone)
      • Print server side (use the report schedule feature)
      • Upgrade to Dynamics NAV 2018, or Dynamics 365 Business Central, and deploy the latest cumulative update

NOTE: A minor regression in Report Viewer chart printout has been detected in the updated Report Viewer 2019 build. This happens only when font scaling is applied.

If you are printing, or intend to print, a RDLC report that contains a chart, the proposed solution is to change Microsoft.Dynamics.NAV.Client.exe compatibility property and select the option to override high DPI scaling by the system.

To apply this temporary workaround:

  1. Right click on Microsoft.Dynamics.Client.exe file and choose “Properties
  2. Select “Compatibility” tab
  3. Click on “Change high DPI settings” button
  4. Check the option “Override high DPI scaling behavior. Scaling performed by: System

NOTE: The above scenarios do not apply to Dynamics 365 Business Central online, which is not affected. However, Dynamics 365 Business Central on-premises deployments should upgrade to the December cumulative update in order to pick up the updated platform.

These postings are provided “AS IS” with no warranties and confer no rights. You assume all risk for your use.

Duilio Tacconi                                                                  Lars Lohndorf-Larsen

Microsoft Dynamics Italy                                                  Microsoft Dynamics Denmark

Microsoft Customer Service & Support (CSS) EMEA

Thanks to Niels-Henrik Sejthen (Senior Software Engineer MDCC) and Torben Wind Meyhoff (Principal Software Engineer MDCC)