Для пользовательского рисования в NSTextView вам необходимо подклассифицировать NSLayoutManager и обработать чертеж там. То, что вы хотите сделать, будет непросто, но я не думаю. В прошлом я подклассифицировал NSLayoutManager, чтобы нарисовать дополнительные метки за символами и между символами, но вам действительно нужно нарисовать затронутые диапазоны текста самостоятельно, переопределив -drawGlyphsForGlyphRange: atPoint :. Вы можете использовать пройденный диапазон, преобразовать его в диапазон символов, используя -characterRangeForGlyphRange: actualGlyphRange :, и проверить символы в диапазоне - это те, к которым вы хотите применить свой собственный чертеж. Для таких диапазонов вы сами сделаете чертеж. Трудная часть будет гарантировать, что ваша строка будет нарисована в нужном месте, принимая во внимание межстрочный интервал и т. Д. -lineFragmentRectForGlyphAtIndex: ... и -locationForGlyphAtIndex: должны быть ваши друзья здесь.