Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

pizzabox

macrumors newbie
Jul 2, 2020
26
29
Reading this thread I'm always reminded I need to spend some quality time with my wife's WFH setup, where she has a MacBook plugged into a Dell 1080 external and it looks like absolute garbagio. I don't know how she stares at that all day—she's probably gotten used to it, tragically. I myself would jump off the roof.

But I'm also here to say I finally added an APFS volume with High Sierra to this (non-retina) '15 MBA I use sometimes, which had been primarily running Catalina, and how wonderful it is to have subpixel rendering back on this machine.* Catalina hadn't been completely unbearable, not for short stretches, but that odd combination of blurriness and jaggedness was always just enough to notice, even with Terminal tweaks. I also have Big Sur on this machine and, well, it's just a blurry, juvenile mess.

*It's interesting that subpixel is available or not on a website-by-website basis, even in HS and earlier, and so I note the irony that MacRumors does not appear to support it (along with other sites like Gmail, for example).
 

Jassbag

macrumors newbie
Dec 27, 2017
23
6
Athens
Necro-ing this, but at last, correct information on why doing this is not optimal - is now out there on the Internets:


 
  • Like
Reactions: pizzabox

pizzabox

macrumors newbie
Jul 2, 2020
26
29
^ This is great info, thank you. It's definitely not what you will get if you simply google "best external monitors for Mac."

Notable how the youtuber emphasizes GPU performance (under certain high-demand conditions) as the factor to consider whereas Bjango emphasizes pixel appearance. It's odd (to me, a layperson) that Apple's intermediate scaling options use math that then results in these compromises as opposed to just sizing the UI per the user's preference, and taking advantage of all the many pixels (say, in 4K) available to do so.

Also interesting that this puts a 27" 1440 monitor back in a sweet spot—that's the same screen on this 2012 iMac I'm using as an external. So far, the main reason I've stopped at High Sierra is because I don't want to give up subpixel AA and then have to look at that blown up to 27". I've always assumed that a 4K monitor would be better, but maybe not. Or, at least, there'd be a tradeoff. I've plugged higher OSes into this iMac and, while the difference between looking at them and High Sierra may be slight, I feel like it's still just above imperceptible.
 

pizzabox

macrumors newbie
Jul 2, 2020
26
29
Ok, interesting. A shame to have to go that route, while computing and software capabilities in general are otherwise advancing. So it creates this raft of issues and compromises, alas. Again, I'm a layperson.
 

tornado99

macrumors 6502
Jul 28, 2013
454
445
The other problem is that even when using a Retina display, Apple still does not render fonts as well as Linux on the same display. I have a Linux system set up with subpixel AA off, hinting off, and you can really see the difference in character between fonts, whereas Apple still attempts this fake "semi bolding" effects that fattens every font and smears out details, even though they don't need to for Retina! And yes, I have tried all the 4 font smoothing options - none are as good as Freetype in Linux (which I believe uses an Adobe Rendering Engine).
 

theorist9

macrumors 68040
May 28, 2015
3,880
3,059
The other problem is that even when using a Retina display, Apple still does not render fonts as well as Linux on the same display. I have a Linux system set up with subpixel AA off, hinting off, and you can really see the difference in character between fonts, whereas Apple still attempts this fake "semi bolding" effects that fattens every font and smears out details, even though they don't need to for Retina! And yes, I have tried all the 4 font smoothing options - none are as good as Freetype in Linux (which I believe uses an Adobe Rendering Engine).
Have you tried comparing fonts of equal absolute size on the standard 218 ppi Retina display and the 254 ppi displays used on the 14" and 16" MBP's to see if their added pixel density is sufficient to ameliorate the problem?
 

tornado99

macrumors 6502
Jul 28, 2013
454
445
Have you tried comparing fonts of equal absolute size on the standard 218 ppi Retina display and the 254 ppi displays used on the 14" and 16" MBP's to see if their added pixel density is sufficient to ameliorate the problem?
I don't have access to 254 ppi, but now that Linux for M1/M2 is available anyone reading this who owns one of those MBPs could install it (side-by-side to an OS X install and easily removable) and find out!


Remember to set subpixel AA and hinting to off in Linux system preferences.
 

theorist9

macrumors 68040
May 28, 2015
3,880
3,059
I don't have access to 254 ppi, but now that Linux for M1/M2 is available anyone reading this who owns one of those MBPs could install it (side-by-side to an OS X install and easily removable) and find out!


Remember to set subpixel AA and hinting to off in Linux system preferences.
I don't think that's going to address the question I raised. I.e., the question I was asking is whether you personally would find MacOS with 254 ppi as sharp as Linux with 218 ppi (with fonts adjusted to have the same absolute size). Unfortunately, as you said, you don't have access to a 254 ppi Mac display.

