我使用系统中可用的Arial字体来显示一些unicode字符,并且能够显示大部分字符,但以下符号除外,这些符号属于箭头类别:
⟼,⤎,⤏
相应的unicodes是:\ u {27FC},\ u {290E},\ u {290F}
我在UIButton上显示它们。知道什么字体支持iOS 8及以上版本的这些unicode字符?
它显示问号,因为Arial不支持这些字形,这是截图:
感谢任何帮助。谢谢你的时间。
答案 0 :(得分:3)
答案......没有,我很害怕。
至少不是根据这个非常糟糕的测试......
extension unichar {
func isSupportedBy(fontName: String) -> Bool {
let characters = [self]
var glyphs: [CGGlyph] = []
let ctFont = CTFontCreateWithName(fontName as CFString, 15, nil)
return CTFontGetGlyphsForCharacters(ctFont, characters, &glyphs, 1)
}
}
UIFont.familyNames.map({
UIFont.fontNames(forFamilyName: $0)
}).joined().forEach({
for string in ["A", "\u{27FC}", "\u{290E}", "\u{290F}"].map({$0.utf16}){
if let char = string.first {
if char.isSupportedBy(fontName: $0) {
print("\($0) supports \(string)")
} else {
print("\($0) does not support \(string)")
}
} else {
print("invalid char \(string)")
}
}
})
Copperplate-Light supports A
Copperplate-Light does not support ⟼
Copperplate-Light does not support ⤎
Copperplate-Light does not support ⤏
etc
编辑:
检查macOS中的字符输入窗口,似乎 STIXGeneral-Regular 和 Apple Symbols 字体中的这些特定字形 可用。也许您可以将其中一个作为自定义字体添加到您的iOS应用程序中?