Плохо отображаемый текст (NSFont) в MacRuby / Cocoa.Любой совет? - PullRequest
1 голос
/ 19 ноября 2011

У меня есть небольшое приложение MacRuby, которое отображает некоторый текст внутри NSTextView.У меня есть метод с именем make_label(), который создает NSTextView с некоторым текстом и возвращает его, который я использую для добавления к другому NSView через addSubview()

make_label(), выглядит так:

def make_label( x, y, width, height, color, font_size, text )
  label = NSTextView.alloc.initWithFrame( NSMakeRect( x, y, width, height) )
  font = NSFont.systemFontOfSize(font_size)
  label.setFont( font )
  label.insertText( text )
  label.setTextColor( color )
  label.setDrawsBackground(false)
  label.setRichText(true)
  label.setEditable(false)
  label.setSelectable(false)
  label
end

Мой вопрос: почему мой текст выглядит так плохо отрендеренным?Это выглядит очень неровно и совсем не сглажено (из того, что я вижу).

Щелкните здесь для скриншота

На этом снимке экрана показаны 2 разных размера шрифта с одинаковым явлением.

Ответы [ 2 ]

1 голос
/ 20 ноября 2011

Преступник был setWantsLayer(true), который был вызван для представления, в котором я рисовал. Я удалил эту линию, и мне также нужно было label.setDrawsBackground(false), как описал Джерик.

1 голос
/ 19 ноября 2011

Какао не может отрисовывать субпиксельный сглаженный текст, если он отображается в непрозрачном контексте.

Я пришел со стороны объектива C, так что я немного догадываюсь, но попробуйте установить label.setDrawsBackground(false) в true.

...