粗体和斜体字体的麻烦 - 可可

时间:2011-11-09 13:56:13

标签: objective-c macos cocoa

我正在尝试使cocoa应用程序绘制粗体或/和斜体字体。这是我使用的代码:

NSFontTraitMask fontStyle = 0;
if (m_bBold)
    fontStyle |= NSBoldFontMask;
if (m_bItalic)
    fontStyle |= NSItalicFontMask;

NSFontManager* fontManager = [NSFontManager sharedFontManager];
NSFont* font               = [fontManager fontWithFamily:@"Helvetica" traits:fontStyle weight:5 size:12];

据我所知,fontManager所做的只是转换为正确的字体名称。 所以它工作正常。它将Helvetica转换为Helvetica-Bold或Verdana转换为Verdana-Bold。

但是,显示的字体并不总是我问的。例如,它适用于Verdana(我看到它是粗体)。但它不适用于Helvetica。虽然名称转换为Helvetica-Bold,但字体仍然是常规的。

这里的错误是什么?

0 个答案:

没有答案