Improve font rendering in Google Chrome 35 or newer on Windows
If you are using the Google Chrome browser on a Windows system, you may have noticed that the program's font rendering is not the best on some web pages.
If you take the Dart web page for example, you will notice that several words or entire text passages render in a weird way.
This can be observed especially when you check out the download links displayed on the page, as they appear cut off somehow (see the screenshots below for examples).
To a lesser degree, it is also visible elsewhere on the page as the two sample screenshots highlight below.
The first has been taken with a default version of Chrome, the second with DirectWrite enabled in the browser.
Chrome's rendering is fine when it comes to safe fonts such as Arial, Verdana or Tahoma but when it has to render Google Web Fonts for example, it somehow fails to do so properly.
It is not a new issue by any stretch of the imagination, as it dates back as early as 2011.
The main issue here is that Chrome uses Windows GDI to render fonts while most modern web browsers that run on Windows use DirectWrite instead.
The Chrome development team has integrated full support for DirectWrite into Chrome Beta -- and Dev and Canary as well -- but have not enabled it by default.
Update: DirectWrite is enabled by default now. Google has removed the flag from Chrome 52 which means that the browser will use DirectWrite exclusively for font rendering on Windows.
It is currently available as a flag that you need to enable to activate it.
Let me show you how this can be done. Note that this only works if you use Chrome 35 or newer on Windows.
- Type or paste chrome://flags into the browser's addressbar and hit enter.
- Hit F3 and type directwrite. Chrome should jump to the Enable DirectWrite experiment right away.
- Click on the enable link to activate it.
- A relaunch now button appears that you need to click on to restart the browser.
Once the browser has been restarted, Chrome will use DirectWrite on Windows to render fonts.
Enable DirectWriteÂ Windows
Enables the use of experimental DirectWrite font rendering system.
You can turn the feature off at any time by following the same steps above. The only different is that you need to click on disable instead of enable this time to do so.
As it stands, DirectWrite will make its way to the stable version of Chrome and when it does, it will be enabled by default eventually. Google has not published any date or Chrome version when this is going to happen, but it is near certain that it will happen soon.
Update: The feature landed in Chrome 37 and is enabled by default in that browser and all future versions of Chrome.
Off-topic but Martin, I wrote you 3 emails regarding WP 8.1, one of them including full IE 11 coverage. If you are busy right now, please let me know when I should send the rest of the coverage. I sent the emails on your Gmail account.
It’s also in the flags for 34 (stable) but apparently enabling it has no effect.
THANK YOU. What you should’ve used as an example is google maps. This flag makes everything readable and usable. Shout out to my brother who sent me here. My eyes thank you good sir.
All I can say is – About damn time!
I was forced to use IE recently for a while, and when I went back to Chrome I realised how much my eyes had been suffering (Suffering with Chrome that is!)
I really didn’t notice how terrible Chrome was at font rendering, until I used another browser… But now I know, and it is BAD.
This should have been fixed years ago. The rest of Chrome must be damn good for it to have got the browser share it has with such a serious fault on Windows.
Anyhoo – Thanks for finally fixing Devs, and thanks Martin for illuminating us on the road map to salvation!
GitHub and some other sites had all of the text “bold” with Chromium, making everything really ugly, I tried to search for similar experiences a couple times without any success. This seems to fix it.
Now I’m curious if nobody seemed to mind it for that long, or it’s just not a common problem.
Wow!Seems to have made a great improvement to my custom Chromium Start Page.
BTW, you can link directly to it, so user does not have to search first. ;)
Fantastic! I used IE11 for reading stuff online – now with this feature enabled, Chrome it is.
Given the fact that Chrome alters default settings, I think this should be enabled by default.
Kudos for this amazing hack.
Is there any way to enable DirectWrite from the code directly? I’m a Front-End Developer and I have huge problems when delivering the sites to my clients because Chrome’s bullshit text rendering engine. One client didn’t even paid me because of this; he said that I do crappy work and that he expected high-quality work.