【发布时间】:2014-08-22 18:13:08
【问题描述】:
如果您在 NSString 中包含 Unicode 字符,其中很多字符将采用该文本的颜色设置 - 它们只是该字体的常规字形,因此它们会像任何其他字符一样显示。但是有一些 Unicode 字符是彩色的,例如GLOBE WITH MERIDIANS,它是带有阴影的蓝色渐变。但是我在其他地方看到过同样的字形,它是一个没有阴影的简单黑色轮廓,例如在 iOS 键盘中。我想使用那个字形,但没有装饰,也不必创建和使用图像。我想知道不同的字体是否会以不同的格式呈现它,虽然iOSFonts.com 确实显示了不同的样式(粗体、斜体),但它们都是蓝色的。是否有可能获得简单的普通版本?
这当然是可能的,因为这似乎正是 Apple 通过 Tip 实现的。请注意,地球的颜色与文本完全相同,并且与所有其他字符一起包含在字符串中。这肯定不是UIImage?
不同字体的字符:
编辑:链接问题中提供的解决方案不适用于此字符,因为变体字符似乎与原始字符完全相同 - 蓝色带阴影。
【问题讨论】:
-
我并不完全相信这个字符在“不同的字体”中看起来是一样的。最有可能的是,它使用后备字体绘制(对于第二个和第四个示例,可能是人工加粗的)。确保尝试使用实际包含此字符的字体。
标签: ios objective-c unicode nsstring nsattributedstring