I guess we'd need to find someone else who has access to both displays, and who also sees a disparity between Linux and MacOS when it comes to text sharpness on 218 ppi.
 
Last edited:

tornado99

macrumors 6502
Jul 28, 2013
454
445
@theorist9 I doubt it would make a difference. Apple seem to be stuck with this well-known artificial boldening which they've applied to every font glyph in their OS since the 1990s. Getting font rendering technically perfect doesn't seem to be one of their priorities. Probably it would cause too many issues to simply turn it off if connected display is > xxx ppi.

If you follow the Linux Freetype mailing lists they went through an exhaustive process of creating a set of rules that would render every font as true to the original bezier curves as possible. It took them about 10 years to get it right. Probably one of the benefits of opensource. Fonts are actually quite a nerdy pursuit.

I've compared quite a few fonts now between Linux and OS X at 218 dpi, and Linux rendering is delightfully clear every time. OS X is always smooth, but at the expense of detail and character.

If you want a good free test case try Gentium Book Plus, https://software.sil.org/gentium/
 
Last edited:
  • Like
Reactions: f54da

theorist9

macrumors 68040
May 28, 2015
3,880
3,059
@theorist9 I doubt it would make a difference. Apple seem to be stuck with this well-known artificial boldening which they've applied to every font glyph in their OS since the 1990s. Getting font rendering technically perfect doesn't seem to be one of their priorities. Probably it would cause too many issues to simply turn it off if connected display is > xxx ppi.

If you follow the Linux Freetype mailing lists they went through an exhaustive process of creating a set of rules that would render every font as true to the original bezier curves as possible. It took them about 10 years to get it right. Probably one of the benefits of opensource. Fonts are actually quite a nerdy pursuit.

I've compared quite a few fonts now between Linux and OS X at 218 dpi, and Linux rendering is delightfully clear every time. OS X is always smooth, but at the expense of detail and character.

If you want a good free test case try Gentium Book Plus, https://software.sil.org/gentium/
IIUC, in comparing MacOS and Windows, MacOS remains faithful to glyph shape, even if it means the glyph edge lies between two pixel boundaries, which sacrifices sharpness. I.e., MacOS fonts are more faithful to glyph shape, but sacrifice edge sharpness tp accomplish this. Windows, by contrast, tries to put glyph boundaries at pixel boundaries, thus distorting glyph shape to obtain sharper glyph edges.

Thus I don't think it's accurate to say that Apple doesn't care about getting font rendering technically perfect. In fact, it seems the opposite is the case: They prioritize getting font glyph shape correct, even at the sacrifice of glyph sharpness. Windows, by contrast, does the opposite.

In summary, you can't have both optimum sharpness (which requires lining up glyph boundaries with pixel boundaries) and faithful glyph shape. Given this, what tradeoff does Linux choose?
 

tornado99

macrumors 6502
Jul 28, 2013
454
445
@theorist9 There is no absolute equation that will retain glyph shape 100% faithfully. MacOS and Linux both make choices and compromises in their rendering engines. Also you seem to be adding hinting into the mix here when I said that I am comparing with hinting off.

Do you have Linux in front of you to make a comparison? Otherwise it seems you are just speculating on what may or may not be the case. I've compared close to 20 fonts now, and Linux is just better and feels closer to the printed page. I've also read the Freetype forum discussions for many years, and there are more choices than perhaps you realise. It's far more intricate than sharpness vs faithfulness.
 

theorist9

macrumors 68040
May 28, 2015
3,880
3,059
@theorist9 There is no absolute equation that will retain glyph shape 100% faithfully. MacOS and Linux both make choices and compromises in their rendering engines. Also you seem to be adding hinting into the mix here when I said that I am comparing with hinting off.

Do you have Linux in front of you to make a comparison? Otherwise it seems you are just speculating on what may or may not be the case. I've compared close to 20 fonts now, and Linux is just better and feels closer to the printed page. I've also read the Freetype forum discussions for many years, and there are more choices than perhaps you realise. It's far more intricate than sharpness vs faithfulness.
Nope, you've completely misunderstood my post. I'm not speculating at all about what Linux may or may not be doing, since I have no idea what Linux does to render fonts, and thus have no basis for speculating. Thus I'm instead asking how Linux does things, as compared with MacOS and Windows (added bold for emphasis this time). If it's more complicated than sharpness vs. faithfulness, then can you summarize the complexities, or provide a good link that covers this, from a reputable, expert source?

In summary, you can't have both optimum sharpness (which requires lining up glyph boundaries with pixel boundaries) and faithful glyph shape. Given this, what tradeoff does Linux choose?
 
Last edited:

Jassbag

macrumors newbie
Dec 27, 2017
23
6
Athens
Apple still attempts this fake "semi bolding" effects that fattens every font and smears out details, even though they don't need to for Retina!
I agree on this. To my eyes, I even don't need it on non-Retina screens — I'm okay with the "sharpness" post-processing done by Dell, for example.

