Unicode标准中的颜色?

时间:2012-03-08 22:32:08

标签: unicode

Unicode 6.0添加了几个字符,其中的描述表明这些字符应该以特定颜色呈现:

  • RED APPLE U + 1F34E
  • GREEN APPLE U + 1F34F

  • BLUE HEART U + 1F499

  • GREEN HEART U + 1F49A
  • YELLOW HEART U + 1F49B
  • PURLE HEART U + 1F49C

  • GREEN BOOK U + 1F4D7

  • BLUE BOOK U + 1F4D8
  • ORANGE BOOK U + 1F4D9

  • 大红圈U + 1F534

  • 大蓝圈U + 1F535

  • 大型橙色钻石U + 1F536

  • 大蓝钻+ 1F537
  • 小橙色钻石U + 1F538
  • 小蓝钻+ 1F539

  • UP-POINTING RED TRIANGLE U + 1F53A

  • DOWN-POINTING RED TRIANGLE U + 1F53B
  • UP-POINTING小红三角U + 1F53C
  • 向下的小红三角U + 1F53D

我原以为字体符号总是灰度。

unicode作者是否预见到这些可能会以不同的颜色呈现? 在官方unicode.org PDF(http://www.unicode.org/charts/PDF/U1F300.pdf)中,这些仅被描述为具有不同类型的交叉影线。

是否有任何当前机制允许特定字符以特定颜色呈现,仅基于其代码点,而不是任何其他富文本格式? (例如,TrueType或OpenType字体文件中的颜色属性)

4 个答案:

答案 0 :(得分:29)

来自Unicode FAQ: Emoji and Dingbats,加粗地雷:

  

问:名称指定颜色的字符怎么办?

     

答:核心表情符号集中的某些字符的名称包含颜色词,例如BLUE HEART或ORANGE BOOK。 名称中的这些颜色词并不意味着必须如何呈现角色;它们仅用于帮助识别核心表情符号集中的相应字符。甚至像BLACK MEDIUM SQUARE或WHITE MEDIUM SQUARE这样的符号名称也不表示相应的字符必须分别以黑色或白色呈现;相反,黑色和白色的使用通常只是对比填充形状与轮廓形状,或者是较暗的颜色填充与较浅的颜色填充。 [PE]

当时mailing lists对于这些应该用颜色命名,还是没有引用颜色的通用名称,以及这是否是一个不好的先例,有很多争论。 Emoji Symbols: Background Data包括“旧名称”,例如APPLE-1而不是RED APPLE和BOOK-3,而不是ORANGE BOOK。

最终名称使用这一原则:

  

具有固有颜色的符号应该具有这种颜色       名称,除非名称所表示的实体标识了颜色       无论如何(例如,BANANA是唯一的黄色,因此       不需要被称为YELLOW BANANA,而RED APPLE必须是       如此命名,也有绿苹果)。

答案 1 :(得分:5)

Unicode 6.1具有通过指定变体选择器(U + FE0x)来更改同一个unicode代码点的字形的功能。

例如,左指三角形(@“\ U000025C0”)可以通过添加“\ U0000FE0F”(默认情况下在Mac OS X 10.8上)并通过添加“\ U0000FE0E”作为后缀而不着色来着色。 (@ “\ U000025C0 \ U0000FE0E”)。

答案 2 :(得分:4)

我不知道彩色字体有任何标准机制,但显然有彩色字体。例如,iOS和OS X中的表情符号字体.OS X上任何文本视图中的表情符号字符将生成彩色符号,并且它们不会受到选择文本颜色的影响。这些表情符号甚至出现在Terminal.app。

enter image description here

(来自this页。)

答案 3 :(得分:4)

来自OpenType规范中的The OpenType Font File

  

与颜色字体相关的表

     
      
  • COLR:颜色表
  •   
  • CPAL:调色板表
  •   
  • CBDT:彩色位图数据
  •   
  • CBLC:彩色位图位置数据
  •   
  • sbix:标准位图图形
  •   
  • SVG:SVG(可缩放矢量图形)表
  •   

简而言之,

  • CBDT + CBLC包含彩色位图(PNG中)。它们由Google提出。

  • sbix包含彩色位图(JPG,PNG或TIFF)。它由Apple提出。

  • COLR为每个字形定义一个或多个伴随的颜色字形(矢量格式),当它们重叠时,它们会创建最终的彩色字形。 CPAL定义了几种颜色主题(深灰色,白底黑暗......),因为COLR仅仅是调色板图像。 COLR + CPAL由Microsoft提出。

  • SVG由Mozilla和Adobe提出。它可以与CPAL一起使用。

FreeType(由Android,macOS和iOS使用)支持自2.5和2.5.1版以来的CBDT / CBLC和sbix。 DirectWrite(由Windows使用)支持上述所有四种。

另见https://en.wikipedia.org/wiki/OpenType#Color