generated at
絵文字
emoji
仕様はあるが完全実装は誰も成功していない模様。サブセットとしての実装があるのが現状。
日本では携帯電話のメールやショートメールで使えるようにキャリアごとに独自に外字として絵文字を作成。
互換性がないためキャリア間で文字化けが発生していた。
音符がウンコに文字化けしていた。
Google が Unicode コンソーシアムに申請して Unicode 経由で統一した変換ができるようになった。Unicode 6.0 から。Emoji 1.0。

合成できるようにしたために混沌としてきている。
表示システムが対応していなければ表示は変わらない。

国旗
U+1F1E6(A)~U+1F1FF(Z) の2文字で2文字国名コードと見なしてその国旗を示す。
flag_sample
U+1F1EF(J) U+1F1F5(P)🇯🇵
U+1F3F4(Waving Black Flag)の後に、U+E0020~U+E0007E によるタグ文字列(ASCIIと同じ配列)で地域別の旗を表す。ISO 3166-2 を使う。ハイフンは含まない。終端は常に U+E0007F (CANCEL TAG)
シーケンスは用意するが表示手段は実装依存、という話なので、実際のところ、まず使えないのでは?
Twitter では Wales の旗が表示されるのを確認した。
Wales の旗のシーケンス
U+1F3F4 WAVING BLACK FLAG
U+E0067 TAG LATIN SMALL LETTER G
U+E0062 TAG LATIN SMALL LETTER B
U+E0077 TAG LATIN SMALL LETTER W
U+E006C TAG LATIN SMALL LETTER L
U+E0073 TAG LATIN SMALL LETTER S
U+E007F CANCEL TAG
🏴󠁧󠁢󠁷󠁬󠁳󠁿󠁳󠁿

ZWJ(ZERO WIDTH JOINER)(U+200D)で結合して合成することになっている。
過去の仕様とのブレがあり、ZWJがはさまらない可能性がある?
合成の順序
ベースとなる文字
絵文字のモディファイア(実質、肌色)か、絵文字の表現セレクタ(?
髪型
性別
方向

肌色(仕様書上、Diversity と呼ばれているのでやや意味不明)
Unicode 8.0 から
人の肌に対するモディファイアとして機能する。それ以外では単に後ろに色の四角が表示されるのみで合成されない。
EMOJI MODIFIER FITZPATRICK TYPE-1-2~6
Fitzpatrick スケールを参考にしているが、1と2はなぜか統合されている。
U+1F3FB(1-2)~U+1F3FF(6)
fitspatrick
🏻U+1F3FBEmoji Modifier Fitzpatrick Type-1-2light skin tone
🏼U+1F3FCEmoji Modifier Fitzpatrick Type-3medium-light skin tone
🏽U+1F3FDEmoji Modifier Fitzpatrick Type-4medium skin tone
🏾U+1F3FEEmoji Modifier Fitzpatrick Type-5medium-dark skin tone
🏿U+1F3FFEmoji Modifier Fitzpatrick Type-6dark skin tone
これについてはZWJはなくてもよいはず。
髪型
Unicode 8.0 から
ZWJ(U+200D)の後に髪型を付けると合成される。
hair
🦰U+1F9B0Emoji Component Red Hair
🦱U+1F9B1Emoji Component Curly Hair
🦲U+1F9B2Emoji Component Bald
🦳U+1F9B3Emoji Component White Hair
Emoji Component Red Hair

color
U+2B1BBlack Large Square
U+2B1CWhite Large Square
🟥U+1F7E5Large Red Square
🟦U+1F7E6Large Blue Square
🟧U+1F7E7Large Orange Square
🟨U+1F7E8Large Yellow Square
🟩U+1F7E9Large Green Square
🟪U+1F7EALarge Purple Square
🟫U+1F7EBLarge Brown Square
なぜか灰色がないのでカラーコードには使えない。
なぜか形容詞の順序が違う。
🐈⬛

性別または属性
例示として以下が挙げられている
Sign format
走者(U+1F3C3)に男性サイン(♂ U+2642)、女性サイン(♀ U+2640)を合成して、男性走者、女性走者を表す
runner
U+1F3C3🏃Runner
U+1F3C3 U+200D U+2640🏃‍♀Female Runner
Object format
男性、女性に、ロケットの合成で宇宙飛行士を示す(無茶振り)
事例が用意されているのでその範囲で実装されている模様。
rocket
U+1F469👩
U+1F469 U+200D U+1F680👩‍🚀
うんち×カップケーキ=? Androidユーザーだけが使えるGoogle手作りスタンプの妙 https://www.itmedia.co.jp/news/articles/2110/03/news018.html
同じ解釈になることが前提で、当然違う解釈だと違う絵文字になってしまう。
向き
runner
U+1F3C3🏃Runner
U+1F3C3 U+200D U+2640 U+FE0F🏃‍➡️Runner running to right
仕様は存在するが、誰も実装できていない模様。

プレゼンテーションスタイル
絵文字の終端に付ける
異体字セレクタ U+FE0E(VS15) を付けると文字的表現(色無し、文字)
異体字セレクタ U+FE0F(VS16) を付けると絵文字的表現(色付き、画像)
presentation
U+260Eデフォルト(どちらなのかはシステム依存)
U+260E U+FE0E(VS15)☎︎文字表現
U+260E U+FE0F(VS16)☎️絵文字表現