So, in my use case, the first thing I do on every new machine or fresh install of macOS is to Disable font smoothing using:

Code:
defaults -currentHost write -g AppleFontSmoothing -int 0
 

tornado99

macrumors 6502
Jul 28, 2013
454
445
Nope, you've completely misunderstood my post. I'm not speculating at all about what Linux may or may not be doing, since I have no idea what Linux does to render fonts, and thus have no basis for speculating. Thus I'm instead asking how Linux does things, as compared with MacOS and Windows (added bold for emphasis this time). If it's more complicated than sharpness vs. faithfulness, then can you summarize the complexities, or provide a good link that covers this, from a reputable, expert source?

I don't have the time to summurise 10 years of browsing the Freetype forums, or checking out the adjustments made in every new release (http://freetype.org/index.html#news).

However, if you are curious as to why I think Linux has the most beautiful font rendering of any OS, it's very easy for you to check yourself. Just install it!
 

chucker23n1

macrumors G3
Dec 7, 2014
9,090
12,112
I don't have the time to summurise 10 years of browsing the Freetype forums, or checking out the adjustments made in every new release (http://freetype.org/index.html#news).

However, if you are curious as to why I think Linux has the most beautiful font rendering of any OS, it's very easy for you to check yourself. Just install it!

How weird. You seemed to have plenty of time repeating your claim over and over that Linux has better font rendering than macOS.
 
  • Like
Reactions: theorist9

theorist9

macrumors 68040
May 28, 2015
3,880
3,059
How weird. You seemed to have plenty of time repeating your claim over and over that Linux has better font rendering than macOS.
Yeah, really. If I make a claim that's not trivial to verify, and someone wants more info., I'm always happy to either provide my own quick summary or offer a link. Of course, doing so requires one actually understands the supporting background behind a claim, so if someone is not willing to do either that's always a red flag.
 
Last edited:
  • Like
Reactions: tornado99

tornado99

macrumors 6502
Jul 28, 2013
454
445
I agree on this. To my eyes, I even don't need it on non-Retina screens — I'm okay with the "sharpness" post-processing done by Dell, for example.

So, in my use case, the first thing I do on every new machine or fresh install of macOS is to Disable font smoothing using:

Code:
defaults -currentHost write -g AppleFontSmoothing -int 0

The problem is that the off setting makes the fonts too thin in the menu bar and pop-up menus.
 

Jassbag

macrumors newbie
Dec 27, 2017
23
6
Athens
The problem is that the off setting makes the fonts too thin in the menu bar and pop-up menus.
I find the thickness perfect. Especially on Retina. For example, when using the 0 (off) setting, makes the bold menu bar items (like the app name, for example) distinguishable from the rest of the items.
 

tornado99

macrumors 6502
Jul 28, 2013
454
445
I find the thickness perfect. Especially on Retina. For example, when using the 0 (off) setting, makes the bold menu bar items (like the app name, for example) distinguishable from the rest of the items.

Perhaps it depends on your wallpaper. It looks quite ugly for me on a light wallpaper. Also, the font dilation on document text is not removed even with the 0 setting, as it's an intrinsic part of how OS X renders text. Here is some more technical detail for those interested (@theorist9):

Concerning the smoothing, I presume this is macOS’s glyph dilation. pcwalton reverse engineered it in order to replicate it in Pathfinder (so that it can render text exactly like Core Text does), concluding that the glyph dilation is “min(vec2(0.3px), vec2(0.015125, 0.0121) * S) where S is the font size in px” ( ). Fun times.
Trouble is, people then get used to macOS’s font rendering, so that (a) they don’t want to turn it off, because it’s different from what they’re used to, and (b) start designing for it. I’m convinced this is a large part of the reason why people deploy so many websites with body text at weight 300 rather than 400, because macOS makes that tolerable because it makes it bolder. Meanwhile people using other operating systems that obey what the font said are left with unpleasantly thin text.


A good test is to take your favourite font and look at paragraphs in the regular and bold weights on OS X, and then compare this to Linux (or even Windows). You'll find that there is less distinction between regular+bold on Mac. It's more like medium+bold.
 

pushqrdx

macrumors newbie
Oct 13, 2022
16
2
@tornado99 I am sorry but i see you keep talking about gamma correct text rendering on Linux but this is incorrect or rather doesn't exist, almost everywhere on Linux (aside from using an OTF font with QT applications), text is rendered with gamma 1.0 which results in very frail looking bright text on dark backgrounds and blotchy dark text on bright backgrounds. This is true for GTK, and also web browsers like Firefox, Chromium even though they enable gamma correction by default on other platforms, even QT if you just use a ttf font which is default with pretty much any OOB Linux distro configuration.

