microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
111.05k stars 6.54k forks source link

Adjust how fonts render in Windows #6918

Open crutkas opened 4 years ago

crutkas commented 4 years ago

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:

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.

mdtauk commented 4 years ago

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

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

ghost commented 4 years ago

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

murrto commented 4 years ago

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...

crutkas commented 4 years ago

@murrto i directly called mactype out in my description 😄

But it is GPL so the licenses are incompatible

nvmnghia commented 4 years ago

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.

vsalvino commented 3 years ago

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.)

shaun-wallace commented 3 years ago

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.

jeffpetty commented 3 years ago

@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 :).

Jay-o-Way commented 3 years ago

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

crutkas commented 3 years ago

@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.

jeffpetty commented 3 years ago

@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 commented 3 years ago

@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.

GergiH commented 3 years ago

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.

HelgeBoehme commented 3 years ago

@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.

begitasetzuna commented 2 years ago

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

skullbrb commented 2 years ago

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.

lgmxiii commented 1 year ago

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

Jeferson-Emanuel commented 1 year ago

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

flexorx commented 1 year ago

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.

begitasetzuna commented 8 months ago

Still waiting....

ndekross commented 2 weeks ago

A needed feature indeed.