ゼロ幅接合子(Zero Width Joiner、略称 ZWJ)は、不可視の制御文字で、それ自体は表示幅を占めません。その中核的な機能は、2つ以上の独立した文字を1つの字形に結合することです。現代のテキストシステムにおいて、最も重要かつ広く使われる用途は絵文字 ZWJ シーケンスの構築で、複数の基本絵文字を結合して新しい複合絵文字を作り出します。
基本情報
| プロパティ | 値 |
|---|---|
| Unicode コードポイント | U+200D |
| 文字名 | ZERO WIDTH JOINER |
| HTML 実体参照 | ‍ または ‍ |
| JavaScript エスケープ | \u200D |
設計の意図
Unicodeの設計思想は、個々の変種に独立したコードポイントを割り当てるのではなく、組み合わせシーケンスを使用することで、コードポイント空間の爆発を防ぎ、拡張性を維持することにあります。ZWJはこの組み合わせモデルを実現するための鍵となる「接着剤」です。
絵文字への応用
ZWJを介して複数の独立した絵文字を結合することで、意味的にも視覚的にも1つの統合された新しい絵文字を生成できます。プラットフォームがそのシーケンスに対応していれば単一の図形としてレンダリングされ、対応していなければ個別の文字としてフォールバック表示されます。
| 複合絵文字 | 組み合わせシーケンス | 説明 |
|---|---|---|
| 🫱🫲 | 🫱 + ZWJ + 🫲 | 左手 + 右手 = 握手 |
| 👨💻 | 👨 + ZWJ + 💻 | 男性 + パソコン = 男性技術者 |
| 🏳️🌈 | 🏳️ + ZWJ + 🌈 | 白旗 + 虹 = 虹色旗 |
