Alex Rivera | Logout

Add shadow (recessed text effect) to Cocoa label without degrading text rendering quality

Asked 2009-11-18T22:35:53.123
14

I'd like to create statusbar with text effect like in Safari or iTunes, i.e. recessed text.

example

However, if I simply add shadow in Interface Builder using Core Animation panel, OS X's worst text rendering kicks in:

wheres my subpixel

What's the trick to get recessed text on a label and keep proper subpixel rendering?

Edit
Report

1 Answer

6

It's a cheap old trick: You draw the text in white at an offset and then draw the black text on top of it.

There is a hook for shadows in the text-drawing system, NSAttributedString's NSShadowAttributeName. But testing this out, it appears to kill the subpixel antialiasing as well.

answered 2009-11-18T22:39:36.693

Your Answer