ADCの Technical Q&Aに縁付き文字描画の話題が出ていた。
Technical Q&A QA1531
Drawing attributed strings that are both filled and stroked
NSString#drawAtPoint: withAttributes: を使って縁の付いた文字を描画するには NSStrokeWidthAttributeName 属性を負にすれば良いらしい。
NSStrokeWidthAttributeName は NSDictionaryのキー名として使う。こんな感じ。
[attrs setObject: [NSNumber numberWithFloat: -2.0] forKey: NSStrokeWidthAttributeName];
サンプルが載っていたので試してみた。
上から順に
NSStrokeWidthAttributeName: 0
NSStrokeWidthAttributeName: 2.0
NSStrokeWidthAttributeName: -2.0
としてある。
ソース:OutlineString.zip
おおこれは便利だ。