Emoji 是什么?由来、Unicode 标准,以及它在各家手机为什么长得不一样
Unicode 决定编号和名字,图是 Apple、Google、微软、三星各自画的。这一个分工,解释了你遇过的几乎所有 emoji 怪事。
发表于
关于 emoji,最有用的一件事是:它不是图片,是文字。😀 在标准里有编号、有名字,跟 A、あ 在同一套系统里;你看到的那张彩色小图,是你设备上的字体画的。从肤色跑掉到出现空白方框,几乎所有 emoji 怪事都来自这个分工。
这个字是日文,跟英文的 emotion 没有关系
emoji 写成汉字是「絵文字」:絵是图画,文字就是字。它跟英文 emotion、emoticon 长得像,那是巧合,两边没有字源关系。
三个常被混用的词,其实是三种不同的东西。emoticon 是把英文标点侧着看的脸,像 :-) 和 :D。颜文字是日系的直立脸,像 ( ´▽`),不用歪头就看得懂。emoji 则是 Unicode 标准定义的彩色图形字符,像 😀。前两种是用你本来就有的字排出来的,第三种本身就是一个字。
从 1999 年的日本手机开始
一般把起点记在 1999 年:NTT DoCoMo 的 i-mode 上线时,做了一组 176 个、画在 12×12 点阵上的小图,让用户在容不下几个字的消息里也能放进语气。设计者是栗田穣崇,纽约现代艺术博物馆在 2016 年把这组原始图收进馆藏。
那组不是第一组。1997 年,J-Phone(后来的 SoftBank)的 SkyWalker DP-211SW 就内置过大约 90 个黑白图案,只是那支手机卖得不好,所以被记住的是 i-mode。
接下来十年,日本几家电信各做各的,彼此不兼容:同一个笑脸从一家传到另一家,可能变成别的图,也可能什么都没有。要让 emoji 走出日本,得先让全世界同意「这个位置放的是哪一个东西」。
Unicode 只决定编号和名字,从不决定长相
2010 年 10 月的 Unicode 6.0 把 722 个 emoji 收进标准,起因是 Google 与 Apple 提案统一日本几家电信的字集。从那时起,emoji 就是有码位的文字:😀 是 U+1F600,名字叫 GRINNING FACE。
标准也就写到这里。它订编号与名称,不订画出来长什么样。每个平台自己做字体:Apple Color Emoji、Google 的 Noto Color Emoji、微软的 Segoe UI Emoji、三星 One UI 那一套,还有很多网站在用的开源 Twemoji。同一则消息,字是同一个,画是不同张。
那些著名的意外就是这样来的。Apple 在 2016 年的 iOS 10 把手枪 🔫 改成绿色水枪,其他平台接下来两年陆续跟进,于是有一段时间同一个码位在这支手机上是玩具、在那支手机上是真枪。Google 的汉堡 🍔 曾经把起司放在肉排下面,2017 年被网络指出后才改掉。字没有变,图变了。
很多 emoji 不只一个字符
这是最容易踩到的一点。看起来是一个 emoji,底下常常是好几个码位串起来的序列:
- 肤色:基本 emoji 后面接五个肤色修饰字之一(U+1F3FB 到 U+1F3FF),2015 年的 Unicode 8.0 加入。
- 国旗:两个区域指示符号拼出 ISO 国码。🇹🇼 是 U+1F1F9 U+1F1FC,也就是字母 T 和 W。
- ZWJ 组合:用零宽度连接符 U+200D 把几个 emoji 黏成一个。👩💻 是 👩 加 ZWJ 加 💻。
- 变体选择符:U+FE0F 会把原本是黑白文字样式的字符切换成 emoji 样式。❤️ 其实是 ❤(U+2764)加上 U+FE0F。
实务上有两个后果。第一,emoji 吃掉的字数比看起来多:在 JavaScript 里 '👍'.length 是 2,'👨👩👧'.length 是 8,短信与很多表单验证也是这样算的。第二,收件端的字体如果不认得整串序列,就会退回显示各个部分:一家人会变成三个人并排 👨👩👧。那是设计好的后备行为,不是坏掉。
红心(含 U+FE0F)
两个码位:U+2764 加上变体选择符 U+FE0F,后者要求显示成彩色 emoji 样式。
一家人:男人、女人、女孩
五个码位:三个人,中间用两个零宽度连接符(U+200D)黏起来。不认得这串序列的设备,会直接并排显示三个人。
台湾国旗
两个区域指示符号 U+1F1F9 与 U+1F1FC,也就是字母 T 和 W。用两个字母代码表示的国家与地区旗都是这样拼出来的;英格兰、苏格兰、威尔士旗则改用标签序列(tag sequence)。
赞,中等肤色
基本 emoji 后面接一个肤色修饰字(U+1F3FD)。五个肤色修饰字是 2015 年的 Unicode 8.0 加入的。
为什么会看到空白方框或问号
空白长方形(常被叫做豆腐格)或方框里一个问号,意思是:系统知道这里有一个字,但手上的字体没有它的图。十次有九次是版本问题,那个 emoji 比你设备上的字体新。
Unicode 大约一年加一次 emoji,新的一批要等操作系统更新才会到你手上,而旧手机常常等不到。这也是本站的 Emoji 大全只列到 Emoji 15.1 的原因:再新的字在不少 Android 与 Windows 机器上还是一格空白,给人复制一个看不见的东西没有意义。
谁决定要不要有新的 emoji
Unicode 联盟底下的 emoji 小组委员会审提案,任何人都可以写,表格与评估标准都公开。他们看的是使用需求的证据、既有 emoji 是不是已经表达得出来、会不会太特定;品牌、特定人物(不论在世、已故或虚构)与神明依规定不收。通过的字排进下一版,再由各家平台画图,随系统更新出货。
名称与搜索关键字则是另一份数据。Unicode 的 CLDR 项目按语言维护它们,本站 Emoji 大全的中英文名称就是从那里来的。
可以直接拿 emoji 来用吗
分两层。码位与名称是标准,谁都能打:在标题、商品名称、按钮上放一个 😀,没有授权问题。各家画的那张图则不是:Apple 的 emoji 字体是 Apple 的,不能把图抽出来放进自己的 App 或素材包。需要图档就找开放授权的,例如 Twemoji(CC BY 4.0)或 Noto Color Emoji(SIL 开放字体授权)。
接下来
如果你本来就是要找 emoji 复制,不是来看它的身世,下面这份清单可以用中英文名称或关键字搜索,点一下就复制。