首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字体“NSFont”的NSFont名称是什么?

字体“NSFont”的NSFont名称是什么?
EN

Stack Overflow用户
提问于 2016-10-06 08:07:27
回答 2查看 6.5K关注 0票数 9

Xcode 8引入了一种名为“SF”的新字体。

这是一种我个人觉得很容易读的字体,我想在NSTextView中使用它。但是,要为NSTextView设置字体,需要使用NSFont对象。问题是,我似乎无法通过SF Mono在可用字体列表中找到NSFontManager.shared().availableFonts字体。

有人知道SF Mono的程序名称是什么,用于初始化字体的NSFont (NSFont(name: String, size: CGFloat))吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-06 08:49:16

"SF“不是系统字体。您不能在终端、控制台和Xcode之外选择SF,因为它没有安装到系统中。

终端中的"SF“是自定义字体 in /Applications/Utilities/Terminal.app/Contents/Resources/Fonts/

类似地,控制台中的"SF“是另一个自定义字体,位于/Applications/Utilities/Console.app/Contents/Resources/Fonts中。

类似地,Xcode中的"SF“也是自定义字体中的/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Resources/

当然,在不违反苹果的版权许可的情况下,你不能将SF捆绑在你的程序旁边:

本SF (“苹果字体”)是由苹果公司(“Apple”)授权给您的,考虑到您对以下条款的同意。如果你不同意这些条款,不要使用苹果字体。 你可以单独使用苹果字体与苹果品牌的应用程序,包括,但不限于,Xcode,Terminal.app和Console.app。您不得在任何其他软件应用程序或程序或其他产品中嵌入或使用Apple,也不得使用Apple创建、开发、显示或以其他方式分发任何内容、文档、艺术品或任何其他工作产品。 您可以使用Apple只用于本许可证中所述的目的,或以书面形式明确允许使用Apple字体。

如果用户手动安装了字体,则可以使用姓氏SF Mono,或字体名SFMono-Regular (与其他权重相似)找到字体。

代码语言:javascript
复制
let f = NSFont(name: "SFMono-Regular", size: 12)
票数 16
EN

Stack Overflow用户

发布于 2019-10-08 10:26:15

通过iOS 13和macOS 10.15,苹果为开发者提供了新的系统字体,包括SF和纽约。

您可以使用NSFont.monospacedSystemFont(ofSize: 0, weight: .regular)获得SF。

或者,如果您想使用其他系统字体,可以使用NSFontDescriptor:

代码语言:javascript
复制
if let sfMonoDescriptor = NSFont.systemFont(ofSize: 0).fontDescriptor.withDesign(.monospaced) {
    let sfMonoFont = NSFont(descriptor: sfMonoDescriptor, size: 0)!
}

有关更多信息,请参阅WWDC会话字体管理和文本缩放。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39890778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档