如何从 NSFontAttributeName 中提取字体名称?
How do I extract the font name from a NSFontAttributeName?
我有一个 NSComboBox,我希望它在光标所在的位置显示字体名称。我有当前代码:
- (void)textDidChange:(NSNotification *)notification {
[self.fontBox setStringValue:[self.doc.textStorage attribute:NSFontAttributeName atIndex:(self.doc.selectedRange.location - 1) effectiveRange:nil]];
}
它将组合框的标题设置为字体,但我得到的结果类似于: "ArialMT 12.00 pt. P [] (0x1001a95b0) fobj=0x1006511c0, spc=3.33"
我只想获得 Arial、Times New Roman 或 Helvetica,而不是那么长的字符串。我该怎么做?
使用 NSFont
的 displayName
属性。
NSFont *font = [self.doc.textStorage attribute:NSFontAttributeName atIndex:(self.doc.selectedRange.location - 1) effectiveRange:nil];
[self.fontBox setStringValue:font.displayName];
我有一个 NSComboBox,我希望它在光标所在的位置显示字体名称。我有当前代码:
- (void)textDidChange:(NSNotification *)notification {
[self.fontBox setStringValue:[self.doc.textStorage attribute:NSFontAttributeName atIndex:(self.doc.selectedRange.location - 1) effectiveRange:nil]];
}
它将组合框的标题设置为字体,但我得到的结果类似于: "ArialMT 12.00 pt. P [] (0x1001a95b0) fobj=0x1006511c0, spc=3.33"
我只想获得 Arial、Times New Roman 或 Helvetica,而不是那么长的字符串。我该怎么做?
使用 NSFont
的 displayName
属性。
NSFont *font = [self.doc.textStorage attribute:NSFontAttributeName atIndex:(self.doc.selectedRange.location - 1) effectiveRange:nil];
[self.fontBox setStringValue:font.displayName];