15

Helvetica has always looked horrible in Illustrator CS4+ on my Mac, including all OS versions, regardless of size or units. Below are screenshots of Helvetica at 12px, 24px, and 36px.

Helvetica at 12px Helvetica at 24px Helvetica at 36px

Is there a way to counteract this? Other fonts look great, but Helvetica (Neue or otherwise) always looks horrible, as if subpixel rendering is off.

4
  • 2
    This may not bring a solid answer, but I believe your exact question is being discussed on Adobe's forum. Here: forums.adobe.com/message/2443391
    – Henrik
    Mar 4, 2012 at 2:06
  • 1
    Thanks for the link! The discussion is very old though. I find it hard to believe that my fonts have been corrupted on multiple computers, through multiple OSs, through multiple versions of CS. Am I really the only one that this affects?
    – Andrew
    Mar 4, 2012 at 2:23
  • FWIW I made a comparison test on internal vs exported png rendering to see how the font renders on my system (confirmingly not too good). One would expect that the "type optimized" render would look better, but oddly it's the "art optimized" render that comes closer to satisfying. i.imgur.com/izTuj.png
    – Henrik
    Mar 4, 2012 at 3:40
  • 1
    @hced, your render very accurately describes what I see. Those lowercase r's are ridiculous!
    – Andrew
    Mar 9, 2012 at 16:52

5 Answers 5

10

First, two common causes of wonky, misaligned, disjointed text where characters don't line up or size correctly relative to each other that are not the causes in this specific case:

  • Mis-alignment to the pixel grid. More recent versions of Illustrator have an 'Align to pixel grid' option, but it affects everything and has consequences like preventing stroke widths of less than 1pt. You can pixel-align individual objects without other consequences with the Pixel Align script (download) from Wundes.
  • Double check that the text isn't very slightly rotated, as this will make the hinting go nuts.

This particular case, however, is a combination of the particular type of anti-aliasing and hinting. In Illustrator CS5+ there are options for how type is anti-aliased similar to those in Photoshop, so we can compare the combinations (top rows are 10 Helvetica Neue Light, bottom rows 14pt), of which CS4 appears to only use 'Sharp':


With hinting (i.e. onscreen preview, or, in CS5+, save for web with "Type Optimised" selected)

enter image description here


Without hinting (i.e.'Art optimised' save for web, or less than CS4 save for web ):

enter image description here


You can see the ugly distortion, lowering flat-topped letters and raising round-topped letters, appearing when hinting is on and when anti-aliasing is 'Sharp', regardless of whether the object itself is aligned to the pixel grid - because the hinting (adjusting details to fit the pixel grid) is happening at the level of each detail of each character, not the text object itself.

(I can't find anything spelling out exactly what each anti-aliasing method does - it looks like 'Crisp' and 'Strong' may actually be turning Illustrator's hinting off, or at least, dampening it down)

Note also how aligning the text object to the pixel grid does make a small difference when hinting is off (e.g. the "il" in Evil in the Sharp case). But there's a certain amount of randomness to this. Sometimes it'll be an improvement, sometimes it might make the text rendering worse, sometimes it'll make no difference.

On CS6, you have control over these things. On CS4 for in-image text for web output, the workaround I'd recommend is to copy screenshots of the on-screen preview at 100% to Photoshop when you do want hinting, and using Save For Web plus the Pixel Align script when you don't want hinting, and where appropriate combine the two images in Photoshop, overlaying them and erasing areas of one where you want the rendering of the other. Or, apply the text in Photoshop and make use of its anti-aliasing controls.

Hinted text is usually better for readability, but in some cases like these, it does go badly wrong...

1
  • Wow, what a great answer! I'm sorry I didn't mark it as such earlier! Your experiments have been extremely helpful in getting to the bottom of it, and I'm glad to hear that in CS6 we actually have control.
    – Andrew
    Dec 7, 2012 at 18:21
6

Adobe Illustrator and Adobe Photoshop don't use subpixel antialiasing. This is one of the reasons why they both tend to render type worse than the user interface text in OS X. Webpages in Safari, Chrome and Firefox also render with subpixel antialiasing in most cases, too (it depends on the web page, techniques and CSS though).

In fact, OS X doesn't use subpixel antialiasing at all times, only when the rendering is on an opaque background:

Text can only be drawn using sub-pixel antialiasing when it is composited into an existing opaque background at the same time that it's rasterized.

Apple's CATextLayer Class Reference

