Skip to content

No more Microsoft Sans Serif, return actual system font from SystemFonts.DefaultFont? #524

@jnm2

Description

@jnm2

Is this a good time to fix a long-standing issue, the default use of Microsoft Sans Serif 8pt instead of Segoe UI 9pt? This is in violation of Microsoft's design guidelines:

UI technology Target Windows version Fonts to use and optimize for
Win32 or WinForms Windows Vista or later Use the appropriate Segoe UI font.
  • Developers:

    • For elements that use fixed layout (such as Windows dialog templates and WinForms), hard code the appropriate font from the preceding table.

The only member of SystemFonts that reflects the actual system theme is the unintuitively-named SystemFonts.MessageBoxFont. Anything in SystemFonts that's not returning Segoe UI on a default installation of Windows should either change and start returning the real value or should be obsoleted. In other words, https://docs.microsoft.com/dotnet/api/system.drawing.systemfonts#properties should line up precisely with https://docs.microsoft.com/windows/desktop/uxguide/vis-fonts#fonts-and-colors on current Windows installations. Tahoma is not okay and Microsoft Sans Serif is not okay.

These guidelines are consistent with Microsoft's font guidelines for other UI technologies.

If Segoe UI was defaulted effortlessly, it would be a huge benefit! The fight against Microsoft Sans Serif has afflicted every Windows Forms project I've worked on, large and small. I also see apps being built that didn't undertake this uphill battle and which stand out visually as less professional as a result. Here's an example taken from the second link below:

image

History and hacks to get it working:

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementProduct code improvement that does NOT require public API changes/additionshelp wantedGood issue for external contributors

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions