Closed jmecn closed 3 months ago
在 UTF-8 格式的字符串中,emoji 的 Unicode 码位是 0x1F600~0x1F64F,通常存储为 UTF-16 格式。
例如:😊存储为 "\uD83D\uDE0A",对应的 Unicode 是 0x1F60A。
零宽连接符, ZWJ (Zero Width Joiner)
多个 emoji 可以通过零宽连接符(\u200D)组合成新的 emoji。
例如:“👨👩👧👦”实际上是“👨 👩 👧 👦” 通过 ZWJ 符号连接在一起组合而成的,对应的存储为 "\uD83D\DC68\200D\uD83D\DC69\200D\uD83D\DC67\200D\uD83D\DC66"
菲茨派屈克修饰符, (Fitzpatrick modifier)
目前全世界人类的 虚色分级 (Fitzpatrick scale) 是 1975 年由一位叫做 Thomas B. Fitzpatrick 的人制定出來的,他当初定义了 6 种虚色等級。(Type 1 ~ Type 6)。 因为 Type 1 与 Type 2 颜色太相近了,在电脑屏幕上不容易区分,索性就合并了。这5个字元分別是:
在“人类”emoji后添加下列肤色修饰符,就可以改变emoji的肤色。
例如:在原始emoji 🧑后分别添加5个修饰符,最后得到 🧑🏻🧑🏼🧑🏽🧑🏾🧑🏿。
通过移植 pango-emoji.c 的代码,目前已经可以识别。
在 UTF-8 格式的字符串中,emoji 的 Unicode 码位是 0x1F600~0x1F64F,通常存储为 UTF-16 格式。
例如:😊存储为 "\uD83D\uDE0A",对应的 Unicode 是 0x1F60A。
零宽连接符, ZWJ (Zero Width Joiner)
多个 emoji 可以通过零宽连接符(\u200D)组合成新的 emoji。
例如:“👨👩👧👦”实际上是“👨 👩 👧 👦” 通过 ZWJ 符号连接在一起组合而成的,对应的存储为 "\uD83D\DC68\200D\uD83D\DC69\200D\uD83D\DC67\200D\uD83D\DC66"
菲茨派屈克修饰符, (Fitzpatrick modifier)
目前全世界人类的 虚色分级 (Fitzpatrick scale) 是 1975 年由一位叫做 Thomas B. Fitzpatrick 的人制定出來的,他当初定义了 6 种虚色等級。(Type 1 ~ Type 6)。 因为 Type 1 与 Type 2 颜色太相近了,在电脑屏幕上不容易区分,索性就合并了。这5个字元分別是:
在“人类”emoji后添加下列肤色修饰符,就可以改变emoji的肤色。
例如:在原始emoji 🧑后分别添加5个修饰符,最后得到 🧑🏻🧑🏼🧑🏽🧑🏾🧑🏿。