检查NSFont在Swift中是否是粗体

Mar*_*lle 4 nsfont swift

我正在写单元测试检查生成的NSAttributedString的格式.

我可以像这样提取字体:

if let font = attributedString.attributesAtIndex(0, effectiveRange: nil) as? NSFont {
    ...
}
Run Code Online (Sandbox Code Playgroud)

鉴于此NSFont实例,我如何检查它是否是粗体?

OOP*_*Per 7

你可以检查你的字体特征:

let descriptor = font.fontDescriptor
let symTraits = descriptor.symbolicTraits
let traitSet = NSFontTraitMask(rawValue: UInt(symTraits))
let isBold = traitSet.contains(.BoldFontMask))
Run Code Online (Sandbox Code Playgroud)

但我不确定是否isBold会出现true所有看似粗体的字体.