Blurrier text when zoomed out (on Mojave with a non-Retina screen)

Has anyone noticed that small text in Omnigraffle has gotten blurrier, as if anti-aliasing suddenly got more aggressive? If I’m editing text inside a shape, it reverts to sharp text inside that particular shape, but text not in edit mode is less readable than before when zoomed out.

Are you using Mojave and have you recently upgraded from High Sierra? The font smoothing in Mojave has changed from High Sierra.

In the system general preferences, do you have “Use font smoothing when available” checked or unchecked? There’s some information about the changes in Mojave and what your options are to fix it at https://www.howtogeek.com/358596/how-to-fix-blurry-fonts-on-macos-mojave-with-subpixel-antialiasing/, or you can just try turning font smoothing on in the general system preferences.

Thanks,
Lanette

Hi Lanette,

Thanks for the quick response. Yeah, I just “upgraded” to Mojave, which seems to have been a bad move. I didn’t expect this though!

Font smoothing was on by default, so I tried turning it off. The text in the UI changes appearance when I toggle the font smoothing, but the text inside the actual document does not. I went to the site you referenced and tried his suggestions, but the options seem to make things even worse so I went back to the default.

I guess this problem is at the OS level? Other applications such as Powerpoint, however, don’t seem to suffer from the same issue.

04 PM33 PM

Two screengrabs: one is from inside omnigraffle, and the second is the file exported to PDF and opened in Preview.

Once you export to PDF I believe you are viewing an image and not text, so font differences in the system rendering won’t be obvious there. The font smoothing setting that you want to use is going to depend on your display.

There is no longer sub-pixel antialiasing in Mojave. The options to change font smoothing are slightly different. Only applications that previously supported font sub pixel anti-aliasing will have changed, and only if you are using the same font at the same zoom level and size and it still is in text form. I can confirm that I am seeing the same thing though, where text (in Mail.app or in OmniGraffle) zoomed out on High Sierra looks more crisp than on Mojave. I get the same exact results between Mail and OmniGraffle when I use the same fonts at the same zoom level.

Make sure once you turn off or change values in the terminal for Font Smoothing that you log out and log in again, or the changes won’t apply. If you still can’t find a suitable setting after logging off, you might contact Apple support and let them know about the issue since this is a change on their side and they could have details that we do not.

Thanks,
Lanette

Yes, I see the same problem on my Apple Thunderbolt monitor which is attached to a retina MacBook Pro 15". Everything looks fine on the retina laptop screen but not so good on the Thunderbolt monitor, especially apps like Microsoft Office 2016. I also tried to workarounds but like you found, they seem to make it worse.

I am hoping Apple addresses this in an update but I wouldn’t be surprised if they didn’t. Anyway, I will soon be back on Windows so I won’t have to deal with it.

If only they’d build a Windows version of Omnigraffle - hint hint Lanette!

I know it’s been asked for a million times and there’s no plan to do it, but man, you’d get sooo many new customers.

Any chance you are running the macOS Mojave betas? We’re able to reproduce an issue with blurry text on the latest Mojave beta on non-retina screens but we aren’t seeing the issue on the release version of Mojave.

Pretty sure it’s the final - I only upgraded when the OS asked me to:

42 AM

Here are a couple more screenshots for context. The first screenshot shows two Omnigraffle docs: the text in the box in the top document is Avenir Next 10 point at 75% zoom, and the text inside the box in the bottom doc is Avenir Next 32 point at 25% zoom. There’s a big difference between the two. The second screenshot has the same two docs, but now the text boxes are in edit mode. The text in both boxes looks more or less the same.

I’m not sure if zooming out further causes the blurriness, but I can say that I really did notice that something had changed after Mojave, because a document that I’d been working on for weeks suddenly looked less readable. it’s possible I’m imagining it but I don’t think I am.

And just one more :) - Powerpoint Avenir Next 32 point at 25% zoom

If you want to know Apple’s reasoning for why they changed this behavior in Mojave, they discuss the change briefly in this year’s WWDC talk on “What’s New in Cocoa for macOS”. Here’s the relevant excerpt, 28 minutes into the talk:

