Playing around with emoji over the weekend, I found out that the Unicode consortium did some pretty neat tricks here and there:
- Country flags are encoded in such a way that adding a new country doesn’t require them to update a standard. They defined 26 Regional Indicator Symbols, one for each letter of the English alphabet. Creating a flag is just a matter of looking up the 2-letter ISO3166 country code (e.g. BE), mapping each letter to the Regional Indicator Symbol (e.g. 🇧,🇪), and concatenating them (e.g. 🇧🇪).
- Skin tones have recently been added to the standard simply by providing 5 Fitzpatrick Emoji Modifiers (🏻 🏼 🏽 🏾 🏿), corresponding to different categories of the Fitzpatrick Scale. You take an emoji 👩, append a skin tone 🏽, and you get 👩🏽.
- Combined emoji such as 👪 are actually just combinations of simpler emoji such as 👨👩👦 with zero-width joiner characters between them. A slightly longer one: 👩+❤+💋+👨=👩❤️💋👨
Have a look at this bin to see the emoji combinations live.