Unicode 标准中正确的表情符号列表是什么?



我正在尝试查找Unicode标准定义的表情符号代码点的官方列表,并且遇到了一些相互冲突的来源:根据表情符号数据.txt偶数数字是表情符号;unicode.org 的其他来源仅建议该列表的一个子集是表情符号,例如表情符号图表和表情符号测试文件。Unicode 技术报告 #51 中甚至有一个名为"哪些字符是表情符号"的部分,但它并没有真正回答我的问题,或者至少我在那里看不到它。

那么,哪些 Unicode 代码点是表情符号?

并非所有表情符号都是从单个 Unicode 代码点创建的。有些字符只有在组合成"表情符号序列"时才会出现表情符号。这使得仅通过代码点很难计算表情符号字符。这就是UTR #51中的第3节试图传达的内容,但可以通过一些示例进行改进:

  • U+0031是 1,但与U+FE0F U+20E3: ⃣ 结合使用时会出现表情符号外观(或带有U+FE0E U+20E3: 1️1︎⃣ 的普通外观)。
  • U+1F170是 ,但与U+FE0F: ️ 结合使用时会出现表情符号外观。
  • U+2620是︎ ☠,但与U+FE0F结合使用时会出现表情符号:☠️。
  • (通常,U+FE0F变体序列用于将许多现有字符转换为相应的表情符号序列,而无需将它们编码为单独的代码点。
  • 区域指示器符号仅在形成国家/地区代码时显示为表情符号:U+1F1E6 U+1F1F6,但不显示为U+1F1E6 U+1F1F5

emoji-data.txt文件列出了具有Emoji=Yes字符属性的所有字符。这些都是基本字符(例如 1、、︎ ☠、、),至少可以开始一个表情符号序列,即使它们本身不是一个完整的序列。emoji-test.txt文件列出了所有完整的表情符号序列。

最新更新