And, there’s a great session coming up later today about adopting Metal for OpenGL developers. There’s one last change I want to talk about, which is a change we’ve made to font antialiasing. If you go ahead and look at this screen comparison, I have macOS 10.13 on the left, and macOS 10.14 on the right. And, if you look at the text in this window, it’s basically identical. But, if we zoom in, all the way to a 48X scale factor, we can see that macOS 10.13 is using this color-fringing effect for its font rendering. In macOS 10.14, we no longer use that effect.

image

And, this means our text looks great on a much wider variety of panel technologies, as well as scaling modes.

Now, this “color-fringing” effect has always been somewhat controversial: some people love the way it lets you take advantage of “subpixels” to let you round out edges, while other people don’t like those colors being introduced to the edges of things that shouldn’t be colored. (People who wear glasses are probably not that sensitive to color fringes since looking through a glass lens introduces color artifacts anyway.) And, as Apple briefly notes above, the whole technique is very dependent on your display technology anyway: if you rotate your screen, for example, its red/green/blue subpixels will be oriented differently and any color shifting that doesn’t take that into account isn’t going to work properly. (And if you try to rotate or scale some pre-rendered text on screen, those subpixels will really become a hassle.)

With the introduction of Retina (high-dpi) displays, the problem that those subpixels are trying to solve has mostly gone away: pixels on a Retina display are small enough that you can get the sufficient detail out of just using the pixels themselves, so you don’t have to guess about the how shifting your colors might help you position things within a pixel.

But not every screen is a Retina display, and some people using non-Retina displays clearly miss the old behavior. Lanette linked to some good threads above which talk about various settings you can experiment with, but if what you’re specifically missing is subpixel antialiasing you can to try entering this command in a Terminal window:

defaults write com.omnigroup.OmniGraffle7 CGFontRenderingFontSmoothingDisabled -bool false

If you’re using a Mac App Store build use this command instead:

defaults write com.omnigroup.OmniGraffle7.MacAppStore CGFontRenderingFontSmoothingDisabled -bool false

Then quit and reopen OmniGraffle. Testing on my non-Retina display, I wouldn’t say that I felt that the result was particularly more readable, but with that setting Mojave is definitely using color fringing to render my fonts where it wasn’t before.

To get back to the system’s default settings (whatever they may be), you can use the appropriate one of these commands:

defaults remove com.omnigroup.OmniGraffle7 CGFontRenderingFontSmoothingDisabled
defaults remove com.omnigroup.OmniGraffle7.MacAppStore CGFontRenderingFontSmoothingDisabled

The other thing you might experiment with is the “Use font smoothing when available” setting in System Preferences (it’s the last setting under General). It may be that what Apple refers to as “smooth” looks more blurry to you, so turning it off may result in text which looks more crisp.

Hope this helps!

1 Like

thanks - I looked some of the terminal suggestions in lanette’s link, and i’ll take a close look at these too. If you look at my powerpoint vs omnigraffle screenshot above, however, it seems like powerpoint doesn’t have the same issues. could that be an omnigraffle-specific issue?

It’s unlikely that this is OmniGraffle-specific; the complaints in those other threads that people raised with text rendering in Mojave were about many apps, not just (or even particularly) OmniGraffle.

My guess is that PowerPoint uses some other API to render text (possibly something proprietary to Microsoft), rather than using the system frameworks’ standard text rendering.

(But if there is something we could be doing differently which would improve the rendering in OmniGraffle, I’d love to be wrong!)

Yeah, it could be so many issues. Will your devs be taking a look at the issue at least?

Yes, our development team is investigating. One of the things we’ve found is that this seemed to get worse when we started building against the macOS 10.14 SDK. The best clue we have as to why is this excerpt from the AppKit release notes:

Windows in apps linked against the macOS 10.14 SDK are displayed using Core Animation when the app is running in macOS 10.14. This doesn’t mean that all views are layer-backed; rather, it means that all views are either layer-backed or draw into a shared layer with other layers.

This change should be mostly invisible to most apps, but you might notice one or more subtle changes as a result.

So, perhaps this is one of those “subtle” changes? We need to use API from the 10.14 SDK, so we can’t just switch back to using the macOS 10.13 SDK to avoid this new behavior. We’re researching to see what our other options might be.

As another data point, I discovered some other unusual behavior. When working with text boxes, sometimes the text is blurry when a box is its regular state, and then it becomes sharp when I click into it to edit the text. When I click out of the box it becomes blurry again. However, sometimes it’s the exact opposite, where the text gets blurry in edit mode! The attached screenshot shows an example of that behavior.

13 PM