Xcode 8引入了一种名为'SF Mono'的新字体.
这是我个人觉得非常易读的字体,我想在一个字体中使用它NSTextView
.但是,要为a设置字体NSTextView
,需要使用NSFont
对象.问题是我似乎无法SF Mono
在可用字体列表中找到字体NSFontManager.shared().availableFonts
.
有谁知道为其字体SF Mono
初始化NSFont(NSFont(name: String, size: CGFloat)
)的程序名称是什么?
ken*_*ytm 14
"SF Mono"不是系统字体.您无法在终端,控制台和Xcode之外选择SF Mono,因为它未安装到系统中.
在"SF单"在终端是一个自定义字体中/Applications/Utilities/Terminal.app/Contents/Resources/Fonts/
.
类似地,"SF单声道"在控制台是另一自定义字体中/Applications/Utilities/Console.app/Contents/Resources/Fonts
.
类似地,"SF单声道"在Xcode也是自定义字体中/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Resources/
.
当然,如果不违反Apple的版权许可,您不能将SF Mono与您的程序捆绑在一起:
Apple Inc.("Apple")授权此SF Mono字体("Apple字体"),以考虑您是否同意以下条款.如果您不同意这些条款,请不要使用Apple字体.
您可以将Apple Font与Apple品牌的应用程序结合使用,包括但不限于Xcode,Terminal.app和Console.app.您不得在任何其他软件应用程序或程序或其他产品中嵌入或使用Apple字体,也不得使用Apple字体创建,开发,显示或以其他方式分发任何内容,文档,艺术作品或任何其他工作产品.
您只能将Apple字体用于本许可证中描述的目的或Apple书面明确许可的情况.
如果用户手动安装了字体,则可以使用系列名称SF Mono
或字体名称SFMono-Regular
(与其他权重类似)找到该字体.
let f = NSFont(name: "SFMono-Regular", size: 12)
Run Code Online (Sandbox Code Playgroud)
在 iOS 13 和 macOS 10.15 中,Apple为开发人员提供了包括SF Mono和New York在内的新系统字体。
您可以使用NSFont.monospacedSystemFont(ofSize: 0, weight: .regular)
.
或者,如果您想使用其他系统字体,您可以使用 NSFontDescriptor:
if let sfMonoDescriptor = NSFont.systemFont(ofSize: 0).fontDescriptor.withDesign(.monospaced) {
let sfMonoFont = NSFont(descriptor: sfMonoDescriptor, size: 0)!
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请查看 WWDC 会话字体管理和文本缩放。
归档时间: |
|
查看次数: |
3197 次 |
最近记录: |