/// Tests against the existence of a given unicode glyph on the present OS
///
/// - Returns: true if this unicode glyph exists (i.e, not a [?])
func unicodeAvailable() -> Bool {
let refUnicodeSize: CGFloat = 8
if let refUnicodePng = Character("\u{1fff}").png(ofSize: refUnicodeSize),
let myPng = self.png(ofSize: refUnicodeSize) {
return refUnicodePng != myPng
}
return false
}
用法
let code:Character = "\u{2764}" // ❤
print(code.unicodeAvailable())
4条答案
按热度按时间ncecgwcz1#
我一直在寻找每个OSX版本都支持的表情符号,以下是我的发现:
jk9hmnmh2#
诚然,苹果对Unicode的支持含糊其辞,但MacOSX和iOS名义上支持Unicode 4.0。
有一些注意事项需要注意:
由于Unicode所代表的字符数量巨大(在其所有版本中),您可能需要进行测试以确定特定的转换或操作是否可用于特定字符。但是,任何可由UTF-16码位或代理项对表示的字符都可以直接由
NSString
和CFString
表示(尽管它们的语义在旧版本的操作系统中可能不可用,并且它们可能在旧版本中呈现为无法识别的字符。)cgvd09ve3#
在当前iOS中是否实现了Unicode字符?
用法
真
需要一个方法来创建给定字符的 png 表示形式。
完整的描述是在StackOverflow上给出的,其中包含一个开源的GitHub project。
egdjgwm84#
我发现Unicode版本6(2010)中引入的字符可能与莫哈韦或之前的版本不兼容。我正在运行最新的Mojave,无法渲染U+2099:https://www.compart.com/en/unicode/U+2099