PowerToys icon indicating copy to clipboard operation
PowerToys copied to clipboard

Adjust how fonts render in Windows

Open crutkas opened this issue 5 years ago • 23 comments

Windows is great at supporting a vast amount of hardware but for some users, they want their fonts to render differently. This comes into play more and more with higher resolution screens.

Possible knobs:

  • Default text rendering
  • Force symmetric smoothing on
  • Force symmetric smoothing on and hinting off

Smashing magazine has a good overview of different rendering.

Note there are two major rendering systems inside Windows, DirectWrite and GDI. Some applications handle their own rendering as well.

There is an open source project under GPLv3 that does something like this. https://github.com/snowie2000/mactype

Here is additional discussions on ClearType and other Microsoft Typography.

  • https://docs.microsoft.com/en-us/typography/cleartype/
  • https://docs.microsoft.com/en-us/typography/

crutkas avatar Sep 30 '20 20:09 crutkas

DirectWrite Core is getting open sourced, so maybe that would be where these changes can come first?

https://github.com/microsoft/ProjectReunion/issues/112

mdtauk avatar Sep 30 '20 20:09 mdtauk

A nerd font patcher would be cool considering the amount of time I spend for getting this python conda env symbol working properly:

ToShow

EDIT: I know that this is not related to rendering fonts. I was just giving a suggestion. Tell me if I need to open a new issue for this

ghost avatar Oct 04 '20 02:10 ghost

There is an open-source project that fixes the rendering. And it uses DirectWrite btw https://github.com/snowie2000/mactype Additionally it allows to choose, create and save preferences/profile, and it ships with some predefined profiles to get started right away It could be such a nice PowerToy...

murrto avatar Oct 18 '20 01:10 murrto

@murrto i directly called mactype out in my description 😄

But it is GPL so the licenses are incompatible

crutkas avatar Oct 18 '20 02:10 crutkas

Another worth reading article:

https://pandasauce.org/post/linux-fonts/

I personally love mactype. Meslo looks horrible on Windows, I have to switch back to Lucida Console or something ClearType-optimized. However, mactype is not native, blurry in some places, and crashes many software.

nvmnghia avatar Nov 02 '20 05:11 nvmnghia

This would be amazing! I have tried to use mactype on many different occasions (too many to count). It is remarkable in what it does, however it is rather buggy under different situations and requires loading/hijacking system DLLs which can cause issues, and performance slowdown of rendering large amounts of text (for example in emacs, terminals, etc.)

vsalvino avatar Nov 13 '20 18:11 vsalvino

What would be awesome is to get a font option that removes all the ClearType and anti-aliasing that causes what I perceive as a blurriness to fonts in order to get crisp clear edges on the font like Windows XP or when doing an RDP session to an old server. With Windows 7 I used to be able to do this with various tricks but since Windows 10 I haven't been able to do this. Even MacType doesn't do it.

shaun-wallace avatar Jan 01 '21 15:01 shaun-wallace

@enricogior, while #6918 and the others, #10235 and #10466, are all about fonts, these are different requests. #6918 is about rendering. And the others are regarding more granular control over fonts, which is possible today but not supported in the Windows Shell. Since you closed #10466 and asked me to add comments here, I will gladly do that. :-)

Similar to #10235, I wrote:

People with low vision can manage fonts in a couple of different ways on Windows, including by changing their "Display Resolution" (in Display Settings) and by "Making text bigger" (in Ease of Access Settings).

However, these Settings do not enable users to adjust specific font sizes such as: Title bar, Menu, Message box, Secondary title, Icon or Status bar, which Windows used to support and can be adjusted independently with 3P apps. Similarly, 3P OSs and apps enable users to select Bold fonts for these same elements. They enable users to substitute their preferred font for the system font. They also enable users to save and to import and export font profiles.

In addition to being great for accessibility, this would be a great feature for power users that want to personalize their Windows experience.

@crutkas, I am also interested in your thoughts (as always :).

jeffpetty avatar Mar 26 '21 22:03 jeffpetty

https://winaero.com/winaero-tweaker/ This program can change text and icons in various UI places. image

Jay-o-Way avatar Mar 27 '21 13:03 Jay-o-Way

@jeffpetty your ask is totally valid but this issue much more on getting fonts to render via DWM differently where yours is more getting more surfaces enabled for font size adjustment.

We can clone your issue into a new one if I'm correct on your ask.

crutkas avatar Mar 27 '21 14:03 crutkas

@crutkas that's right. Perhaps just reactive #10466, which was a new feature request for a UX to be able to manipulate the system fonts.

jeffpetty avatar Mar 29 '21 14:03 jeffpetty

@Jay-o-Way, thanks for the link, I am looking for an app that does just this. Best case scenario, it would be from a trusted publisher and even ship inbox with Windows.

jeffpetty avatar Mar 29 '21 14:03 jeffpetty

The current font rendering in Windows is awful, even compared to Linux desktops. Coding and reading text all day I always envied those with a Mac solely because of their fonts and font rendering. Hell even SF Mono on Windows looks bad.

If this ever gets implemented in a way it’d be my dream come true, so thank you for suggesting this as a feature.

GergiH avatar May 01 '21 06:05 GergiH

@crutkas I support your suggestion to have a setting to force symmetric smoothing. Currently it is controlled by the GASP header in the font files. It says: at this font resolutions I want symmetric, at that font resolutions I want asymmetric and at other font resolutions I want no antialias at all. Only Windows is interpreting this, even at webfonts. The GASP header can be patched (search for GASPHACK) to enable symmetric rendering at all font resolutions. This fixes a lot but cannot be applied to all fonts.

2nd. At some modes, I think there is a real bug with cleartype. First cleartype is used to render the font including subpixel antialias (rgb in my case). But then this is converted to a monochrome rendering causing the subpixels converted to blurriness. This disables all optimizations of the font hinting. So if monochrome rendering is required due to some graphics driver limitations, I suggest to render without subpixel antialias. The trend to ultra HD monitors is hiding this a little.

HelgeBoehme avatar Jun 29 '21 08:06 HelgeBoehme

Is this function still on schedule or has been abandoned already?

begitasetzuna avatar Mar 28 '22 02:03 begitasetzuna

I'm waiting on this one as it polishes the experience on Windows, especially zooming in and out or when changing font size, it's needed. I assume Segoe UI Variable was intended to address the existing font rendering system, but the whole UI would benefit from this functionality.

skullbrb avatar Jul 25 '22 20:07 skullbrb

This was my most anticipated feature. Now I am wondering if I'm ever going to see it implemented.

lgmxiii avatar Dec 12 '22 06:12 lgmxiii

Very good request. We really need better font rendering in windows.

Jeferson-Emanuel avatar Jan 16 '23 13:01 Jeferson-Emanuel

Windows font rendering is very thin. Looks especially poor on hi-res screens. Have to install Chrome plugins like this https://chrome.google.com/webstore/detail/fuentes-m%C3%A1s-oscuras/hfpjgcmoeaohdmamngjmlenolmbhlnnd to make it at least somewhat thicker at least in a browser. Previously was using low-res screens to make fonts look thicker, but this isn't a solution at all anymore. PS: using windows since 1995, senior software engineer.

flexorx avatar Mar 14 '23 21:03 flexorx

Still waiting....

begitasetzuna avatar Feb 21 '24 02:02 begitasetzuna

A needed feature indeed.

ndekross avatar Oct 16 '24 16:10 ndekross

Bump

Wollace-Buarque avatar Apr 27 '25 05:04 Wollace-Buarque

Still waiting for this feature

sslnv88 avatar May 22 '25 01:05 sslnv88