Almost all of this is out-of-date with newer freetype/fontconfig/toolkits. Subpixel positioning is a default thing on most distros, grayscale AA is the sane distro default (due to the proliferation of alternative subpixel layouts), and Harfbuzz shaping has become near-universal.
I don't agree that this should be flagged. Put the year in the title, that's all. Blog posts go out of date all the time, the OSes simply have different issues now.
I have some problems with fonts on Linux, but none of the stuff mentioned there is the stuff that I care much about (compared with the other problems I have). Problems I have is that some programs are not capable of using bitmap fonts (some, such as Firefox, can use bitmap fonts in some places but not in others), and some programs are incapable of using non-Unicode fonts. (Newer programs might also support colourful emoji, which I also don't want, but fortunately I do not that problem because I do not have any such programs on my computer.)
So I'm sorry to hear about some of the problems with Linux font rendering in this article, it goes beyond my knowledge. I want to say though as a user, I have, between Linux, Mac and Windows machines over the years, literally always preferred Linux font rendering over cleartype and now even Mac not caring about lower resolutions and non-mac screens. You shouldn't need a 4k screen to get crisp and smooth fonts and sometimes even when you do they still look like shit, especially cleartype.
I know it's subjective but...<p>Font rendering with ClearType on Windows used to be so awful you had to install an external library[0] to get something closer to a Mac experience.<p>[0]: <a href="https://github.com/CoolOppo/GDI-PlusPlus">https://github.com/CoolOppo/GDI-PlusPlus</a>
The author focuses on ClearType and other methods of rendering size-accurate and style-accurate fonts, but blurry text. I hate blurry text, with or without color fringing. I am willing to sacrifice size and glyph style for text clarity/sharpness, while the article author, apparently does not. We all have different preferences.<p>Now, some technical comments:<p>It is physically impossible to render size-accurate characters on a bitmap display and not have blurry text. If the font size means the line of "l" should be 1.5 pixels wide, then there's only two possibilities to render sharp text: make it 1px wide or make it 2px wide. Any of these two choices doesn't respect font size (1.5), and any other rendering method means at least one pixel column that is some form of gray or color fringing. On LCDs with vertically alligned sub-pixels, even 1px has fringing, but at least it's sharp.<p>Traditionally Windows fonts were manually hinted and had rendering limitations on size. This way, all characters kept the same line thickness regardless of character line angles. And at the same time, to prevent ugly rendering, fonts weren't available in all sizes. Sizes that didn't have hinting info weren't available.<p>For example, there is was no Arial size 13, 15 or 17. The glyph lines would be 1px wide for sizes 8 to 14 and then suddenly jump to 2px thickness at size 16. That prevented blurry text or characters where line thickness varies whithin the same character or between characters of the same size.<p>Manual font hinting takes DAYS for a single character! It's almost like making bitmap fonts. Linux didn't (and still doesn't) have hinted fonts. Because of that, Linux doesn't restrict font sizes. Not even for fonts that <i>are</i> hinted. All sizes are available. This leads to: 1) blurry fonts with aliasing and sub-pixel rendering or 2) ugly text where line thickness varies randomly between characters or even within the same character.<p>There is no solution and there can't be any, because restricting font sizes to just those with hinting info excludes the vast majority of Linux fonts, which have no hinting at all, at any size. The only way to make text look decent is to enable antialiasing that causes blurry text and/or sub-pixel rendering which causes color fringing.<p>Hardware will, once again, save us from the crippled sorry state of the software. Once hi-dpi displays become common, this won't be a problem anymore. Character lines can be several px wide and a variation of one extra px here and there in line thickness won't matter anymore.
This is giving me flashbacks to the days of bad fonts and bad rendering. Back when using the web on Linux was a totally different and grossly inferior experience.<p>At least we can still simu late it whenwe get n0staIgic.
After following the advice in this article [1] to my eyes, my linux fonts look better than my MacBook's.<p>tldr: "FREETYPE_PROPERTIES="cff:no-stem-darkening=0 autofitter:no-stem-darkening=0"<p>[1] <a href="https://news.ycombinator.com/item?id=41643573">https://news.ycombinator.com/item?id=41643573</a>
This is a terrible post. Most professional typesetters/publishers use macOS for a reason and have for decades.<p>Also this blog post is 5 years old and woefully out of date anyway.
Font rendering on GTK3 was pretty decent, I'd say on par with Windows and better than Mac (without retina screen). Then GTK4 was released and fonts looked ugly for quite a while. Now they have been improved, but still not at GTK3 level. But hey, now you can rotate text, for whatever reason.
"For decades OS X remained a very ugly baby"<p>wtf...? I know it's only their opinion, but jeez that is one hot take.<p>I've been using OSX/macOS since ~2005, and in comparison, Windows (and heaven forbid you had to use Linux) had the absolute worst font rendering ever. Even today it looks horrible.<p>Update:<p>Hah, just read their FAQ, quote:<p>"Q: Why bother, just buy a HiDPI screen?<p>A: In my opinion and experience, HiDPI is a niche gimmick similar to 3D movies."<p><a href="https://pandasauce.org/get-fonts-done/" rel="nofollow">https://pandasauce.org/get-fonts-done/</a>