-[NSString drawInRect:withAttributes:]を使用する場合、主に組み込みのHelvetica Neueを使用する場合、および他のフォントを使用する場合、カーニングは非常に悪くなります。ただし、同じ文字列がテキストエディット(NSTextViewを使用)でレンダリングされる場合、カーニングは優れています。次の2つの文字列について考えてみます。
ポイントサイズが小さい場合、最初のケース(Cocoaでレンダリング)はほとんど判読できませんが、2番目のケース(テキスト編集から)の方がはるかに優れています。ここではカーニング情報は一切使われていないと思います。値0.0のNSKernAttributeを適用すると(ドキュメントによるとカーニングがオフになります)、同じ結果が得られます。一番上にあります。
CTLineDrawでCoreTextを使用してみましたが、それでもカーニングが悪くなりました。だから私の質問は、Cocoaテキストシステムでカーニングを有効にするために私がする必要がある特別なことはありますか?そうでない場合、NSTextViewはどのようにカーニングを適用しますか?