如何获得简单的'globe'Unicode字符

Jor*_*n H 8 unicode objective-c nsstring nsattributedstring ios

如果你在一个中包含Unicode字符NSString,它们中的很多将采用该文本的颜色集 - 它们只是该字体的常规字形,因此它们像任何其他字符一样显示.但是有一些着色的Unicode字符,例如GLOBE WITH MERIDIANS,它是带阴影的蓝色渐变.但我在其他地方看到了这个相同的字形,这是一个没有阴影的简单黑色轮廓,例如在iOS键盘中.我想使用那个字形,但没有装饰,也不必创建和使用图像.我想知道不同的字体是否会以不同的格式呈现它,而iOSFonts.com确实显示不同的样式(粗体,斜体),它们都是蓝色的.是否可以获得简单的普通版本?

当然有可能,因为这似乎正是Apple用Tip实现的.请注意,globe与文本颜色完全相同,并且它与所有其他字符一起包含在字符串中.当然那不是一个UIImage

截图

不同字体的字符:
在此输入图像描述

编辑:链接问题中提供的解决方案不适用于此字符,因为变体字符看起来与原始字符完全相同 - 带阴影的蓝色.

Car*_*nde 3

不幸的是,iOS 没有可供使用的单色地球符号;唯一包含的内置字体U+1F310 GLOBE WITH MERIDIANS是 Apple Color Emoji。

如果您确实想要一种将该字符呈现为简单的黑色轮廓的字体,您可以将 Symbola 的副本(可在此处下载)打包到您的应用程序中。

或者,您可以使用NSTextAttachment所需的图标制作位图图像,并将其放入属性字符串中。Apple 可能会按照这些思路做一些事情,因为他们的许多提示都包含绝对不是 Unicode 字符的符号:

“使用 iMessage 应用程序更智能地发短信:无需留下消息即可访问一些有趣的内容。点击 [App Store 图标],然后滑动以选择一个应用程序。从 App Store 获取 iMessage 应用程序。