So, my question is, if you managed to somehow get proper gamma corrected alpha blended text on Linux, how did you do it despite toolkits either having no implementation for it or intentionally disabling it?
 
Last edited:

tornado99

macrumors 6502
Jul 28, 2013
454
445
@tornado99 I am sorry but i see you keep talking about gamma correct text rendering on Linux but this is incorrect or rather doesn't exist, almost everywhere on Linux (aside from using an OTF font with QT applications), text is rendered with gamma 1.0 which results in very frail looking bright text on dark backgrounds and blotchy dark text on bright backgrounds. This is true for GTK, and also web browsers like Firefox, Chromium even though they enable gamma correction by default on other platforms, even QT if you just use a ttf font which is default with pretty much any OOB Linux distro configuration.

So, my question is, if you managed to somehow get proper gamma corrected alpha blended text on Linux, how did you do it despite toolkits either having no implementation for it or intentionally disabling it?

Pushqrdx, I am using KDE Plasma with OTF fonts. Since Qt 5.9 released in 2017, alpha blended gamma correct text rendering has been enabled. Fonts can even be rendered correctly on translucent backgrounds.

I don't know why you are portraying this as some kind of niche environment. KDE has a huge number of users, and almost every font is available as OTF. Indeed OS X uses OTF as well.

Also, your claim on Chromium is out of date. Both Chrome-based browsers and LibreOffice which use the Skia text rendering engine, are able to do gamma correct text rendering on Linux for some time now. Furthermore, Skia can do subpixel positioning of text i.e. space letters with subpixel precision.
 
Last edited:

pushqrdx

macrumors newbie
Oct 13, 2022
16
2
Also, your claim on Chromium is out of date.

@tornado99 this is absolutely incorrect, Chromium intentionally disables gamma correction on Linux & ChromeOS, it's baked into Skia's build script, you can look at the source code here... (The same is true for Firefox)

Also, you jumped to the conclusion that I am saying KDE is niche, I use KDE and love it, I am just saying that GTK apps are over abundant on Linux and the most important piece of software for most people, the web browser, doesn't have gamma corrected alpha blending, or rather disables it on Linux builds just so it matches the look of the rest of the desktop, which is expected to be use gamma value of ~1.0.

I am aware that subpixel positioning is now available in Chromium though, but that is not a substitute for gamma correction.

Also, if you're confused on whether your web browser does gamma correction (which it definitely does not on Linux unless you build Chromium from source and change the predefined constants I linked above), you can visit https://bel.fi/alankila/lcd/ and look at a comparison between proper alpha blended text and your browser's rendering
 
Last edited:

tornado99

macrumors 6502
Jul 28, 2013
454
445
@tornado99 this is absolutely incorrect, Chromium intentionally disables gamma correction on Linux & ChromeOS, it's baked into Skia's build script, you can look at the source code here... (The same is true for Firefox)

Also, you jumped to the conclusion that I am saying KDE is niche, I use KDE and love it, I am just saying that GTK apps are over abundant on Linux and the most important piece of software for most people, the web browser, doesn't have gamma corrected alpha blending, or rather disables it on Linux builds just so it matches the look of the rest of the desktop, which is expected to be use gamma value of ~1.0.

I am aware that subpixel positioning is now available in Chromium though, but that is not a substitute for gamma correction.

Also, if you're confused on whether your web browser does gamma correction (which it definitely does not on Linux unless you build Chromium from source and change the predefined constants I linked above), you can visit https://bel.fi/alankila/lcd/ and look at a comparison between proper alpha blended text and your browser's rendering
I see a lot of rowing back on your part. Let's get a few things straight:

OTF Fonts are commonplace and preferred on Linux (in fact the default font on my distro is Noto Sans OTF). KDE Plasma renders every desktop element with gamma corrected alpha blending. There are also plenty of Qt Apps, I would say <20% of my apps are GTK.

On further investigation you are right that the alpha blend flag is still turned off by default in Chromium. However you can build it yourself, or achieve a similar effect by using a 5-tap custom bezel FIR filter. Freetype also allows you to control stem darkening on all fonts, even in GTK apps.
frail looking bright text on dark backgrounds and blotchy dark text on bright backgrounds
Sorry but this is nonsense. With a little research into how to configure Freetype you get nothing like this. I have perfectly balanced text on 1080p, QHD, and 4K systems. I have this in my etc/profile.d/freetype2.sh for a QHD monitor.

Code:
export FREETYPE_PROPERTIES="truetype:interpreter-version=40 autofitter:no-stem-darkening=0 autofitter:darkening-parameters=500,450,1000,325,1667,325,2333,0 cff:darkening-parameters=500,450,1000,325,1667,325,2333,0 cff:no-stem-darkening=0"
 
  • Haha
Reactions: Jassbag
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.