ユニコード直接追加からZWJ合成主流へと流れが変わった絵文字~ZWJ合成形式最優先方針への道~
<R5-09-13更新>
令和5年7月17日の世界絵文字デーに合わせて、米国時間で同年7月13日にユニコード15.1に合わせたEmoji15.1の最終ドラフトの正式ラインナップが追加発表されました。
大手絵文字データベースサイト『エモジペディア』でデザイン基盤となるカラー絵文字のエモジペディア書体が正式発表され、同年9月に公開のユニコード15.1における追加絵文字は全てZWJ合成などによる複数のグリフ合成による絵文字となっています。
複数のグリフ合成が必須となる絵文字の一例
近年の絵文字はZWJ合成による絵文字追加が高確率になっていることから、本来通常のコードポイントに追加される予定だった絵文字―例えば、カラス《🐦⬛》は“U+1FABE”に追加される予定だった―がZWJ合成形式に変更されるなど絵文字追加ルールの歴史的大転換が出てきたことも大きいです。
ZWJ合成の絵文字の一例で、他の用例はエモジペディアのZWJ絵文字一覧を参照してください。
Emoji2.0追加組
初期のZWJ合成導入で、家族関連のZWJ合成絵文字が多数導入されました。
〈𝟷𝙵𝟺𝟺𝟷,𝙵𝙴𝟶𝙵,𝟸𝟶𝟶𝙳,𝟷𝙵𝟻𝙴𝟾,𝙵𝙴𝟶𝙵〉EYE IN SPEECH BUBBLE【👁️🗨️】[👁️🗨️]
Emoji12.0追加組
アクセシビリティ重視が強化されるようになった時期の絵文字です。
〈𝟷𝙵𝟺𝟷𝟻,𝟸𝟶𝟶𝙳,𝟷𝙵𝟿𝙱𝙰〉SERVICE DOG【🐕🦺】[🐕🦺] - 補助犬。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟿𝟷𝙳,𝟸𝟶𝟶𝙳,𝟷𝙵𝟿𝙳𝟷〉PEOPLE HOLDING HANDS【🧑🤝🧑】[🧑🤝🧑] - 手をつないでいる2人。
Emoji12.1追加組
大人《🧑》の絵文字を基盤とする性別を問わない職業系絵文字の基本字形が追加されました。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟸𝟼𝟿𝟻,𝙵𝙴𝟶𝙵〉HEALTH WORKER【🧑⚕️】[🧑⚕️] - 医療従業員。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟸𝟼𝟿𝟼,𝙵𝙴𝟶𝙵〉JUDGE【🧑⚖️】[🧑⚖️] - 裁判官。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟸𝟽𝟶𝟾,𝙵𝙴𝟶𝙵〉PILOT【🧑✈️】[🧑✈️] - パイロット。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟹𝟹𝙴〉FARMER【🧑🌾】[🧑🌾] - 農家。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟹𝟽𝟹〉COOK【🧑🍳】[🧑🍳] - コックさん。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟹𝟿𝟹〉STUDENT【🧑🎓】[🧑🎓] - 学生。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟹𝙰𝟺〉SINGER【🧑🎤】[🧑🎤] - 歌手。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟹𝙰𝟾〉ARTIST【🧑🎨】[🧑🎨] - 芸術家。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟹𝙴𝙱〉TEACHER【🧑🏫】[🧑🏫] - 教師。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟹𝙴𝙳〉FACTORY WORKER【🧑🏭】[🧑🏭] - 作業員。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟺𝙱𝙱〉TECHNOLOGIST【🧑💻】[🧑💻] - 技術者。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟺𝙱𝙲〉OFFICE WORKER【🧑💼】[🧑💼] - 会社員。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟻𝟸𝟽〉MECHANIC【🧑🔧】[🧑🔧] - 修理工。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟻𝟸𝙲〉SCIENTIST【🧑🔬】[🧑🔬] - 科学者。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟼𝟾𝟶〉ASTRONAUT【🧑🚀】[🧑🚀] - 宇宙飛行士。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟼𝟿𝟸〉FIREFIGHTER【🧑🚒】[🧑🚒] - 消防士。
Emoji13.0追加組
黒猫の絵文字は大型黒四角《⬛》とのZWJ合成で採用されたことから、色の変化でのZWJ絵文字追加方針が定着されるようになりました。
〈𝟷𝙵𝟺𝟶𝟾,𝟸𝟶𝟶𝙳,𝟸𝙱𝟷𝙱〉BLACK CAT【🐈⬛】[🐈⬛] - 黒猫。
〈𝟷𝙵𝟺𝟹𝙱,𝟸𝟶𝟶𝙳,𝟸𝟽𝟺𝟺,𝙵𝙴𝟶𝙵〉POLAR BEAR【🐻❄️】[🐻❄️] - 白熊。
〈𝟷𝙵𝟺𝟼𝟾,𝟸𝟶𝟶𝙳,𝟷𝙵𝟹𝟽𝙲〉MAN FEEDING BABY【👨🍼】[👨🍼] - 子育てしている男性。
〈𝟷𝙵𝟺𝟼𝟿,𝟸𝟶𝟶𝙳,𝟷𝙵𝟹𝟽𝙲〉WOMAN FEEDING BABY【👩🍼】[👩🍼] - 子育てしている女性。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟹𝟽𝙲〉PERSON FEEDING BABY【🧑🍼】[🧑🍼] - 子育てしている人。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟹𝟾𝟺〉MX CLAUS【🧑🎄】[🧑🎄] - ミクスクロース。
Emoji13.1追加組
エモーティコンと呼称される顔絵文字の追加基準における歴史的大転換が行われた時期に追加された絵文字で、これまでの《🥵》や《🥶》などZWJ合成形式の絵文字として追加申請されてきた絵文字がZWJ合成ではなく通常のコードポイント配置による絵文字としてユニコードに正式追加されたものと異なり、ZWJ合成で表す形式としての採用となったことがきっかけで絵文字追加方針が大きく変容されました。
〈𝟸𝟽𝟼𝟺,𝙵𝙴𝟶𝙵,𝟸𝟶𝟶𝙳,𝟷𝙵𝟻𝟸𝟻〉HEART ON FIRE【❤️🔥】[❤️🔥] - 熱えるハート。
〈𝟸𝟽𝟼𝟺,𝙵𝙴𝟶𝙵,𝟸𝟶𝟶𝙳,𝟷𝙵𝙰𝟽𝟿〉MENDING HEART【❤️🩹】[❤️🩹] - 心の傷を癒やすさま。
〈𝟷𝙵𝟼𝟸𝙴,𝟸𝟶𝟶𝙳,𝟷𝙵𝟺𝙰𝟾〉FACE EXHALING【😮💨】[😮💨] - ため息。
〈𝟷𝙵𝟼𝟹𝟻,𝟸𝟶𝟶𝙳,𝟷𝙵𝟺𝙰𝙱〉FACE WITH SPIRAL EYES【😵💫】[😵💫] - 目が回っている顔。
〈𝟷𝙵𝟼𝟹𝟼,𝟸𝟶𝟶𝙳,𝟷𝙵𝟹𝟸𝙱,𝙵𝙴𝟶𝙵〉FACE IN CLOUDS【😶🌫️】[😶🌫️] - 雲隠れ。
Emoji15.0追加組
前述したようにカラスの絵文字は当初、通常のコードポイント配置としてユニコードコンソーシアムに追加提案がなされたものですが、黒猫の絵文字の追加例を参考にZWJ合成としての採用となったのは、時代の流れによるものを感じさせます。
〈𝟷𝙵𝟺𝟸𝟼,𝟸𝟶𝟶𝙳,𝟸𝙱𝟷𝙱〉BLACK BIRD【🐦⬛】[🐦⬛] - 黒鳥
Emoji15.1追加組
フェニックスの絵文字は、鳥《🐦》と燃えるハート《❤️🔥》のZWJ合成、すなわち〈𝟷𝙵𝟺𝟸𝟼,𝟸𝟶𝟶𝙳,𝟸𝟽𝟼𝟺,𝙵𝙴𝟶𝙵,𝟸𝟶𝟶𝙳,𝟷𝙵𝟻𝟸𝟻〉[🐦❤️🔥]と定義する案がユニコードコンソーシアムに提案されましたが、当初の原案通りのZWJ合成となりました。
〈𝟷𝙵𝟹𝟺𝟺,𝟸𝟶𝟶𝙳,𝟷𝙵𝟽𝙴𝙱〉BROWN MUSHROOM【🍄🟫】[🍄🟫] - シイタケ。
〈𝟷𝙵𝟹𝟺𝙱,𝟸𝟶𝟶𝙳,𝟷𝙵𝟽𝙴𝟿〉LIME【🍋🟩】[🍋🟩] - レモンライム。
〈𝟷𝙵𝟺𝟸𝟼,𝟸𝟶𝟶𝙳,𝟷𝙵𝟻𝟸𝟻〉PHOENIX BIRD【🐦🔥】[🐦🔥] - フェニックス。
〈𝟷𝙵𝟻𝟷𝟽,𝟸𝟶𝟶𝙳,𝟷𝙵𝟺𝙰𝟻〉BROKEN CHAIN【🔗💥】[🔗💥] - リンク切れ。
〈𝟷𝙵𝟼𝟺𝟸,𝟸𝟶𝟶𝙳,𝟸𝟷𝟿𝟺,𝙵𝙴𝟶𝙵〉HEAD SHAKING HORIZONTALLY【🙂↔️】[🙂↔️] - 首を横に振る顔。
〈𝟷𝙵𝟼𝟺𝟸,𝟸𝟶𝟶𝙳,𝟸𝟷𝟿𝟻,𝙵𝙴𝟶𝙵〉HEAD SHAKING VERTICALLY【🙂↕️】[🙂↕️] - 首を縦に振る顔。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟿𝙳𝟸〉FAMILY: Adult, Adult, Child【🧑🧑🧒】[🧑🧑🧒] - 両親と子。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟿𝙳𝟸,𝟸𝟶𝟶𝙳,𝟷𝙵𝟿𝙳𝟸〉FAMILY: Adult, Adult, Child, Child【🧑🧑🧒🧒】[🧑🧑🧒🧒] - 両親と2人の子。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟿𝙳𝟸〉FAMILY: Adult, Child【🧑🧒】[🧑🧒] - 親子。
〈𝟷𝙵𝟿𝙳𝟷,𝟸𝟶𝟶𝙳,𝟷𝙵𝟿𝙳𝟸,𝟸𝟶𝟶𝙳,𝟷𝙵𝟿𝙳𝟸〉FAMILY: Adult, Child【🧑🧒🧒】[🧑🧒🧒] - 親と2人の子。
Emoji15.1では、矢印系絵文字とのZWJ合成で人間などの方向を変える絵文字も多数導入され、近年の絵文字での拳《🤛・🤜》や手のひら《🫱・🫲》, 押す手《🫷・🫸》など通常のコードポイントに配置することによるアクセシビリティ対応がなされてきたのですが、今後の向きが異なる絵文字の追加は矢印とのZWJ合成のみ受け付ける方針となったことで、歴史的転換のひとつとなりました。
なお、絵文字の方向を指示する矢印はU+FE0F 異体字セレクタ-16 [🆚16]を矢印の隣に配置しないとZWJ合成が無効になるので、注意が必要です。
ZWJ絵文字の利点
U+200D ゼロ幅接合子[ZWJ]が絵文字合成のために導入されたことから、ユニコードが世界中に大きな広がりを見せたきっかけとなりました。
ZWJ絵文字の大きな利点としては…
複数の絵文字合成を施すことで、ユニコードのコードポイントの残り箇所を節約可能。
ユニコード絵文字新バージョン正式公開前にフォントのグリフが素早く導入できる。
マイクロソフトのウィンドウズOSシリーズにおける『ニンジャキャット』シリーズなど独自の合成絵文字が生成できる。
―があります。
➁のケースは、ユニコード13.1の《😮💨》が絵文字合成未対応の場合、意味が大きく変わるデメリットがあることから通常のコードポイント配置修正依頼がユニコードコンソーシアムに提案されてから数日後にNoto Color Emojiフォントの早急な更新が行われたことから、β版通りのZWJ合成追加の決め手となりました。
➂のケースは特定OS及び特定フォントの特典的な要素となっていて、絵文字合成の幅が広がりますが、他のフォントでは互換性の無い場合は未対応なので注意が必要です。
ZWJ合成絵文字のデメリット
ZWJ合成絵文字におけるデメリットは…
合成される絵文字によっては絵文字合成に対応されていないフォントやアプリによって180度大きく意味が変わる虞がある。
一度ZWJ合成として採用された絵文字・記号は99%の確率でユニコードのコードチャートに正規採用されなくなってしまうことから、アクセシビリティから遠ざかってしまう。
人間系の絵文字は性別によって通常の絵文字とZWJ合成絵文字との差別化の影響で、性別の“多様性”が遠ざかってしまう表記となってしまう (例: 手を繋いだ2人《👫―👬―👭―*🧑🤝🧑》)。
一部の絵文字ではゼロ幅接合子の他に、U+FE0F 異体字セレクタVS-16[🆚16]も合成する必要があることから、絵文字対応文字パレットが無い場合に正しい組み合わせを把握することが必要となる。
―があります。
➀のケースでは、前述の《😮💨》は本来正しい意味として想定されている“溜め息”が、合成絵文字が未対応になると“大きな息”に大幅に意味が変わってしまうことと、日本国内における漢和字典や児童書に漢字の字源を説明するために採用されているなりたち絵文字で、息の大きさによる意味の説明が困難になることが➀と➁双方のケースで起こってしまう可能性があります。また、フェニックス《🐦🔥》のケースの場合、ブラウザやアプリにおける絵文字合成が未対応の場合、“小鳥を火あぶりにする”という風に180度意味が変わってしまい、動物虐待の意味合いを含んでしまうことから、実際はユニコードの通常のコードポイントに配置することが正解だったケースになるものもあります。
➂のケースは性別を問わない人間=親《🧑》と性別を問わない子ども《🧒》のZWJ合成による家族形式のシルエット絵文字を表す方式がEmoji15.1最終ドラフトで採用されたことから、普通の性別を問わない人間と子どもがシルエットではない通常の合成絵文字あるいは男性《👨/👦》または女性《👩/👧》の絵文字と組み合わせた家族構成の絵文字ができなくなる虞があることから、複雑な影響が出てきそうです。
おわりに
ユニコード絵文字の新規追加における通常の追加からZWJ合成への大幅移行の動きのきっかけは、ワイン《🍷》の絵文字と大型白四角《⬜》とのZWJ合成による“白ワイン”の絵文字追加要望がきっかけとなり、白ワインのZWJ対応は採用されなかったものの、その後のユニコード絵文字の追加方針に大きな影響を与えました。
ZWJ合成絵文字はユニコード絵文字新バージョンの正式リリース以前にフォントに導入すれば即対応できる利点も大きく、Emoji13.1正式公開前に更新されたNoto Color EmojiフォントのEmoji13.1に含まれるZWJ合成絵文字正式採用は歴史的転換となりました。
新規絵文字追加の際にZWJ合成優先となった歴史的転換は、日本の漢字における、20世紀後半の朝日文字やJIS略字など略字・俗字に寛容だった時期から平成12年の印刷標準字体制定及びJIS文字コードの改革による人名用漢字・常用漢字新規追加の際の正字尊重への動きとなった歴史的転換に似ているようです。
ユニコード絵文字の通常絵文字は、来年のユニコード16.0にレガシーコンピュータ記号拡張の追加が予定されているのですが、カラー絵文字対応が未定となっているので、既存の絵文字のカラー絵文字正式対応が減ってきている昨今で、カラー化が実現できるかどうかが気になる状況です。
近年は新規ユニコード絵文字追加の場合、ZWJ合成絵文字最優先となった現状ですが、今後のユニコード絵文字の動きがますます気になっております。