Also, Adobe use a different text rendering engine to OS X and Windows, presumably so they can have consistent cross-platform results.

I'm not sure why Helvetica Neue is particularly bad or different. It's probably just a symptom of wider differences.

2

My suggestion is to open the file in Apple Preview every now and then. It has vastly better text rendering. This allows you to at least work around the problem until you decide to export.

2

Text that is rendered on-screen usually has some level of hinting and anti-aliasing applied. These are both intended to make the text more readable on-screen.

Illustrator here is applying a different level of hinting or anti-aliasing to what you normally see in your operating system, so it looks different (and to you, looks wrong, for there is much research on the topic of people getting used to the way their chosen OS renders text, and everything else looking wrong).

The good news is that it usually doesn't matter to the end result; when in Illustrator you are more concerned about the vector output it produces, not how it looks in Illustrator rasterised for your screen. If Illustrator rendered it a lot "nicer" to you, it'd still not be giving a very good preview of what the output would be, since the screen's rasterised display is very much a limiting factor; to get a good preview of the letter-shapes you need to zoom in very close, and to get a good preview of how it looks printed - you have to print it.

The anti-aliasing of on-screen text helps prevent ugly letter shapes as a result of the rasterisation but there are multiple types of anti-aliasing. Most OSs these days employ sub-pixel antialiasing which is the most "crisp" type because it triples the horizontal resolution, whereas your sample does not show anti sub-pixel anti-aliasing. As a result, vertical "stems" don't look very crisp at small sizes.

The hinting of on-screen text helps make the stems and bars of the text more distinct and sharper, by shifting them to align with the pixel grid. Operating Systems vary wildly in their level of hinting with Windows doing it very strongly, and Mac OS X doing hardly any of it at all. As a consequence anything different to what you are used to probably looks wrong (as does bad hinting also look wrong). The samples you provided show text that is heavily hinted, and the mistake on the top of the lowercase "x" leads me to believe that Illustrator is auto-hinting it. Auto-hinting can make some fonts look OK, and others look really bad. Particularly if you usually use Mac OS X, this is going to look quite wrong to you either way.

Anyway, as said, it doesn't affect the final result.

4
  • I often use Illustrator with the explicit goal of exporting to a digital format, and rarely use it for print stuff. So while I understand that it will look fine when printed, with Retina-esque displays this really shouldn't be an issue anymore. I would almost rather Illustrator just use the native system font rendering for display. While it would be different cross-platform, it would at least be consistent per-platform.
    – Andrew
    Sep 13, 2012 at 21:26
  • The problem is that you are creating a raster image, where sub-pixels do not exist. Sub-pixel rendering is a capability of hardware.
    – horatio
    Sep 28, 2012 at 14:13
  • @horatio its not entirely true you can bake subpixel rendering in if you know the screen pixel order and configuration beforehand.
    – joojaa
    Jul 22, 2014 at 14:37
  • It is possible to get clever and make a subpixel optimised image from Illustrator: export at 3 times the intended final output, then in Photoshop etc shift the red channel right one pixel and the blue channel left one pixel without altering canvas size, re-size to intended output size and voila. It won't have the filtering or hinting that on-screen text renderers have, though, so still won't look the same. Jul 23, 2014 at 1:23
-1

It looks pretty good on my computer:

enter image description here

Given the limitations of rasterized text, this is about as good as it gets. Different typefaces are better suited for small font sizes, and unless you have subpixel rendering, which is only available for device-specific renderings (e.g. web page and UI text), then you need to live with the fact that regular AA has a hard time with high contrast text (and black on white is about as high contrast as it gets) at low resolutions, such as typical 72ppi desktop/laptop displays.

If you use Helvetica for 300dpi+ print resolutions, or you're rendering on hi-resolution LCDs (or just large regular 72 PPI LCDs that are designed to be viewed from a distance), then it's not problem.

2
  • black on yellow is higher contrast than black on white
    – Ryan
    Mar 4, 2012 at 13:00
  • 3
    @Ryan: Not really. Black on white (or vice versa) is considered 100% contrast (for both digital imaging systems and visual acuity tests). Replacing white with yellow lowers the difference in luminance. Yellow, like red, is good at getting one's attention, which is why yellow and black are the standard warning colors. But to AA black on yellow in a typical 8-bit RGB displays requires stepping through 255 levels in the green and blue channels while on white requires doing this for all 3 channels. Mar 4, 2012 at 13:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.