我已经检查了您评论中的三个字符(此类信息需要出现在您的问题中,而不是注释中),它们都是数学字母数字符号代码块中的非 BMP 字符。
"????" //MATHEMATICAL BOLD SMALL LAMDA U+1D6CC
"????" //MATHEMATICAL BOLD SMALL PHI U+1D6D7
"????" //MATHEMATICAL ITALIC SMALL DELTA U+1D6FF
iOS
据我测试,iOS 10 模拟器中安装的所有字体都没有这些字符的映射字形。
您可能需要:
or
- 将这些字符转换为
NSAttribtedString
使用常用的希腊字母
这是一个小代码片段,您可以在 iOS 的 Playground 中测试:
(λ、φ 和 δ 只是简单的希腊字母 U+03BB、U+03C6 和 U+03B4。)
import UIKit
var maStr = NSMutableAttributedString()
let boldFont = UIFont(name: "Times-Bold", size: 18.0)!
maStr.append(NSAttributedString(string: "λ φ", attributes: [NSFontAttributeName: boldFont]))
let italicFont = UIFont(name: "Times-Italic", size: 18.0)!
maStr.append(NSAttributedString(string: " δ", attributes: [NSFontAttributeName: italicFont]))
maStr
如果这不能满足您的要求,您需要更新您的问题并准确解释您的要求。
macOS (OS X)
在我的 OS X El Capitan (10.11.5) 中(抱歉还没有 Sierra),我找到了两种可以显示此类字符的字体(在同一字体系列中)。
STIXGeneral-粗体
STIX普通-常规
因此,在通常的可以选择替代字体的文本系统中,可以显示这样的数学符号。
例如,您可以在 macOS 的 Playground 中进行测试:
import Cocoa
var str = "Hello, playground"
let label = NSTextField(frame: CGRect(x:0, y:0, width: 320, height: 100))
label.stringValue = "???? ???? ????"
Xcode 8.2.1 的故事板编辑器实际上显示了这些角色。