MacRuby/Cocoa中呈现不佳的文本(NSFont)。有什么建议吗?

MacRuby/Cocoa中呈现不佳的文本(NSFont)。有什么建议吗?,cocoa,nsview,nstextview,macruby,Cocoa,Nsview,Nstextview,Macruby,我有一个小的MacRuby应用程序,它在NSTextView中显示一些文本。我有一个名为make_label()的方法,该方法使用一些文本构建一个NSTextView并返回它,我使用它通过addSubview()将其添加到另一个NSView make_label()如下所示: def make_label( x, y, width, height, color, font_size, text ) label = NSTextView.alloc.initWithFrame( NSMakeR

我有一个小的MacRuby应用程序,它在
NSTextView
中显示一些文本。我有一个名为
make_label()
的方法,该方法使用一些文本构建一个NSTextView并返回它,我使用它通过
addSubview()将其添加到另一个NSView

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
我的问题是,为什么我的文本呈现得如此糟糕?它看起来非常像素化,根本没有抗锯齿(从我所看到的)


此屏幕截图显示了两种不同大小的字体,具有相同的现象。

Cocoa无法绘制亚像素抗锯齿文本,如果它呈现的上下文不是不透明的


我来自objective-C方面,所以我有点猜测,但请尝试将
label.setDrawsBackground(false)
设置为true。

罪魁祸首是
setWantLayer(true)
,它是为我正在绘制的视图调用的。我删除了那一行,还需要
标记.setDrawsBackground(false)
,正如joerick所描述的那样。

不幸的是,同样的结果。另外,请注意,我正在
NSImage
上绘制此文本(如果这有帮助的话)。但是,隐藏图像并没有帮助。