Emoji

Urutan ZWJ emoji

Emoji yang dibentuk dengan menggabungkan beberapa emoji menggunakan Zero Width Joiner (U+200D). 👨‍👩‍👧‍👦 = Pria + ZWJ + Wanita + ZWJ + Gadis + ZWJ + Anak. Sekitar 600 urutan ZWJ didefinisikan.

· Updated

What is an Emoji ZWJ Sequence?

An emoji ZWJ sequence is a combination of two or more emoji joined together with U+200D ZERO WIDTH JOINER (ZWJ) characters to create a single, new composite emoji. When a platform supports the specific sequence, it renders the entire sequence as one image. When a platform does not support the sequence, it falls back gracefully by rendering each component emoji individually with no space between them.

ZWJ sequences are the primary mechanism through which the Unicode Standard expands the emoji repertoire without assigning new code points to every possible combination. Instead of encoding a separate code point for "man cook," "woman cook," "boy cook," and "girl cook," Unicode encodes one PERSON, one COOK emoji, and a set of ZWJ combination rules.

Anatomy of a ZWJ Sequence

Every ZWJ sequence follows the pattern:

[emoji] + U+200D + [emoji] (+ U+200D + [emoji] ...)

The ZWJ is always invisible — it contributes no width and no visual representation of its own. Its sole function is to signal "join the preceding and following emoji into a combined form."

Family emoji example (👨‍👩‍👧‍👦):

U+1F468 MAN
U+200D  ZWJ
U+1F469 WOMAN
U+200D  ZWJ
U+1F467 GIRL
U+200D  ZWJ
U+1F466 BOY

Seven code points, one visible character.

Profession emoji example (👩‍🚀):

U+1F469 WOMAN
U+200D  ZWJ
U+1F680 ROCKET

Rainbow flag example (🏳️‍🌈):

U+1F3F3 WHITE FLAG
U+FE0F  VARIATION SELECTOR-16 (emoji presentation)
U+200D  ZWJ
U+1F308 RAINBOW

Categories of ZWJ Sequences

The Unicode Emoji ZWJ Sequences list organizes sequences into several categories:

  • Family sequences — Combinations of MAN, WOMAN, BOY, GIRL with optional skin tone modifiers, representing family compositions (👨‍👩‍👦, 👩‍👧‍👦, 👨‍👦, etc.)
  • Gendered role sequences — PERSON or MAN/WOMAN + an object or symbol representing a profession or activity (👩‍🍳, 👨‍🎤, 🧑‍💻)
  • Multi-skin-tone sequences — Two-person interactions where each person has an independent skin tone modifier (🤝🏻‍🏿)
  • Flag sequences — Special flags using WHITE FLAG or BLACK FLAG + symbol (🏳️‍🌈 Rainbow Flag, 🏴‍☠️ Pirate Flag)
  • Other — Combinations that do not fit the above categories (👁️‍🗨️ Eye in Speech Bubble)

Platform Support and the RGI List

Not all possible ZWJ combinations are official Unicode emoji. The Unicode Standard publishes a Recommended for General Interchange (RGI) list of approved ZWJ sequences. Only sequences on the RGI list are expected to have cross-platform support.

An experimental ZWJ sequence — one not on the RGI list — may render correctly on one platform (which has implemented it as a custom extension) but render as separate emoji on all other platforms.

String Processing Implications

ZWJ sequences form extended grapheme clusters — the user-perceived unit of text for cursor movement and deletion. A text editor should treat 👨‍👩‍👧‍👦 (7 code points) as a single character for backspace and cursor movement purposes. Many programming languages' built-in string length functions return the code point count, not the grapheme cluster count.

Quick Facts

Property Value
Joining character U+200D ZERO WIDTH JOINER
Longest approved sequence 7 code points (family with 4 members)
Approved sequences (Unicode 15.1) 1,000+ on RGI list
Fallback behavior Each emoji displays separately, no space
Grapheme cluster Entire sequence = 1 grapheme cluster
Categories Family, profession, gendered, flag, multi-skin-tone
Notable example 👨‍👩‍👧‍👦 = 7 code points rendered as 1 emoji

Istilah Terkait

Lainnya di Emoji