winformsfonts.net-4.8windows-10-desktopwingdings

The look of a kiosk application broken after migration from Windows 8 embedded to Windows 10


This application worked fine under Windows 8.1 Embedded. Now, we are testing whether it can be migrated to Windows 10 as-is, but the visual appearance of the text on some but not all buttons has changed: corrupt characters

There is no code involved in this since the text is assigned to buttons statically, at design time. For comparison, you can see the consecutive clock characters from Wingding font that is used on the buttons, among other things. The first label says 'label1', the first button says 'button1', and the 2nd button says consecutively all of the available clocks in Wingdings.

I found an article that mentions possible character corruption in Windows 10, but since this is not a foreign language, and the only script that is available to Wingdings is Symbol, I am not able to follow its recommendations.

What properties if any should be changed on the button controls for them to correctly display all glyphs from Wingdings?

Steps to reproduce:

  1. Create a new Winforms application under .NET Framework 4.8.
  2. Place a button on a form.
  3. Change the font to Wingding.
  4. Paste all available clocks into the text property: ·¸¹º»¼½¾¿ÀÁÂ

WPF application buttons under .NET 5.0+ display correctly, so this seems to be a .NET framework-specific issue.


Solution

  • This can be solved by raising UseCompatibleTextRenderer to true.