字体 'SF Mono' 的 NSFont 名称是什么?
What is the NSFont name for the font 'SF Mono'?
在 Xcode 8.
中引入了一种名为 'SF Mono' 的新字体
这是我个人觉得可读性很强的字体,我想在NSTextView
中使用它。但是,要为 NSTextView
设置字体,需要使用 NSFont
对象。问题是我似乎无法通过 NSFontManager.shared().availableFonts
.
在可用字体列表中找到 SF Mono
字体
有谁知道 SF Mono
的 NSFont (NSFont(name: String, size: CGFloat)
) 字体初始化的编程名称是什么?
"SF Mono" 不是系统字体。你不能 select SF Mono 在终端、控制台和 Xcode 之外,因为它没有安装到系统中。
终端中的"SF Mono"是/Applications/Utilities/Terminal.app/Contents/Resources/Fonts/
中的custom font。
同样,控制台中的"SF Mono"是/Applications/Utilities/Console.app/Contents/Resources/Fonts
中的另一种自定义字体。
同样,Xcode中的"SF Mono"也是/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Resources/
中的自定义字体。
当然,在不违反 Apple 版权许可的情况下,您不能将 SF Mono 与您的程序捆绑在一起:
This SF Mono Font (the “Apple Font”) is licensed to you by Apple Inc. (“Apple”) in consideration of your agreement to the following terms. If you do not agree with these terms, do not use the Apple Font.
You may use the Apple Font solely in conjunction with Apple-branded applications, including, but not limited to, Xcode, Terminal.app and Console.app. You may not embed or use the Apple Font in or with any other software applications or programs or other products and you may not use the Apple Font to create, develop, display or otherwise distribute any content, documentation, artwork or any other work product.
You may use the Apple Font only for the purposes described in this License or as otherwise expressly permitted by Apple in writing.
如果用户手动安装了字体,可以通过字体名SF Mono
或者字体名SFMono-Regular
找到](其他权重类似)。
let f = NSFont(name: "SFMono-Regular", size: 12)
使用 iOS 13 和 macOS 10.15 Apple 制作了新的系统字体,包括 SF Mono 和 New York,可用对于开发人员。
您可以使用 NSFont.monospacedSystemFont(ofSize: 0, weight: .regular)
获得 SF Mono。
或者,如果你想使用其他系统字体,你可以使用 NSFontDescriptor:
if let sfMonoDescriptor = NSFont.systemFont(ofSize: 0).fontDescriptor.withDesign(.monospaced) {
let sfMonoFont = NSFont(descriptor: sfMonoDescriptor, size: 0)!
}
有关更多信息,请查看 WWDC Session Font Management and Text Scaling.
在 Xcode 8.
中引入了一种名为 'SF Mono' 的新字体这是我个人觉得可读性很强的字体,我想在NSTextView
中使用它。但是,要为 NSTextView
设置字体,需要使用 NSFont
对象。问题是我似乎无法通过 NSFontManager.shared().availableFonts
.
SF Mono
字体
有谁知道 SF Mono
的 NSFont (NSFont(name: String, size: CGFloat)
) 字体初始化的编程名称是什么?
"SF Mono" 不是系统字体。你不能 select SF Mono 在终端、控制台和 Xcode 之外,因为它没有安装到系统中。
终端中的"SF Mono"是/Applications/Utilities/Terminal.app/Contents/Resources/Fonts/
中的custom font。
同样,控制台中的"SF Mono"是/Applications/Utilities/Console.app/Contents/Resources/Fonts
中的另一种自定义字体。
同样,Xcode中的"SF Mono"也是/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Resources/
中的自定义字体。
当然,在不违反 Apple 版权许可的情况下,您不能将 SF Mono 与您的程序捆绑在一起:
This SF Mono Font (the “Apple Font”) is licensed to you by Apple Inc. (“Apple”) in consideration of your agreement to the following terms. If you do not agree with these terms, do not use the Apple Font.
You may use the Apple Font solely in conjunction with Apple-branded applications, including, but not limited to, Xcode, Terminal.app and Console.app. You may not embed or use the Apple Font in or with any other software applications or programs or other products and you may not use the Apple Font to create, develop, display or otherwise distribute any content, documentation, artwork or any other work product.
You may use the Apple Font only for the purposes described in this License or as otherwise expressly permitted by Apple in writing.
如果用户手动安装了字体,可以通过字体名SF Mono
或者字体名SFMono-Regular
找到](其他权重类似)。
let f = NSFont(name: "SFMono-Regular", size: 12)
使用 iOS 13 和 macOS 10.15 Apple 制作了新的系统字体,包括 SF Mono 和 New York,可用对于开发人员。
您可以使用 NSFont.monospacedSystemFont(ofSize: 0, weight: .regular)
获得 SF Mono。
或者,如果你想使用其他系统字体,你可以使用 NSFontDescriptor:
if let sfMonoDescriptor = NSFont.systemFont(ofSize: 0).fontDescriptor.withDesign(.monospaced) {
let sfMonoFont = NSFont(descriptor: sfMonoDescriptor, size: 0)!
}
有关更多信息,请查看 WWDC Session Font Management and Text Scaling.