Alternative to "--disable-direct-write" for poor font rendering?


#1

Hello, I use the same font in all applications/terminals without any issue but in Atom it gets rendered very blurry and a bit wider. I have searched the GitHub issues and the forums but until now the only solution that worked for me was to start Atom with the --disable-direct-write parameter. From what I heard this won’t be available in the next versions (I think it has already been removed in the beta) and so I would like to find some other workaround to render my font properly before that happens.

I’m using Atom 1.11.2 on Windows 10 and my font is ProFontWindows, here is a screenshot comparing normal vs --disable-direct-write rendering:

Any input would be appreciated, thanks!


Edit: I just tried to see how the font renders in Google Chrome and it is better, does this mean that I should be able to get the same results in Atom?


Edit2: There is some kind of inconsistency with the font size, I had to decrease it by one point in Atom when using the --disable-direct-write option to get a better result. The text rendering is still bad compared to GDI, but the line number got significantly better, I edited the line number in the following screenshot from 256 to data so it can be compared to the code font. If you zoom in it is still far from prefect but at least more readable:

Any ideas of why it does look more bold-like in the code?


Recap: (look only at the numbers, the rest is photoshop)


#2

In the developer tools, you can observe all the attributes of the text being displayed. The blue-colored words in that line look really good, so it might be a matter of the colors.


#3

Yes, you should when Atom catches up to that version of Chromium. As of this writing:

  • Chrome is at v54.x
  • Electron is based on Chromium v53.x
  • The latest master of Atom is based on Chromium v52.x

There is a branch under testing that would bring Atom up to v53.x … given some of the comments, it sounds like this may fix the blurry fonts problem. I can’t give an ETA on when the fix will make it into Atom though.


#4

Thanks, I will try to find some time to compile and help testing that branch if I can, I hope it will improve the situation.
Anyways I imagine that I will never be able to get again the same results as with GDI, shouldn’t this be marked as a bug? I think that bitmap fonts are quite popular among programmers and Atom - as a tool for developers - should be supporting them properly. I know it depends on Chromium and I’m definitely not an expert about font rendering but isn’t there anything that could be done?


#5

The only options, as I understand it, would be to:

  1. Attempt to dig into Chromium and add the support for GDI back in to the font engine
  2. Completely replace the font engine in Chromium

… and maintain it in perpetuity no matter how far the design of Chromium diverges from where it currently is. Neither of these are realistic for the number of people we have working on Atom and Electron.