from typing import Any, Dict EMOJI_NAME_MAPS = { # seems like best emoji for happy '1f600': {'canonical_name': 'grinning', 'aliases': ['happy']}, '1f603': {'canonical_name': 'smiley', 'aliases': []}, # the google emoji for this is not great, so made People/9 'smile' and # renamed this one '1f604': {'canonical_name': 'big_smile', 'aliases': []}, # from gemoji/unicode '1f601': {'canonical_name': 'grinning_face_with_smiling_eyes', 'aliases': []}, # satisfied doesn't seem like a good description of these images '1f606': {'canonical_name': 'laughing', 'aliases': ['lol']}, '1f605': {'canonical_name': 'sweat_smile', 'aliases': []}, # laughter_tears from https://beebom.com/emoji-meanings/ '1f602': {'canonical_name': 'joy', 'aliases': ['tears', 'laughter_tears']}, '1f923': {'canonical_name': 'rolling_on_the_floor_laughing', 'aliases': ['rofl']}, # not sure how the glyphs match relaxed, but both iamcal and gemoji have it '263a': {'canonical_name': 'smile', 'aliases': ['relaxed']}, '1f60a': {'canonical_name': 'blush', 'aliases': []}, # halo comes from gemoji/unicode '1f607': {'canonical_name': 'innocent', 'aliases': ['halo']}, '1f642': {'canonical_name': 'slight_smile', 'aliases': []}, '1f643': {'canonical_name': 'upside_down', 'aliases': ['oops']}, '1f609': {'canonical_name': 'wink', 'aliases': []}, '1f60c': {'canonical_name': 'relieved', 'aliases': []}, # in_love from https://beebom.com/emoji-meanings/ '1f60d': {'canonical_name': 'heart_eyes', 'aliases': ['in_love']}, # blow_a_kiss from https://beebom.com/emoji-meanings/ '1f618': {'canonical_name': 'heart_kiss', 'aliases': ['blow_a_kiss']}, '1f617': {'canonical_name': 'kiss', 'aliases': []}, '1f619': {'canonical_name': 'kiss_smiling_eyes', 'aliases': []}, '1f61a': {'canonical_name': 'kiss_with_blush', 'aliases': []}, '1f60b': {'canonical_name': 'yum', 'aliases': []}, # crazy from https://beebom.com/emoji-meanings/, seems like best emoji for # joking '1f61c': {'canonical_name': 'stuck_out_tongue_wink', 'aliases': ['joking', 'crazy']}, '1f61d': {'canonical_name': 'stuck_out_tongue', 'aliases': []}, # don't really need two stuck_out_tongues (see People/23), so chose # something else that could fit '1f61b': {'canonical_name': 'mischievous', 'aliases': []}, # kaching suggested by user '1f911': {'canonical_name': 'money_face', 'aliases': ['kaching']}, # arms_open seems like a natural addition '1f917': {'canonical_name': 'hug', 'aliases': ['arms_open']}, '1f913': {'canonical_name': 'nerd', 'aliases': ['geek']}, # several sites suggested this was used for "cool", but cool is taken by # Symbols/137 '1f60e': {'canonical_name': 'sunglasses', 'aliases': []}, '1f921': {'canonical_name': 'clown', 'aliases': []}, '1f920': {'canonical_name': 'cowboy', 'aliases': []}, # https://emojipedia.org/smirking-face/ '1f60f': {'canonical_name': 'smirk', 'aliases': ['smug']}, '1f612': {'canonical_name': 'unamused', 'aliases': []}, '1f61e': {'canonical_name': 'disappointed', 'aliases': []}, # see People/41 '1f614': {'canonical_name': 'pensive', 'aliases': ['tired']}, '1f61f': {'canonical_name': 'worried', 'aliases': []}, # these seem to better capture the glyphs. This is also what :/ turns into # in google hangouts '1f615': {'canonical_name': 'oh_no', 'aliases': ['half_frown', 'concerned', 'confused']}, '1f641': {'canonical_name': 'frown', 'aliases': ['slight_frown']}, # sad seemed better than putting another frown as the primary name (see # People/37) '2639': {'canonical_name': 'sad', 'aliases': ['big_frown']}, # helpless from https://emojipedia.org/persevering-face/ '1f623': {'canonical_name': 'persevere', 'aliases': ['helpless']}, # agony seemed like a good addition '1f616': {'canonical_name': 'confounded', 'aliases': ['agony']}, # tired doesn't really match any of the 4 images, put it on People/34 '1f62b': {'canonical_name': 'anguish', 'aliases': []}, # distraught from https://beebom.com/emoji-meanings/ '1f629': {'canonical_name': 'weary', 'aliases': ['distraught']}, '1f624': {'canonical_name': 'triumph', 'aliases': []}, '1f620': {'canonical_name': 'angry', 'aliases': []}, # mad and grumpy from https://beebom.com/emoji-meanings/, very_angry to # parallel People/44 and show up in typeahead for "ang.." '1f621': {'canonical_name': 'rage', 'aliases': ['mad', 'grumpy', 'very_angry']}, # blank from https://beebom.com/emoji-meanings/, speechless and poker_face # seemed like good ideas for this '1f636': {'canonical_name': 'speechless', 'aliases': ['no_mouth', 'blank', 'poker_face']}, '1f610': {'canonical_name': 'neutral', 'aliases': []}, '1f611': {'canonical_name': 'expressionless', 'aliases': []}, '1f62f': {'canonical_name': 'hushed', 'aliases': []}, '1f626': {'canonical_name': 'frowning', 'aliases': []}, # pained from https://beebom.com/emoji-meanings/ '1f627': {'canonical_name': 'anguished', 'aliases': ['pained']}, # surprise from https://emojipedia.org/face-with-open-mouth/ '1f62e': {'canonical_name': 'open_mouth', 'aliases': ['surprise']}, '1f632': {'canonical_name': 'astonished', 'aliases': []}, '1f635': {'canonical_name': 'dizzy', 'aliases': []}, # the alternates are from https://emojipedia.org/flushed-face/. shame # doesn't work with the google emoji '1f633': {'canonical_name': 'flushed', 'aliases': ['embarrassed', 'blushing']}, '1f631': {'canonical_name': 'scream', 'aliases': []}, # scared from https://emojipedia.org/fearful-face/, shock seemed like a # nice addition '1f628': {'canonical_name': 'fear', 'aliases': ['scared', 'shock']}, '1f630': {'canonical_name': 'cold_sweat', 'aliases': []}, '1f622': {'canonical_name': 'cry', 'aliases': []}, # stressed from https://beebom.com/emoji-meanings/. The internet generally # didn't seem to know what to make of the dissapointed_relieved name, and I # got the sense it wasn't an emotion that was often used. Hence replaced it # with exhausted. '1f625': {'canonical_name': 'exhausted', 'aliases': ['disappointed_relieved', 'stressed']}, '1f924': {'canonical_name': 'drooling', 'aliases': []}, '1f62d': {'canonical_name': 'sob', 'aliases': []}, '1f613': {'canonical_name': 'sweat', 'aliases': []}, '1f62a': {'canonical_name': 'sleepy', 'aliases': []}, '1f634': {'canonical_name': 'sleeping', 'aliases': []}, '1f644': {'canonical_name': 'rolling_eyes', 'aliases': []}, '1f914': {'canonical_name': 'thinking', 'aliases': []}, '1f925': {'canonical_name': 'lying', 'aliases': []}, # seems like best emoji for nervous/anxious '1f62c': {'canonical_name': 'grimacing', 'aliases': ['nervous', 'anxious']}, # zip_it from https://mashable.com/2015/10/23/ios-9-1-emoji-guide/, # lips_sealed from https://emojipedia.org/zipper-mouth-face/, rest seemed # like reasonable additions '1f910': {'canonical_name': 'silence', 'aliases': ['quiet', 'hush', 'zip_it', 'lips_are_sealed']}, # queasy seemed like a natural addition '1f922': {'canonical_name': 'nauseated', 'aliases': ['queasy']}, '1f927': {'canonical_name': 'sneezing', 'aliases': []}, # cant_talk from https://beebom.com/emoji-meanings/ '1f637': {'canonical_name': 'cant_talk', 'aliases': ['mask']}, # flu from https://mashable.com/2015/10/23/ios-9-1-emoji-guide/, sick from # https://emojipedia.org/face-with-thermometer/, face_with_thermometer so # it shows up in typeahead (thermometer taken by Objects/82) '1f912': {'canonical_name': 'sick', 'aliases': ['flu', 'face_with_thermometer', 'ill', 'fever']}, # hurt and injured from https://beebom.com/emoji-meanings/. Chose hurt as # primary since I think it can cover a wider set of things (e.g. emotional # hurt) '1f915': {'canonical_name': 'hurt', 'aliases': ['head_bandage', 'injured']}, # devil from https://emojipedia.org/smiling-face-with-horns/, # smiling_face_with_horns from gemoji/unicode '1f608': {'canonical_name': 'smiling_devil', 'aliases': ['smiling_imp', 'smiling_face_with_horns']}, # angry_devil from https://beebom.com/emoji-meanings/ '1f47f': {'canonical_name': 'devil', 'aliases': ['imp', 'angry_devil']}, '1f479': {'canonical_name': 'ogre', 'aliases': []}, '1f47a': {'canonical_name': 'goblin', 'aliases': []}, # pile_of_poo from gemoji/unicode '1f4a9': {'canonical_name': 'poop', 'aliases': ['pile_of_poo']}, # alternates seemed like reasonable additions '1f47b': {'canonical_name': 'ghost', 'aliases': ['boo', 'spooky', 'haunted']}, '1f480': {'canonical_name': 'skull', 'aliases': []}, # alternates seemed like reasonable additions '2620': {'canonical_name': 'skull_and_crossbones', 'aliases': ['pirate', 'death', 'hazard', 'toxic', 'poison']}, # ignorelongline # ufo seemed like a natural addition '1f47d': {'canonical_name': 'alien', 'aliases': ['ufo']}, '1f47e': {'canonical_name': 'space_invader', 'aliases': []}, '1f916': {'canonical_name': 'robot', 'aliases': []}, # pumpkin seemed like a natural addition '1f383': {'canonical_name': 'jack-o-lantern', 'aliases': ['pumpkin']}, '1f63a': {'canonical_name': 'smiley_cat', 'aliases': []}, '1f638': {'canonical_name': 'smile_cat', 'aliases': []}, '1f639': {'canonical_name': 'joy_cat', 'aliases': []}, '1f63b': {'canonical_name': 'heart_eyes_cat', 'aliases': []}, # smug_cat to parallel People/31 '1f63c': {'canonical_name': 'smirk_cat', 'aliases': ['smug_cat']}, '1f63d': {'canonical_name': 'kissing_cat', 'aliases': []}, # weary_cat from unicode/gemoji '1f640': {'canonical_name': 'scream_cat', 'aliases': ['weary_cat']}, '1f63f': {'canonical_name': 'crying_cat', 'aliases': []}, # angry_cat to better parallel People/45 '1f63e': {'canonical_name': 'angry_cat', 'aliases': ['pouting_cat']}, '1f450': {'canonical_name': 'open_hands', 'aliases': []}, # praise from # https://emojipedia.org/person-raising-both-hands-in-celebration/ '1f64c': {'canonical_name': 'raised_hands', 'aliases': ['praise']}, # applause from https://emojipedia.org/clapping-hands-sign/ '1f44f': {'canonical_name': 'clap', 'aliases': ['applause']}, # welcome and thank_you from # https://emojipedia.org/person-with-folded-hands/, namaste from indian # culture '1f64f': {'canonical_name': 'pray', 'aliases': ['welcome', 'thank_you', 'namaste']}, # done_deal seems like a natural addition '1f91d': {'canonical_name': 'handshake', 'aliases': ['done_deal']}, '1f44d': {'canonical_name': '+1', 'aliases': ['thumbs_up', 'like']}, '1f44e': {'canonical_name': '-1', 'aliases': ['thumbs_down']}, # fist_bump from https://beebom.com/emoji-meanings/ '1f44a': {'canonical_name': 'fist_bump', 'aliases': ['punch']}, # used as power in social justice movements '270a': {'canonical_name': 'fist', 'aliases': ['power']}, '1f91b': {'canonical_name': 'left_fist', 'aliases': []}, '1f91c': {'canonical_name': 'right_fist', 'aliases': []}, '1f91e': {'canonical_name': 'fingers_crossed', 'aliases': []}, # seems to be mostly used as peace on twitter '270c': {'canonical_name': 'peace_sign', 'aliases': ['victory']}, # https://emojipedia.org/sign-of-the-horns/ '1f918': {'canonical_name': 'rock_on', 'aliases': ['sign_of_the_horns']}, # got_it seems like a natural addition '1f44c': {'canonical_name': 'ok', 'aliases': ['got_it']}, '1f448': {'canonical_name': 'point_left', 'aliases': []}, '1f449': {'canonical_name': 'point_right', 'aliases': []}, # :this: is a way of emphasizing the previous message. point_up instead of # point_up_2 so that point_up better matches the other point_*s '1f446': {'canonical_name': 'point_up', 'aliases': ['this']}, '1f447': {'canonical_name': 'point_down', 'aliases': []}, # People/114 is point_up. These seemed better than naming it point_up_2, # and point_of_information means it will come up in typeahead for 'point' '261d': {'canonical_name': 'wait_one_second', 'aliases': ['point_of_information', 'asking_a_question']}, '270b': {'canonical_name': 'hand', 'aliases': ['raised_hand']}, # seems like best emoji for stop, raised_back_of_hand doesn't seem that # useful '1f91a': {'canonical_name': 'stop', 'aliases': []}, # seems like best emoji for high_five, raised_hand_with_fingers_splayed # doesn't seem that useful '1f590': {'canonical_name': 'high_five', 'aliases': ['palm']}, # https://mashable.com/2015/10/23/ios-9-1-emoji-guide/ '1f596': {'canonical_name': 'spock', 'aliases': ['live_long_and_prosper']}, # People/119 is a better 'hi', but 'hi' will never show up in the typeahead # due to 'high_five' '1f44b': {'canonical_name': 'wave', 'aliases': ['hello', 'hi']}, '1f919': {'canonical_name': 'call_me', 'aliases': []}, # flexed_biceps from gemoji/unicode, strong seemed like a good addition '1f4aa': {'canonical_name': 'muscle', 'aliases': []}, '1f595': {'canonical_name': 'middle_finger', 'aliases': []}, '270d': {'canonical_name': 'writing', 'aliases': []}, '1f933': {'canonical_name': 'selfie', 'aliases': []}, # Couldn't figure out why iamcal chose nail_care. unicode uses nail_polish, # gemoji uses both '1f485': {'canonical_name': 'nail_polish', 'aliases': ['nail_care']}, '1f48d': {'canonical_name': 'ring', 'aliases': []}, '1f484': {'canonical_name': 'lipstick', 'aliases': []}, # People/18 seems like a better kiss for most circumstances '1f48b': {'canonical_name': 'lipstick_kiss', 'aliases': []}, # mouth from gemoji/unicode '1f444': {'canonical_name': 'lips', 'aliases': ['mouth']}, '1f445': {'canonical_name': 'tongue', 'aliases': []}, '1f442': {'canonical_name': 'ear', 'aliases': []}, '1f443': {'canonical_name': 'nose', 'aliases': []}, # seems a better feet than Nature/86 (paw_prints) '1f463': {'canonical_name': 'footprints', 'aliases': ['feet']}, '1f441': {'canonical_name': 'eye', 'aliases': []}, # seemed the best emoji for looking '1f440': {'canonical_name': 'eyes', 'aliases': ['looking']}, '1f5e3': {'canonical_name': 'speaking_head', 'aliases': []}, # shadow seems like a good addition '1f464': {'canonical_name': 'silhouette', 'aliases': ['shadow']}, # to parallel People/139 '1f465': {'canonical_name': 'silhouettes', 'aliases': ['shadows']}, '1f476': {'canonical_name': 'baby', 'aliases': []}, '1f466': {'canonical_name': 'boy', 'aliases': []}, '1f467': {'canonical_name': 'girl', 'aliases': []}, '1f468': {'canonical_name': 'man', 'aliases': []}, '1f469': {'canonical_name': 'woman', 'aliases': []}, # It's used on twitter a bunch, either when showing off hair, or in a way # where People/144 would substitute. It'd be nice if there were another # emoji one could use for "good hair", but I think not a big loss to not # have one for zulip, and not worth the eurocentrism. # '1f471': {'canonical_name': 'X', 'aliases': ['person_with_blond_hair']}, # Added elderly since I think some people prefer that term '1f474': {'canonical_name': 'older_man', 'aliases': ['elderly_man']}, # Added elderly since I think some people prefer that term '1f475': {'canonical_name': 'older_woman', 'aliases': ['elderly_woman']}, '1f472': {'canonical_name': 'gua_pi_mao', 'aliases': []}, '1f473': {'canonical_name': 'turban', 'aliases': []}, # police seems like a more polite term, and matches the unicode '1f46e': {'canonical_name': 'police', 'aliases': ['cop']}, '1f477': {'canonical_name': 'construction_worker', 'aliases': []}, '1f482': {'canonical_name': 'guard', 'aliases': []}, # detective from gemoji, sneaky from # https://mashable.com/2015/10/23/ios-9-1-emoji-guide/, agent seems a # reasonable addition '1f575': {'canonical_name': 'detective', 'aliases': ['spy', 'sleuth', 'agent', 'sneaky']}, # mrs_claus from https://emojipedia.org/mother-christmas/ '1f936': {'canonical_name': 'mother_christmas', 'aliases': ['mrs_claus']}, '1f385': {'canonical_name': 'santa', 'aliases': []}, '1f478': {'canonical_name': 'princess', 'aliases': []}, '1f934': {'canonical_name': 'prince', 'aliases': []}, '1f470': {'canonical_name': 'bride', 'aliases': []}, '1f935': {'canonical_name': 'tuxedo', 'aliases': []}, '1f47c': {'canonical_name': 'angel', 'aliases': []}, # expecting seems like a good addition '1f930': {'canonical_name': 'pregnant', 'aliases': ['expecting']}, '1f647': {'canonical_name': 'bow', 'aliases': []}, # mostly used sassily. person_tipping_hand from # https://emojipedia.org/information-desk-person/ '1f481': {'canonical_name': 'information_desk_person', 'aliases': ['person_tipping_hand']}, # no_signal to parallel People/207. Nope seems like a reasonable addition '1f645': {'canonical_name': 'no_signal', 'aliases': ['nope']}, '1f646': {'canonical_name': 'ok_signal', 'aliases': []}, # pick_me seems like a good addition '1f64b': {'canonical_name': 'raising_hand', 'aliases': ['pick_me']}, '1f926': {'canonical_name': 'face_palm', 'aliases': []}, '1f937': {'canonical_name': 'shrug', 'aliases': []}, '1f64e': {'canonical_name': 'person_pouting', 'aliases': []}, '1f64d': {'canonical_name': 'person_frowning', 'aliases': []}, '1f487': {'canonical_name': 'haircut', 'aliases': []}, '1f486': {'canonical_name': 'massage', 'aliases': []}, # hover seems like a reasonable addition '1f574': {'canonical_name': 'levitating', 'aliases': ['hover']}, '1f483': {'canonical_name': 'dancer', 'aliases': []}, '1f57a': {'canonical_name': 'dancing', 'aliases': ['disco']}, '1f46f': {'canonical_name': 'dancers', 'aliases': []}, # pedestrian seems like reasonable addition '1f6b6': {'canonical_name': 'walking', 'aliases': ['pedestrian']}, '1f3c3': {'canonical_name': 'running', 'aliases': ['runner']}, '1f46b': {'canonical_name': 'man_and_woman_holding_hands', 'aliases': ['man_and_woman_couple']}, # to parallel People/234 '1f46d': {'canonical_name': 'two_women_holding_hands', 'aliases': ['women_couple']}, # to parallel People/234 '1f46c': {'canonical_name': 'two_men_holding_hands', 'aliases': ['men_couple']}, # no need for man-woman-boy, since we aren't including the other family # combos '1f46a': {'canonical_name': 'family', 'aliases': []}, '1f45a': {'canonical_name': 'clothing', 'aliases': []}, '1f455': {'canonical_name': 'shirt', 'aliases': ['tshirt']}, # denim seems like a good addition '1f456': {'canonical_name': 'jeans', 'aliases': ['denim']}, # tie is shorter, and a bit more general '1f454': {'canonical_name': 'tie', 'aliases': []}, '1f457': {'canonical_name': 'dress', 'aliases': []}, '1f459': {'canonical_name': 'bikini', 'aliases': []}, '1f458': {'canonical_name': 'kimono', 'aliases': []}, # I feel like this is always used in the plural '1f460': {'canonical_name': 'high_heels', 'aliases': []}, # flip_flops seems like a reasonable addition '1f461': {'canonical_name': 'sandal', 'aliases': ['flip_flops']}, '1f462': {'canonical_name': 'boot', 'aliases': []}, '1f45e': {'canonical_name': 'shoe', 'aliases': []}, # running_shoe is from gemoji, sneaker seems like a reasonable addition '1f45f': {'canonical_name': 'athletic_shoe', 'aliases': ['sneaker', 'running_shoe']}, '1f452': {'canonical_name': 'hat', 'aliases': []}, '1f3a9': {'canonical_name': 'top_hat', 'aliases': []}, # graduate seems like a better word for this '1f393': {'canonical_name': 'graduate', 'aliases': ['mortar_board']}, # king and queen seem like good additions '1f451': {'canonical_name': 'crown', 'aliases': ['queen', 'king']}, # safety and invincibility inspired by # https://mashable.com/2015/10/23/ios-9-1-emoji-guide/. hard_hat and # rescue_worker seem like good additions '26d1': {'canonical_name': 'helmet', 'aliases': ['hard_hat', 'rescue_worker', 'safety_first', 'invincible']}, # ignorelongline # backpack from gemoji, dominates satchel on google trends '1f392': {'canonical_name': 'backpack', 'aliases': ['satchel']}, '1f45d': {'canonical_name': 'pouch', 'aliases': []}, '1f45b': {'canonical_name': 'purse', 'aliases': []}, '1f45c': {'canonical_name': 'handbag', 'aliases': []}, '1f4bc': {'canonical_name': 'briefcase', 'aliases': []}, # glasses seems a more common term than eyeglasses, spectacles seems like a # reasonable synonym to add '1f453': {'canonical_name': 'glasses', 'aliases': ['spectacles']}, '1f576': {'canonical_name': 'dark_sunglasses', 'aliases': []}, '1f302': {'canonical_name': 'closed_umbrella', 'aliases': []}, '2602': {'canonical_name': 'umbrella', 'aliases': []}, # Some animals have a unicode codepoint "", some have a codepoint # " face", and some have both. If an animal has just a single # codepoint, we call it , regardless of what the codepoint is. If # an animal has both, we call the "" codepoint , and come # up with something else useful-seeming for the " face" codepoint. # The reason we chose " face" for the non-standard name (instead of # giving "" the non-standard name, as iamcal does) is because the # apple emoji for the ""s are too realistic. E.g. Apple's Nature/76 # is less plausibly a puppy than this one. '1f436': {'canonical_name': 'puppy', 'aliases': []}, '1f431': {'canonical_name': 'kitten', 'aliases': []}, '1f42d': {'canonical_name': 'dormouse', 'aliases': []}, '1f439': {'canonical_name': 'hamster', 'aliases': []}, '1f430': {'canonical_name': 'bunny', 'aliases': []}, '1f98a': {'canonical_name': 'fox', 'aliases': []}, '1f43b': {'canonical_name': 'bear', 'aliases': []}, '1f43c': {'canonical_name': 'panda', 'aliases': []}, '1f428': {'canonical_name': 'koala', 'aliases': []}, '1f42f': {'canonical_name': 'tiger_cub', 'aliases': []}, '1f981': {'canonical_name': 'lion', 'aliases': []}, '1f42e': {'canonical_name': 'calf', 'aliases': []}, '1f437': {'canonical_name': 'piglet', 'aliases': []}, '1f43d': {'canonical_name': 'pig_nose', 'aliases': []}, '1f438': {'canonical_name': 'frog', 'aliases': []}, '1f435': {'canonical_name': 'monkey_face', 'aliases': []}, '1f648': {'canonical_name': 'see_no_evil', 'aliases': []}, '1f649': {'canonical_name': 'hear_no_evil', 'aliases': []}, '1f64a': {'canonical_name': 'speak_no_evil', 'aliases': []}, '1f412': {'canonical_name': 'monkey', 'aliases': []}, # cluck seemed like a good addition '1f414': {'canonical_name': 'chicken', 'aliases': ['cluck']}, '1f427': {'canonical_name': 'penguin', 'aliases': []}, '1f426': {'canonical_name': 'bird', 'aliases': []}, '1f424': {'canonical_name': 'chick', 'aliases': ['baby_chick']}, '1f423': {'canonical_name': 'hatching', 'aliases': ['hatching_chick']}, # https://www.iemoji.com/view/emoji/668/animals-nature/front-facing-baby-chick '1f425': {'canonical_name': 'new_baby', 'aliases': []}, '1f986': {'canonical_name': 'duck', 'aliases': []}, '1f985': {'canonical_name': 'eagle', 'aliases': []}, '1f989': {'canonical_name': 'owl', 'aliases': []}, '1f987': {'canonical_name': 'bat', 'aliases': []}, '1f43a': {'canonical_name': 'wolf', 'aliases': []}, '1f417': {'canonical_name': 'boar', 'aliases': []}, '1f434': {'canonical_name': 'pony', 'aliases': []}, '1f984': {'canonical_name': 'unicorn', 'aliases': []}, # buzz seemed like a reasonable addition '1f41d': {'canonical_name': 'bee', 'aliases': ['buzz', 'honeybee']}, # caterpillar seemed like a reasonable addition '1f41b': {'canonical_name': 'bug', 'aliases': ['caterpillar']}, '1f98b': {'canonical_name': 'butterfly', 'aliases': []}, '1f40c': {'canonical_name': 'snail', 'aliases': []}, # spiral_shell from unicode/gemoji, the others seemed like reasonable # additions '1f41a': {'canonical_name': 'shell', 'aliases': ['seashell', 'conch', 'spiral_shell']}, # unicode/gemoji have lady_beetle; hopefully with ladybug we get both the # people that prefer lady_beetle (with beetle) and ladybug. There is also # ladybird, but seems a bit much for this to complete for bird. '1f41e': {'canonical_name': 'beetle', 'aliases': ['ladybug']}, '1f41c': {'canonical_name': 'ant', 'aliases': []}, '1f577': {'canonical_name': 'spider', 'aliases': []}, '1f578': {'canonical_name': 'web', 'aliases': ['spider_web']}, # tortoise seemed like a reasonable addition '1f422': {'canonical_name': 'turtle', 'aliases': ['tortoise']}, # put in a few animal sounds, including this one '1f40d': {'canonical_name': 'snake', 'aliases': ['hiss']}, '1f98e': {'canonical_name': 'lizard', 'aliases': ['gecko']}, '1f982': {'canonical_name': 'scorpion', 'aliases': []}, '1f980': {'canonical_name': 'crab', 'aliases': []}, '1f991': {'canonical_name': 'squid', 'aliases': []}, '1f419': {'canonical_name': 'octopus', 'aliases': []}, '1f990': {'canonical_name': 'shrimp', 'aliases': []}, '1f420': {'canonical_name': 'tropical_fish', 'aliases': []}, '1f41f': {'canonical_name': 'fish', 'aliases': []}, '1f421': {'canonical_name': 'blowfish', 'aliases': []}, '1f42c': {'canonical_name': 'dolphin', 'aliases': ['flipper']}, '1f988': {'canonical_name': 'shark', 'aliases': []}, '1f433': {'canonical_name': 'whale', 'aliases': []}, # https://emojipedia.org/whale/ '1f40b': {'canonical_name': 'humpback_whale', 'aliases': []}, '1f40a': {'canonical_name': 'crocodile', 'aliases': []}, '1f406': {'canonical_name': 'leopard', 'aliases': []}, '1f405': {'canonical_name': 'tiger', 'aliases': []}, '1f403': {'canonical_name': 'water_buffalo', 'aliases': []}, '1f402': {'canonical_name': 'ox', 'aliases': ['bull']}, '1f404': {'canonical_name': 'cow', 'aliases': []}, '1f98c': {'canonical_name': 'deer', 'aliases': []}, # https://emojipedia.org/dromedary-camel/ '1f42a': {'canonical_name': 'arabian_camel', 'aliases': []}, '1f42b': {'canonical_name': 'camel', 'aliases': []}, '1f418': {'canonical_name': 'elephant', 'aliases': []}, '1f98f': {'canonical_name': 'rhinoceros', 'aliases': []}, '1f98d': {'canonical_name': 'gorilla', 'aliases': []}, '1f40e': {'canonical_name': 'horse', 'aliases': []}, '1f416': {'canonical_name': 'pig', 'aliases': ['oink']}, '1f410': {'canonical_name': 'goat', 'aliases': []}, '1f40f': {'canonical_name': 'ram', 'aliases': []}, '1f411': {'canonical_name': 'sheep', 'aliases': ['baa']}, '1f415': {'canonical_name': 'dog', 'aliases': ['woof']}, '1f429': {'canonical_name': 'poodle', 'aliases': []}, '1f408': {'canonical_name': 'cat', 'aliases': ['meow']}, # alarm seemed like a fun addition '1f413': {'canonical_name': 'rooster', 'aliases': ['alarm', 'cock-a-doodle-doo']}, '1f983': {'canonical_name': 'turkey', 'aliases': []}, '1f54a': {'canonical_name': 'dove', 'aliases': ['dove_of_peace']}, '1f407': {'canonical_name': 'rabbit', 'aliases': []}, '1f401': {'canonical_name': 'mouse', 'aliases': []}, '1f400': {'canonical_name': 'rat', 'aliases': []}, '1f43f': {'canonical_name': 'chipmunk', 'aliases': []}, # paws seemed like reasonable addition. Put feet at People/135 '1f43e': {'canonical_name': 'paw_prints', 'aliases': ['paws']}, '1f409': {'canonical_name': 'dragon', 'aliases': []}, '1f432': {'canonical_name': 'dragon_face', 'aliases': []}, '1f335': {'canonical_name': 'cactus', 'aliases': []}, '1f384': {'canonical_name': 'holiday_tree', 'aliases': []}, '1f332': {'canonical_name': 'evergreen_tree', 'aliases': []}, '1f333': {'canonical_name': 'tree', 'aliases': ['deciduous_tree']}, '1f334': {'canonical_name': 'palm_tree', 'aliases': []}, # sprout seemed like a reasonable addition '1f331': {'canonical_name': 'seedling', 'aliases': ['sprout']}, # seemed like the best emoji for plant '1f33f': {'canonical_name': 'herb', 'aliases': ['plant']}, # clover seemed like a reasonable addition '2618': {'canonical_name': 'shamrock', 'aliases': ['clover']}, # lucky seems more useful '1f340': {'canonical_name': 'lucky', 'aliases': ['four_leaf_clover']}, '1f38d': {'canonical_name': 'bamboo', 'aliases': []}, # https://emojipedia.org/tanabata-tree/ '1f38b': {'canonical_name': 'wish_tree', 'aliases': ['tanabata_tree']}, # seemed like good additions. Used fall instead of autumn, since don't have # the rest of the seasons, and could imagine someone using both meanings of # fall. '1f343': {'canonical_name': 'leaves', 'aliases': ['wind', 'fall']}, '1f342': {'canonical_name': 'fallen_leaf', 'aliases': []}, '1f341': {'canonical_name': 'maple_leaf', 'aliases': []}, '1f344': {'canonical_name': 'mushroom', 'aliases': []}, # harvest seems more useful '1f33e': {'canonical_name': 'harvest', 'aliases': ['ear_of_rice']}, '1f490': {'canonical_name': 'bouquet', 'aliases': []}, # seems like the best emoji for flower '1f337': {'canonical_name': 'tulip', 'aliases': ['flower']}, '1f339': {'canonical_name': 'rose', 'aliases': []}, # crushed suggest by a user '1f940': {'canonical_name': 'wilted_flower', 'aliases': ['crushed']}, '1f33b': {'canonical_name': 'sunflower', 'aliases': []}, '1f33c': {'canonical_name': 'blossom', 'aliases': []}, '1f338': {'canonical_name': 'cherry_blossom', 'aliases': []}, '1f33a': {'canonical_name': 'hibiscus', 'aliases': []}, '1f30e': {'canonical_name': 'earth_americas', 'aliases': []}, '1f30d': {'canonical_name': 'earth_africa', 'aliases': []}, '1f30f': {'canonical_name': 'earth_asia', 'aliases': []}, '1f315': {'canonical_name': 'full_moon', 'aliases': []}, # too many useless moons. Don't seem to get much use on twitter, and clog # up typeahead for moon. # '1f316': {'canonical_name': 'X', 'aliases': ['waning_crescent_moon']}, # '1f317': {'canonical_name': 'X', 'aliases': ['last_quarter_moon']}, # '1f318': {'canonical_name': 'X', 'aliases': ['waning_crescent_moon']}, '1f311': {'canonical_name': 'new_moon', 'aliases': []}, # '1f312': {'canonical_name': 'X', 'aliases': ['waxing_crescent_moon']}, # '1f313': {'canonical_name': 'X', 'aliases': ['first_quarter_moon']}, '1f314': {'canonical_name': 'waxing_moon', 'aliases': []}, '1f31a': {'canonical_name': 'new_moon_face', 'aliases': []}, '1f31d': {'canonical_name': 'moon_face', 'aliases': []}, '1f31e': {'canonical_name': 'sun_face', 'aliases': []}, # goodnight seems way more useful '1f31b': {'canonical_name': 'goodnight', 'aliases': []}, # '1f31c': {'canonical_name': 'X', 'aliases': ['last_quarter_moon_with_face']}, # seems like the best emoji for moon '1f319': {'canonical_name': 'moon', 'aliases': []}, # dizzy taken by People/54, had to come up with something else '1f4ab': {'canonical_name': 'seeing_stars', 'aliases': []}, '2b50': {'canonical_name': 'star', 'aliases': []}, # glowing_star from gemoji/unicode '1f31f': {'canonical_name': 'glowing_star', 'aliases': []}, # glamour seems like a reasonable addition '2728': {'canonical_name': 'sparkles', 'aliases': ['glamour']}, # high_voltage from gemoji/unicode '26a1': {'canonical_name': 'high_voltage', 'aliases': ['zap']}, # https://emojipedia.org/fire/ '1f525': {'canonical_name': 'fire', 'aliases': ['lit', 'hot', 'flame']}, # explosion and crash seem like reasonable additions '1f4a5': {'canonical_name': 'boom', 'aliases': ['explosion', 'crash', 'collision']}, # meteor seems like a reasonable addition '2604': {'canonical_name': 'comet', 'aliases': ['meteor']}, '2600': {'canonical_name': 'sunny', 'aliases': []}, '1f324': {'canonical_name': 'mostly_sunny', 'aliases': []}, # partly_cloudy for the glass half empty people '26c5': {'canonical_name': 'partly_sunny', 'aliases': ['partly_cloudy']}, '1f325': {'canonical_name': 'cloudy', 'aliases': []}, # sunshowers seems like a more fun term '1f326': {'canonical_name': 'sunshowers', 'aliases': ['sun_and_rain', 'partly_sunny_with_rain']}, # pride and lgbtq seem like reasonable additions '1f308': {'canonical_name': 'rainbow', 'aliases': ['pride', 'lgbtq']}, # overcast seems like a good addition '2601': {'canonical_name': 'cloud', 'aliases': ['overcast']}, # suggested by user typing these into their typeahead. '1f327': {'canonical_name': 'rainy', 'aliases': ['soaked', 'drenched']}, # thunderstorm seems better for this emoji, and thunder_and_rain more # evocative than thunder_cloud_and_rain '26c8': {'canonical_name': 'thunderstorm', 'aliases': ['thunder_and_rain']}, # lightning_storm seemed better than lightning_cloud '1f329': {'canonical_name': 'lightning', 'aliases': ['lightning_storm']}, # snowy to parallel sunny, cloudy, etc; snowstorm seems like a good # addition '1f328': {'canonical_name': 'snowy', 'aliases': ['snowstorm']}, '2603': {'canonical_name': 'snowman', 'aliases': []}, # don't need two snowmen. frosty is nice because it's a weather (primary # benefit) and also a snowman (one that suffered from not having snow, in # fact) '26c4': {'canonical_name': 'frosty', 'aliases': []}, '2744': {'canonical_name': 'snowflake', 'aliases': []}, # the internet didn't seem to have a good use for this emoji. windy is a # good weather that is otherwise not represented. mother_nature from # https://emojipedia.org/wind-blowing-face/ '1f32c': {'canonical_name': 'windy', 'aliases': ['mother_nature']}, '1f4a8': {'canonical_name': 'dash', 'aliases': []}, # tornado_cloud comes from the unicode, but e.g. gemoji drops the cloud '1f32a': {'canonical_name': 'tornado', 'aliases': []}, # hazy seemed like a good addition '1f32b': {'canonical_name': 'fog', 'aliases': ['hazy']}, '1f30a': {'canonical_name': 'ocean', 'aliases': []}, # drop seems better than droplet, since could be used for its other # meanings. water drop partly so that it shows up in typeahead for water '1f4a7': {'canonical_name': 'drop', 'aliases': ['water_drop']}, '1f4a6': {'canonical_name': 'sweat_drops', 'aliases': []}, '2614': {'canonical_name': 'umbrella_with_rain', 'aliases': []}, '1f34f': {'canonical_name': 'green_apple', 'aliases': []}, '1f34e': {'canonical_name': 'apple', 'aliases': []}, '1f350': {'canonical_name': 'pear', 'aliases': []}, # An argument for not calling this orange is to save the color for a color # swatch, but we can deal with that when it happens. Mandarin is from # https://emojipedia.org/tangerine/, also like that it has a second meaning '1f34a': {'canonical_name': 'orange', 'aliases': ['tangerine', 'mandarin']}, '1f34b': {'canonical_name': 'lemon', 'aliases': []}, '1f34c': {'canonical_name': 'banana', 'aliases': []}, '1f349': {'canonical_name': 'watermelon', 'aliases': []}, '1f347': {'canonical_name': 'grapes', 'aliases': []}, '1f353': {'canonical_name': 'strawberry', 'aliases': []}, '1f348': {'canonical_name': 'melon', 'aliases': []}, '1f352': {'canonical_name': 'cherries', 'aliases': []}, '1f351': {'canonical_name': 'peach', 'aliases': []}, '1f34d': {'canonical_name': 'pineapple', 'aliases': []}, '1f95d': {'canonical_name': 'kiwi', 'aliases': []}, '1f951': {'canonical_name': 'avocado', 'aliases': []}, '1f345': {'canonical_name': 'tomato', 'aliases': []}, '1f346': {'canonical_name': 'eggplant', 'aliases': []}, '1f952': {'canonical_name': 'cucumber', 'aliases': []}, '1f955': {'canonical_name': 'carrot', 'aliases': []}, # maize is from unicode '1f33d': {'canonical_name': 'corn', 'aliases': ['maize']}, # chili_pepper seems like a reasonable addition '1f336': {'canonical_name': 'hot_pepper', 'aliases': ['chili_pepper']}, '1f954': {'canonical_name': 'potato', 'aliases': []}, # yam seems better than sweet_potato, since we already have a potato (not a # strong argument, but is better on the typeahead not to have emoji that # share long prefixes) '1f360': {'canonical_name': 'yam', 'aliases': ['sweet_potato']}, '1f330': {'canonical_name': 'chestnut', 'aliases': []}, '1f95c': {'canonical_name': 'peanuts', 'aliases': []}, '1f36f': {'canonical_name': 'honey', 'aliases': []}, '1f950': {'canonical_name': 'croissant', 'aliases': []}, '1f35e': {'canonical_name': 'bread', 'aliases': []}, '1f956': {'canonical_name': 'baguette', 'aliases': []}, '1f9c0': {'canonical_name': 'cheese', 'aliases': []}, '1f95a': {'canonical_name': 'egg', 'aliases': []}, # already have an egg in Foods/31, though I guess wouldn't be a big deal to # add it here. '1f373': {'canonical_name': 'cooking', 'aliases': []}, '1f953': {'canonical_name': 'bacon', 'aliases': []}, # there's no lunch and dinner, which is a small negative against adding # breakfast '1f95e': {'canonical_name': 'pancakes', 'aliases': ['breakfast']}, # There is already shrimp in Nature/51, and tempura seems like a better # description '1f364': {'canonical_name': 'tempura', 'aliases': []}, # drumstick seems like a better description '1f357': {'canonical_name': 'drumstick', 'aliases': ['poultry']}, '1f356': {'canonical_name': 'meat', 'aliases': []}, '1f355': {'canonical_name': 'pizza', 'aliases': []}, '1f32d': {'canonical_name': 'hotdog', 'aliases': []}, '1f354': {'canonical_name': 'hamburger', 'aliases': []}, '1f35f': {'canonical_name': 'fries', 'aliases': []}, # https://emojipedia.org/stuffed-flatbread/ '1f959': {'canonical_name': 'doner_kebab', 'aliases': ['shawarma', 'souvlaki', 'stuffed_flatbread']}, '1f32e': {'canonical_name': 'taco', 'aliases': []}, '1f32f': {'canonical_name': 'burrito', 'aliases': []}, '1f957': {'canonical_name': 'salad', 'aliases': []}, # I think Foods/49 is a better :food: '1f958': {'canonical_name': 'paella', 'aliases': []}, '1f35d': {'canonical_name': 'spaghetti', 'aliases': []}, # seems like the best noodles? maybe this should be Foods/47? Noodles seem # like a bigger thing in east asia than in europe, so going with that. '1f35c': {'canonical_name': 'ramen', 'aliases': ['noodles']}, # seems like the best :food:. Also a reasonable :soup:, though the google # one is indeed more a pot of food (the unicode) than a soup '1f372': {'canonical_name': 'food', 'aliases': ['soup', 'stew']}, # naruto is actual name, and I think don't need this to autocomplete for # "fish" '1f365': {'canonical_name': 'naruto', 'aliases': []}, '1f363': {'canonical_name': 'sushi', 'aliases': []}, '1f371': {'canonical_name': 'bento', 'aliases': []}, '1f35b': {'canonical_name': 'curry', 'aliases': []}, '1f35a': {'canonical_name': 'rice', 'aliases': []}, # onigiri is actual name, and I think don't need this to typeahead complete # for "rice" '1f359': {'canonical_name': 'onigiri', 'aliases': []}, # leaving rice_cracker in, so that we have something for cracker '1f358': {'canonical_name': 'senbei', 'aliases': ['rice_cracker']}, '1f362': {'canonical_name': 'oden', 'aliases': []}, '1f361': {'canonical_name': 'dango', 'aliases': []}, '1f367': {'canonical_name': 'shaved_ice', 'aliases': []}, # seemed like the best emoji for gelato '1f368': {'canonical_name': 'ice_cream', 'aliases': ['gelato']}, # already have ice_cream in Foods/60, and soft_serve seems like a # potentially fun emoji to have in conjunction with ice_cream. Put in # soft_ice_cream so it typeahead completes on ice_cream as well. '1f366': {'canonical_name': 'soft_serve', 'aliases': ['soft_ice_cream']}, '1f370': {'canonical_name': 'cake', 'aliases': []}, '1f382': {'canonical_name': 'birthday', 'aliases': []}, # flan seems like a reasonable addition '1f36e': {'canonical_name': 'custard', 'aliases': ['flan']}, '1f36d': {'canonical_name': 'lollipop', 'aliases': []}, '1f36c': {'canonical_name': 'candy', 'aliases': []}, '1f36b': {'canonical_name': 'chocolate', 'aliases': []}, '1f37f': {'canonical_name': 'popcorn', 'aliases': []}, # donut dominates doughnut on # https://trends.google.com/trends/explore?q=doughnut,donut '1f369': {'canonical_name': 'donut', 'aliases': ['doughnut']}, '1f36a': {'canonical_name': 'cookie', 'aliases': []}, '1f95b': {'canonical_name': 'milk', 'aliases': ['glass_of_milk']}, '1f37c': {'canonical_name': 'baby_bottle', 'aliases': []}, '2615': {'canonical_name': 'coffee', 'aliases': []}, '1f375': {'canonical_name': 'tea', 'aliases': []}, '1f376': {'canonical_name': 'sake', 'aliases': []}, '1f37a': {'canonical_name': 'beer', 'aliases': []}, '1f37b': {'canonical_name': 'beers', 'aliases': []}, '1f942': {'canonical_name': 'clink', 'aliases': ['toast']}, '1f377': {'canonical_name': 'wine', 'aliases': []}, # tumbler means something different in india, and don't want to use # shot_glass given our policy of using school-age-appropriate terms '1f943': {'canonical_name': 'small_glass', 'aliases': []}, '1f378': {'canonical_name': 'cocktail', 'aliases': []}, '1f379': {'canonical_name': 'tropical_drink', 'aliases': []}, '1f37e': {'canonical_name': 'champagne', 'aliases': []}, '1f944': {'canonical_name': 'spoon', 'aliases': []}, # Added eating_utensils so this would show up in typeahead for eat. '1f374': {'canonical_name': 'fork_and_knife', 'aliases': ['eating_utensils']}, # Seems like the best emoji for hungry and meal. fork_and_knife_and_plate # is from gemoji/unicode, and I think is better than the shorter iamcal # version in this case. The rest just seemed like good additions. '1f37d': {'canonical_name': 'hungry', 'aliases': ['meal', 'table_setting', 'fork_and_knife_with_plate', 'lets_eat']}, # ignorelongline # most people interested in this sport call it football '26bd': {'canonical_name': 'football', 'aliases': ['soccer']}, '1f3c0': {'canonical_name': 'basketball', 'aliases': []}, # to distinguish from Activity/1, but is also the unicode name '1f3c8': {'canonical_name': 'american_football', 'aliases': []}, '26be': {'canonical_name': 'baseball', 'aliases': []}, '1f3be': {'canonical_name': 'tennis', 'aliases': []}, '1f3d0': {'canonical_name': 'volleyball', 'aliases': []}, '1f3c9': {'canonical_name': 'rugby', 'aliases': []}, # https://emojipedia.org/billiards/ suggests this is actually used for # billiards, not for "unlucky" or "losing" or some other connotation of # 8ball. The unicode name is billiards. '1f3b1': {'canonical_name': 'billiards', 'aliases': ['pool', '8_ball']}, # ping pong is the unicode name, and seems slightly more popular on # https://trends.google.com/trends/explore?q=table%20tennis,ping%20pong '1f3d3': {'canonical_name': 'ping_pong', 'aliases': ['table_tennis']}, '1f3f8': {'canonical_name': 'badminton', 'aliases': []}, # gooooooooal seems more useful of a name, though arguably this isn't the # best emoji for it '1f945': {'canonical_name': 'gooooooooal', 'aliases': ['goal']}, '1f3d2': {'canonical_name': 'ice_hockey', 'aliases': []}, '1f3d1': {'canonical_name': 'field_hockey', 'aliases': []}, # would say bat, but taken by Nature/30 '1f3cf': {'canonical_name': 'cricket', 'aliases': ['cricket_bat']}, # hole_in_one seems like a more useful name to have. Sent golf to # Activity/39 '26f3': {'canonical_name': 'hole_in_one', 'aliases': []}, # archery seems like a reasonable addition '1f3f9': {'canonical_name': 'bow_and_arrow', 'aliases': ['archery']}, '1f3a3': {'canonical_name': 'fishing', 'aliases': []}, '1f94a': {'canonical_name': 'boxing_glove', 'aliases': []}, # keikogi and dogi are the actual names for this, I believe. black_belt is # I think a more useful name here '1f94b': {'canonical_name': 'black_belt', 'aliases': ['keikogi', 'dogi', 'martial_arts']}, '26f8': {'canonical_name': 'ice_skate', 'aliases': []}, '1f3bf': {'canonical_name': 'ski', 'aliases': []}, '26f7': {'canonical_name': 'skier', 'aliases': []}, '1f3c2': {'canonical_name': 'snowboarder', 'aliases': []}, # lift is both what lifters call it, and potentially can be used more # generally than weight_lift. The others seemed like good additions. '1f3cb': {'canonical_name': 'lift', 'aliases': ['work_out', 'weight_lift', 'gym']}, # The decisions on tenses here and in the rest of the sports section are # mostly from gut feel. The unicode itself is all over the place. '1f93a': {'canonical_name': 'fencing', 'aliases': []}, '1f93c': {'canonical_name': 'wrestling', 'aliases': []}, # seemed like reasonable additions '1f938': {'canonical_name': 'cartwheel', 'aliases': ['acrobatics', 'gymnastics', 'tumbling']}, # seemed the best emoji for sports '26f9': {'canonical_name': 'ball', 'aliases': ['sports']}, '1f93e': {'canonical_name': 'handball', 'aliases': []}, '1f3cc': {'canonical_name': 'golf', 'aliases': []}, '1f3c4': {'canonical_name': 'surf', 'aliases': []}, '1f3ca': {'canonical_name': 'swim', 'aliases': []}, '1f93d': {'canonical_name': 'water_polo', 'aliases': []}, # rest seem like reasonable additions '1f6a3': {'canonical_name': 'rowboat', 'aliases': ['crew', 'sculling', 'rowing']}, # horse_riding seems like a reasonable addition '1f3c7': {'canonical_name': 'horse_racing', 'aliases': ['horse_riding']}, # at least in the US: this = cyclist, Activity/53 = mountain biker, and # motorcyclist = biker. Mainly from googling around and personal # experience. E.g. https://grammarist.com/usage/cyclist-biker/ for cyclist # and biker, # https://www.theguardian.com/lifeandstyle/2010/oct/24/bike-snobs-guide-cycling-tribes # for mountain biker (I've never heard the term "mountain cyclist", and # they are the only group on that page that gets "biker" instead of # "cyclist") '1f6b4': {'canonical_name': 'cyclist', 'aliases': []}, # see Activity/51 '1f6b5': {'canonical_name': 'mountain_biker', 'aliases': []}, '1f3bd': {'canonical_name': 'running_shirt', 'aliases': []}, # I feel like people call sports medals "medals", and military medals # "military medals". Also see Activity/56 '1f3c5': {'canonical_name': 'medal', 'aliases': []}, # See Activity/55. military_medal is the gemoji/unicode '1f396': {'canonical_name': 'military_medal', 'aliases': []}, # gold and number_one seem like good additions '1f947': {'canonical_name': 'first_place', 'aliases': ['gold', 'number_one']}, # to parallel Activity/57 '1f948': {'canonical_name': 'second_place', 'aliases': ['silver']}, # to parallel Activity/57 '1f949': {'canonical_name': 'third_place', 'aliases': ['bronze']}, # seemed the best emoji for winner '1f3c6': {'canonical_name': 'trophy', 'aliases': ['winner']}, '1f3f5': {'canonical_name': 'rosette', 'aliases': []}, '1f397': {'canonical_name': 'reminder_ribbon', 'aliases': []}, # don't need ticket and admission_ticket (see Activity/64), so made one of # them :pass:. '1f3ab': {'canonical_name': 'pass', 'aliases': []}, # see Activity/63 '1f39f': {'canonical_name': 'ticket', 'aliases': []}, '1f3aa': {'canonical_name': 'circus', 'aliases': []}, '1f939': {'canonical_name': 'juggling', 'aliases': []}, # rest seem like good additions '1f3ad': {'canonical_name': 'performing_arts', 'aliases': ['drama', 'theater']}, # rest seem like good additions '1f3a8': {'canonical_name': 'art', 'aliases': ['palette', 'painting']}, # action seems more useful than clapper, and clapper doesn't seem like that # common of a term '1f3ac': {'canonical_name': 'action', 'aliases': []}, # seem like good additions '1f3a4': {'canonical_name': 'microphone', 'aliases': ['mike', 'mic']}, '1f3a7': {'canonical_name': 'headphones', 'aliases': []}, '1f3bc': {'canonical_name': 'musical_score', 'aliases': []}, # piano seems more useful than musical_keyboard '1f3b9': {'canonical_name': 'piano', 'aliases': ['musical_keyboard']}, '1f941': {'canonical_name': 'drum', 'aliases': []}, '1f3b7': {'canonical_name': 'saxophone', 'aliases': []}, '1f3ba': {'canonical_name': 'trumpet', 'aliases': []}, '1f3b8': {'canonical_name': 'guitar', 'aliases': []}, '1f3bb': {'canonical_name': 'violin', 'aliases': []}, # dice seems more useful '1f3b2': {'canonical_name': 'dice', 'aliases': ['die']}, # direct_hit from gemoji/unicode, and seems more useful. bulls_eye seemed # like a reasonable addition '1f3af': {'canonical_name': 'direct_hit', 'aliases': ['darts', 'bulls_eye']}, # strike seemed more useful than bowling '1f3b3': {'canonical_name': 'strike', 'aliases': ['bowling']}, '1f3ae': {'canonical_name': 'video_game', 'aliases': []}, # gambling seemed more useful than slot_machine '1f3b0': {'canonical_name': 'slot_machine', 'aliases': []}, # the google emoji for this is not red '1f697': {'canonical_name': 'car', 'aliases': []}, # rideshare seems like a reasonable addition '1f695': {'canonical_name': 'taxi', 'aliases': ['rideshare']}, # the google emoji for this is not blue. recreational_vehicle is from # gemoji/unicode, jeep seemed like a good addition '1f699': {'canonical_name': 'recreational_vehicle', 'aliases': ['jeep']}, # school_bus seemed like a reasonable addition, even though the twitter # glyph for this doesn't really look like a school bus '1f68c': {'canonical_name': 'bus', 'aliases': ['school_bus']}, '1f68e': {'canonical_name': 'trolley', 'aliases': []}, '1f3ce': {'canonical_name': 'racecar', 'aliases': []}, '1f693': {'canonical_name': 'police_car', 'aliases': []}, '1f691': {'canonical_name': 'ambulance', 'aliases': []}, # https://trends.google.com/trends/explore?q=fire%20truck,fire%20engine '1f692': {'canonical_name': 'fire_truck', 'aliases': ['fire_engine']}, '1f690': {'canonical_name': 'minibus', 'aliases': []}, # moving_truck and truck for Places/11 and Places/12 seem much better than # the iamcal names '1f69a': {'canonical_name': 'moving_truck', 'aliases': []}, # see Places/11 for truck. Rest seem reasonable additions. '1f69b': {'canonical_name': 'truck', 'aliases': ['tractor-trailer', 'big_rig', 'semi_truck', 'transport_truck']}, # ignorelongline '1f69c': {'canonical_name': 'tractor', 'aliases': []}, # kick_scooter and scooter seem better for Places/14 and Places /16 than # scooter and motor_scooter. '1f6f4': {'canonical_name': 'kick_scooter', 'aliases': []}, '1f6b2': {'canonical_name': 'bike', 'aliases': ['bicycle']}, # see Places/14. Called motor_bike (or bike) in India '1f6f5': {'canonical_name': 'scooter', 'aliases': ['motor_bike']}, '1f3cd': {'canonical_name': 'motorcycle', 'aliases': []}, # siren seems more useful. alert seems like a reasonable addition '1f6a8': {'canonical_name': 'siren', 'aliases': ['rotating_light', 'alert']}, '1f694': {'canonical_name': 'oncoming_police_car', 'aliases': []}, '1f68d': {'canonical_name': 'oncoming_bus', 'aliases': []}, # car to parallel e.g. Places/1 '1f698': {'canonical_name': 'oncoming_car', 'aliases': ['oncoming_automobile']}, '1f696': {'canonical_name': 'oncoming_taxi', 'aliases': []}, # ski_lift seems like a good addition '1f6a1': {'canonical_name': 'aerial_tramway', 'aliases': ['ski_lift']}, # gondola seems more useful '1f6a0': {'canonical_name': 'gondola', 'aliases': ['mountain_cableway']}, '1f69f': {'canonical_name': 'suspension_railway', 'aliases': []}, # train_car seems like a reasonable addition '1f683': {'canonical_name': 'railway_car', 'aliases': ['train_car']}, # this does not seem like a good emoji for train, especially compared to # Places/33. streetcar seems like a good addition. '1f68b': {'canonical_name': 'tram', 'aliases': ['streetcar']}, '1f69e': {'canonical_name': 'mountain_railway', 'aliases': []}, # elevated_train seems like a reasonable addition '1f69d': {'canonical_name': 'monorail', 'aliases': ['elevated_train']}, # from gemoji/unicode. Also, don't thin we need two bullettrain's '1f684': {'canonical_name': 'high_speed_train', 'aliases': []}, # google, wikipedia, etc prefer bullet train to bullettrain '1f685': {'canonical_name': 'bullet_train', 'aliases': []}, '1f688': {'canonical_name': 'light_rail', 'aliases': []}, '1f682': {'canonical_name': 'train', 'aliases': ['steam_locomotive']}, # oncoming_train seems better than train2 '1f686': {'canonical_name': 'oncoming_train', 'aliases': []}, # saving metro for Symbols/108. The tunnel makes subway more appropriate # anyway. '1f687': {'canonical_name': 'subway', 'aliases': []}, # all the glyphs of oncoming vehicles have names like oncoming_*. The # alternate names are to parallel the alternates to Places/27. '1f68a': {'canonical_name': 'oncoming_tram', 'aliases': ['oncoming_streetcar', 'oncoming_trolley']}, '1f689': {'canonical_name': 'station', 'aliases': []}, '1f681': {'canonical_name': 'helicopter', 'aliases': []}, '1f6e9': {'canonical_name': 'small_airplane', 'aliases': []}, '2708': {'canonical_name': 'airplane', 'aliases': []}, # take_off seems more useful than airplane_departure. departure also seems # more useful than airplane_departure. Arguably departure should be the # primary, since arrival is probably more useful than landing in Places/42, # but going with this for now. '1f6eb': {'canonical_name': 'take_off', 'aliases': ['departure', 'airplane_departure']}, # parallel to Places/41 '1f6ec': {'canonical_name': 'landing', 'aliases': ['arrival', 'airplane_arrival']}, '1f680': {'canonical_name': 'rocket', 'aliases': []}, '1f6f0': {'canonical_name': 'satellite', 'aliases': []}, '1f4ba': {'canonical_name': 'seat', 'aliases': []}, '1f6f6': {'canonical_name': 'canoe', 'aliases': []}, '26f5': {'canonical_name': 'boat', 'aliases': ['sailboat']}, '1f6e5': {'canonical_name': 'motor_boat', 'aliases': []}, '1f6a4': {'canonical_name': 'speedboat', 'aliases': []}, # yacht and cruise seem like reasonable additions '1f6f3': {'canonical_name': 'passenger_ship', 'aliases': ['yacht', 'cruise']}, '26f4': {'canonical_name': 'ferry', 'aliases': []}, '1f6a2': {'canonical_name': 'ship', 'aliases': []}, '2693': {'canonical_name': 'anchor', 'aliases': []}, # there already is a construction in Places/82, and work_in_progress seems # like a useful thing to have. Construction_zone seems better than the # unicode construction_sign, and is there partly so this autocompletes for # construction. '1f6a7': {'canonical_name': 'work_in_progress', 'aliases': ['construction_zone']}, # alternates from https://emojipedia.org/fuel-pump/. unicode is fuel_pump, # not fuelpump '26fd': {'canonical_name': 'fuel_pump', 'aliases': ['gas_pump', 'petrol_pump']}, # not sure why iamcal removed the space '1f68f': {'canonical_name': 'bus_stop', 'aliases': []}, # https://emojipedia.org/vertical-traffic-light/ thinks this is the more # common of the two traffic lights, so putting traffic_light on this one '1f6a6': {'canonical_name': 'traffic_light', 'aliases': ['vertical_traffic_light']}, # see Places/57 '1f6a5': {'canonical_name': 'horizontal_traffic_light', 'aliases': []}, # road_trip from https://mashable.com/2015/10/23/ios-9-1-emoji-guide/ '1f5fa': {'canonical_name': 'map', 'aliases': ['world_map', 'road_trip']}, # rock_carving, statue, and tower seem more general and less culturally # specific, for Places/60, 61, and 63. '1f5ff': {'canonical_name': 'rock_carving', 'aliases': ['moyai']}, # new_york from https://emojipedia.org/statue-of-liberty/. see Places/60 # for statue '1f5fd': {'canonical_name': 'statue', 'aliases': ['new_york', 'statue_of_liberty']}, '26f2': {'canonical_name': 'fountain', 'aliases': []}, # see Places/60 '1f5fc': {'canonical_name': 'tower', 'aliases': ['tokyo_tower']}, # choosing this as the castle since castles are a way bigger thing in # europe than japan, and shiro is a pretty reasonable name for Places/65 '1f3f0': {'canonical_name': 'castle', 'aliases': []}, # see Places/64 '1f3ef': {'canonical_name': 'shiro', 'aliases': []}, '1f3df': {'canonical_name': 'stadium', 'aliases': []}, '1f3a1': {'canonical_name': 'ferris_wheel', 'aliases': []}, '1f3a2': {'canonical_name': 'roller_coaster', 'aliases': []}, # merry_go_round seems like a good addition '1f3a0': {'canonical_name': 'carousel', 'aliases': ['merry_go_round']}, # beach_umbrella seems more useful '26f1': {'canonical_name': 'beach_umbrella', 'aliases': []}, '1f3d6': {'canonical_name': 'beach', 'aliases': []}, '1f3dd': {'canonical_name': 'island', 'aliases': []}, '26f0': {'canonical_name': 'mountain', 'aliases': []}, '1f3d4': {'canonical_name': 'snowy_mountain', 'aliases': []}, # already lots of other mountains, otherwise would rename this like # Places/60 '1f5fb': {'canonical_name': 'mount_fuji', 'aliases': []}, '1f30b': {'canonical_name': 'volcano', 'aliases': []}, '1f3dc': {'canonical_name': 'desert', 'aliases': []}, # campsite from https://emojipedia.org/camping/, I think Places/79 is a # better camping '1f3d5': {'canonical_name': 'campsite', 'aliases': []}, '26fa': {'canonical_name': 'tent', 'aliases': ['camping']}, '1f6e4': {'canonical_name': 'railway_track', 'aliases': ['train_tracks']}, # road is used much more frequently at # https://trends.google.com/trends/explore?q=road,motorway '1f6e3': {'canonical_name': 'road', 'aliases': ['motorway']}, '1f3d7': {'canonical_name': 'construction', 'aliases': []}, '1f3ed': {'canonical_name': 'factory', 'aliases': []}, '1f3e0': {'canonical_name': 'house', 'aliases': []}, # suburb seems more useful '1f3e1': {'canonical_name': 'suburb', 'aliases': []}, '1f3d8': {'canonical_name': 'houses', 'aliases': []}, # condemned seemed like a good addition '1f3da': {'canonical_name': 'derelict_house', 'aliases': ['condemned']}, '1f3e2': {'canonical_name': 'office', 'aliases': []}, '1f3ec': {'canonical_name': 'department_store', 'aliases': []}, '1f3e3': {'canonical_name': 'japan_post', 'aliases': []}, '1f3e4': {'canonical_name': 'post_office', 'aliases': []}, '1f3e5': {'canonical_name': 'hospital', 'aliases': []}, '1f3e6': {'canonical_name': 'bank', 'aliases': []}, '1f3e8': {'canonical_name': 'hotel', 'aliases': []}, '1f3ea': {'canonical_name': 'convenience_store', 'aliases': []}, '1f3eb': {'canonical_name': 'school', 'aliases': []}, '1f3e9': {'canonical_name': 'love_hotel', 'aliases': []}, '1f492': {'canonical_name': 'wedding', 'aliases': []}, '1f3db': {'canonical_name': 'classical_building', 'aliases': []}, '26ea': {'canonical_name': 'church', 'aliases': []}, '1f54c': {'canonical_name': 'mosque', 'aliases': []}, '1f54d': {'canonical_name': 'synagogue', 'aliases': []}, '1f54b': {'canonical_name': 'kaaba', 'aliases': []}, '26e9': {'canonical_name': 'shinto_shrine', 'aliases': []}, '1f5fe': {'canonical_name': 'japan', 'aliases': []}, # rice_scene seems like a strange name to have. gemoji alternate is # moon_ceremony '1f391': {'canonical_name': 'moon_ceremony', 'aliases': []}, '1f3de': {'canonical_name': 'national_park', 'aliases': []}, # ocean_sunrise to parallel Places/109 '1f305': {'canonical_name': 'sunrise', 'aliases': ['ocean_sunrise']}, '1f304': {'canonical_name': 'mountain_sunrise', 'aliases': []}, # shooting_star and wish seem like way better descriptions. gemoji/unicode # is shooting_star '1f320': {'canonical_name': 'shooting_star', 'aliases': ['wish']}, '1f387': {'canonical_name': 'sparkler', 'aliases': []}, '1f386': {'canonical_name': 'fireworks', 'aliases': []}, '1f307': {'canonical_name': 'city_sunrise', 'aliases': []}, '1f306': {'canonical_name': 'sunset', 'aliases': []}, # city and skyline seem more useful than cityscape '1f3d9': {'canonical_name': 'city', 'aliases': ['skyline']}, '1f303': {'canonical_name': 'night', 'aliases': []}, # night_sky seems like a good addition '1f30c': {'canonical_name': 'milky_way', 'aliases': ['night_sky']}, '1f309': {'canonical_name': 'bridge', 'aliases': []}, '1f301': {'canonical_name': 'foggy', 'aliases': []}, '231a': {'canonical_name': 'watch', 'aliases': []}, # unicode/gemoji is mobile_phone. The rest seem like good additions '1f4f1': {'canonical_name': 'mobile_phone', 'aliases': ['smartphone', 'iphone', 'android']}, '1f4f2': {'canonical_name': 'calling', 'aliases': []}, # gemoji has laptop, even though the google emoji for this does not look # like a laptop '1f4bb': {'canonical_name': 'computer', 'aliases': ['laptop']}, '2328': {'canonical_name': 'keyboard', 'aliases': []}, '1f5a5': {'canonical_name': 'desktop_computer', 'aliases': []}, '1f5a8': {'canonical_name': 'printer', 'aliases': []}, # gemoji/unicode is computer_mouse '1f5b1': {'canonical_name': 'computer_mouse', 'aliases': []}, '1f5b2': {'canonical_name': 'trackball', 'aliases': []}, # arcade seems like a reasonable addition '1f579': {'canonical_name': 'joystick', 'aliases': ['arcade']}, # vise seems like a reasonable addition '1f5dc': {'canonical_name': 'compression', 'aliases': ['vise']}, # gold record seems more useful, idea came from # https://11points.com/11-emoji-different-meanings-think/ '1f4bd': {'canonical_name': 'gold_record', 'aliases': ['minidisc']}, '1f4be': {'canonical_name': 'floppy_disk', 'aliases': []}, '1f4bf': {'canonical_name': 'cd', 'aliases': []}, '1f4c0': {'canonical_name': 'dvd', 'aliases': []}, # videocassette from gemoji/unicode '1f4fc': {'canonical_name': 'vhs', 'aliases': ['videocassette']}, '1f4f7': {'canonical_name': 'camera', 'aliases': []}, # both of these seem more useful than camera_with_flash '1f4f8': {'canonical_name': 'taking_a_picture', 'aliases': ['say_cheese']}, # video_recorder seems like a reasonable addition '1f4f9': {'canonical_name': 'video_camera', 'aliases': ['video_recorder']}, '1f3a5': {'canonical_name': 'movie_camera', 'aliases': []}, # seems like the best emoji for movie '1f4fd': {'canonical_name': 'projector', 'aliases': ['movie']}, '1f39e': {'canonical_name': 'film', 'aliases': []}, # both of these seem more useful than telephone_receiver '1f4de': {'canonical_name': 'landline', 'aliases': ['home_phone']}, '260e': {'canonical_name': 'phone', 'aliases': ['telephone']}, '1f4df': {'canonical_name': 'pager', 'aliases': []}, '1f4e0': {'canonical_name': 'fax', 'aliases': []}, '1f4fa': {'canonical_name': 'tv', 'aliases': ['television']}, '1f4fb': {'canonical_name': 'radio', 'aliases': []}, '1f399': {'canonical_name': 'studio_microphone', 'aliases': []}, # volume seems more useful '1f39a': {'canonical_name': 'volume', 'aliases': ['level_slider']}, '1f39b': {'canonical_name': 'control_knobs', 'aliases': []}, '23f1': {'canonical_name': 'stopwatch', 'aliases': []}, '23f2': {'canonical_name': 'timer', 'aliases': []}, '23f0': {'canonical_name': 'alarm_clock', 'aliases': []}, '1f570': {'canonical_name': 'mantelpiece_clock', 'aliases': []}, # times_up and time_ticking seem more useful than the hourglass names '231b': {'canonical_name': 'times_up', 'aliases': ['hourglass_done']}, # seems like the better hourglass. Also see Objects/36 '23f3': {'canonical_name': 'time_ticking', 'aliases': ['hourglass']}, '1f4e1': {'canonical_name': 'satellite_antenna', 'aliases': []}, # seems like a reasonable addition '1f50b': {'canonical_name': 'battery', 'aliases': ['full_battery']}, '1f50c': {'canonical_name': 'electric_plug', 'aliases': []}, # light_bulb seems better and from unicode/gemoji. idea seems like a good # addition '1f4a1': {'canonical_name': 'light_bulb', 'aliases': ['bulb', 'idea']}, '1f526': {'canonical_name': 'flashlight', 'aliases': []}, '1f56f': {'canonical_name': 'candle', 'aliases': []}, # seems like a reasonable addition '1f5d1': {'canonical_name': 'wastebasket', 'aliases': ['trash_can']}, # https://www.iemoji.com/view/emoji/1173/objects/oil-drum '1f6e2': {'canonical_name': 'oil_drum', 'aliases': ['commodities']}, # losing money from https://emojipedia.org/money-with-wings/, # easy_come_easy_go seems like a reasonable addition '1f4b8': {'canonical_name': 'losing_money', 'aliases': ['easy_come_easy_go', 'money_with_wings']}, # I think the _bills, _banknotes etc versions of these are arguably more # fun to use in chat, and certainly match the glyphs better '1f4b5': {'canonical_name': 'dollar_bills', 'aliases': []}, '1f4b4': {'canonical_name': 'yen_banknotes', 'aliases': []}, '1f4b6': {'canonical_name': 'euro_banknotes', 'aliases': []}, '1f4b7': {'canonical_name': 'pound_notes', 'aliases': []}, '1f4b0': {'canonical_name': 'money', 'aliases': []}, '1f4b3': {'canonical_name': 'credit_card', 'aliases': ['debit_card']}, '1f48e': {'canonical_name': 'gem', 'aliases': ['crystal']}, # justice seems more useful '2696': {'canonical_name': 'justice', 'aliases': ['scales', 'balance']}, # fixing, at_work, and working_on_it seem like useful concepts for # workplace chat '1f527': {'canonical_name': 'fixing', 'aliases': ['wrench']}, '1f528': {'canonical_name': 'hammer', 'aliases': ['maintenance', 'handyman', 'handywoman']}, '2692': {'canonical_name': 'at_work', 'aliases': ['hammer_and_pick']}, # something that might be useful for chat.zulip.org, even '1f6e0': {'canonical_name': 'working_on_it', 'aliases': ['hammer_and_wrench', 'tools']}, '26cf': {'canonical_name': 'mine', 'aliases': ['pick']}, # screw is somewhat inappropriate, but not openly so, so leaving it in '1f529': {'canonical_name': 'nut_and_bolt', 'aliases': ['screw']}, '2699': {'canonical_name': 'gear', 'aliases': ['settings', 'mechanical', 'engineer']}, '26d3': {'canonical_name': 'chains', 'aliases': []}, '1f52b': {'canonical_name': 'gun', 'aliases': []}, '1f4a3': {'canonical_name': 'bomb', 'aliases': []}, # betrayed from https://www.iemoji.com/view/emoji/786/objects/kitchen-knife '1f52a': {'canonical_name': 'knife', 'aliases': ['hocho', 'betrayed']}, # rated_for_violence from # https://www.iemoji.com/view/emoji/1085/objects/dagger. hate (also # suggested there) seems too strong, as does just "violence". '1f5e1': {'canonical_name': 'dagger', 'aliases': ['rated_for_violence']}, '2694': {'canonical_name': 'duel', 'aliases': ['swords']}, '1f6e1': {'canonical_name': 'shield', 'aliases': []}, '1f6ac': {'canonical_name': 'smoking', 'aliases': []}, '26b0': {'canonical_name': 'coffin', 'aliases': ['burial', 'grave']}, '26b1': {'canonical_name': 'funeral_urn', 'aliases': ['cremation']}, # amphora is too obscure, I think '1f3fa': {'canonical_name': 'vase', 'aliases': ['amphora']}, '1f52e': {'canonical_name': 'crystal_ball', 'aliases': ['oracle', 'future', 'fortune_telling']}, '1f4ff': {'canonical_name': 'prayer_beads', 'aliases': []}, '1f488': {'canonical_name': 'barber', 'aliases': ['striped_pole']}, # alchemy seems more useful and less obscure '2697': {'canonical_name': 'alchemy', 'aliases': ['alembic']}, '1f52d': {'canonical_name': 'telescope', 'aliases': []}, # science seems useful to have. scientist inspired by # https://www.iemoji.com/view/emoji/787/objects/microscope '1f52c': {'canonical_name': 'science', 'aliases': ['microscope', 'scientist']}, '1f573': {'canonical_name': 'hole', 'aliases': []}, '1f48a': {'canonical_name': 'medicine', 'aliases': ['pill']}, '1f489': {'canonical_name': 'injection', 'aliases': ['syringe']}, '1f321': {'canonical_name': 'temperature', 'aliases': ['thermometer', 'warm']}, '1f6bd': {'canonical_name': 'toilet', 'aliases': []}, '1f6b0': {'canonical_name': 'potable_water', 'aliases': ['tap_water', 'drinking_water']}, '1f6bf': {'canonical_name': 'shower', 'aliases': []}, '1f6c1': {'canonical_name': 'bathtub', 'aliases': []}, '1f6c0': {'canonical_name': 'bath', 'aliases': []}, # reception and services from # https://www.iemoji.com/view/emoji/1169/objects/bellhop-bell '1f6ce': {'canonical_name': 'bellhop_bell', 'aliases': ['reception', 'services', 'ding']}, '1f511': {'canonical_name': 'key', 'aliases': []}, # encrypted from https://www.iemoji.com/view/emoji/1081/objects/old-key, # secret from https://mashable.com/2015/10/23/ios-9-1-emoji-guide/ '1f5dd': {'canonical_name': 'secret', 'aliases': ['dungeon', 'old_key', 'encrypted', 'clue', 'hint']}, '1f6aa': {'canonical_name': 'door', 'aliases': []}, '1f6cb': {'canonical_name': 'living_room', 'aliases': ['furniture', 'couch_and_lamp', 'lifestyles']}, '1f6cf': {'canonical_name': 'bed', 'aliases': ['bedroom']}, # guestrooms from iemoji, would add hotel but taken by Places/94 '1f6cc': {'canonical_name': 'in_bed', 'aliases': ['accommodations', 'guestrooms']}, '1f5bc': {'canonical_name': 'picture', 'aliases': ['framed_picture']}, '1f6cd': {'canonical_name': 'shopping_bags', 'aliases': []}, # https://trends.google.com/trends/explore?q=shopping%20cart,shopping%20trolley '1f6d2': {'canonical_name': 'shopping_cart', 'aliases': ['shopping_trolley']}, '1f381': {'canonical_name': 'gift', 'aliases': ['present']}, # seemed like the best celebration '1f388': {'canonical_name': 'balloon', 'aliases': ['celebration']}, # from gemoji/unicode '1f38f': {'canonical_name': 'carp_streamer', 'aliases': ['flags']}, '1f380': {'canonical_name': 'ribbon', 'aliases': ['decoration']}, '1f38a': {'canonical_name': 'confetti', 'aliases': ['party_ball']}, # seemed like the best congratulations '1f389': {'canonical_name': 'tada', 'aliases': ['congratulations']}, '1f38e': {'canonical_name': 'dolls', 'aliases': []}, '1f3ee': {'canonical_name': 'lantern', 'aliases': ['izakaya_lantern']}, '1f390': {'canonical_name': 'wind_chime', 'aliases': []}, '2709': {'canonical_name': 'email', 'aliases': ['envelope', 'mail']}, # seems useful for chat? '1f4e9': {'canonical_name': 'mail_sent', 'aliases': ['sealed']}, '1f4e8': {'canonical_name': 'mail_received', 'aliases': []}, '1f4e7': {'canonical_name': 'e-mail', 'aliases': []}, '1f48c': {'canonical_name': 'love_letter', 'aliases': []}, '1f4e5': {'canonical_name': 'inbox', 'aliases': []}, '1f4e4': {'canonical_name': 'outbox', 'aliases': []}, '1f4e6': {'canonical_name': 'package', 'aliases': []}, # price_tag from iemoji '1f3f7': {'canonical_name': 'label', 'aliases': ['tag', 'price_tag']}, '1f4ea': {'canonical_name': 'closed_mailbox', 'aliases': []}, '1f4eb': {'canonical_name': 'mailbox', 'aliases': []}, '1f4ec': {'canonical_name': 'unread_mail', 'aliases': []}, '1f4ed': {'canonical_name': 'inbox_zero', 'aliases': ['empty_mailbox', 'no_mail']}, '1f4ee': {'canonical_name': 'mail_dropoff', 'aliases': []}, '1f4ef': {'canonical_name': 'horn', 'aliases': []}, '1f4dc': {'canonical_name': 'scroll', 'aliases': []}, # receipt seems more useful? '1f4c3': {'canonical_name': 'receipt', 'aliases': []}, '1f4c4': {'canonical_name': 'document', 'aliases': ['paper', 'file', 'page']}, '1f4d1': {'canonical_name': 'place_holder', 'aliases': []}, '1f4ca': {'canonical_name': 'bar_chart', 'aliases': []}, # seems like the best chart '1f4c8': {'canonical_name': 'chart', 'aliases': ['upwards_trend', 'growing', 'increasing']}, '1f4c9': {'canonical_name': 'downwards_trend', 'aliases': ['shrinking', 'decreasing']}, '1f5d2': {'canonical_name': 'spiral_notepad', 'aliases': []}, # '1f5d3': {'canonical_name': 'X', 'aliases': ['spiral_calendar_pad']}, # swapped the following two largely due to the emojione glyphs '1f4c6': {'canonical_name': 'date', 'aliases': []}, '1f4c5': {'canonical_name': 'calendar', 'aliases': []}, '1f4c7': {'canonical_name': 'rolodex', 'aliases': ['card_index']}, '1f5c3': {'canonical_name': 'archive', 'aliases': []}, '1f5f3': {'canonical_name': 'ballot_box', 'aliases': []}, '1f5c4': {'canonical_name': 'file_cabinet', 'aliases': []}, '1f4cb': {'canonical_name': 'clipboard', 'aliases': []}, # don't need two file_folders, so made this organize '1f4c1': {'canonical_name': 'organize', 'aliases': ['file_folder']}, '1f4c2': {'canonical_name': 'folder', 'aliases': []}, '1f5c2': {'canonical_name': 'sort', 'aliases': []}, '1f5de': {'canonical_name': 'newspaper', 'aliases': ['swat']}, '1f4f0': {'canonical_name': 'headlines', 'aliases': []}, '1f4d3': {'canonical_name': 'notebook', 'aliases': ['composition_book']}, '1f4d4': {'canonical_name': 'decorative_notebook', 'aliases': []}, '1f4d2': {'canonical_name': 'ledger', 'aliases': ['spiral_notebook']}, # the glyphs here are the same as Objects/147-149 (with a different color), # for all but google '1f4d5': {'canonical_name': 'red_book', 'aliases': ['closed_book']}, '1f4d7': {'canonical_name': 'green_book', 'aliases': []}, '1f4d8': {'canonical_name': 'blue_book', 'aliases': []}, '1f4d9': {'canonical_name': 'orange_book', 'aliases': []}, '1f4da': {'canonical_name': 'books', 'aliases': []}, '1f4d6': {'canonical_name': 'book', 'aliases': ['open_book']}, '1f516': {'canonical_name': 'bookmark', 'aliases': []}, '1f517': {'canonical_name': 'link', 'aliases': []}, '1f4ce': {'canonical_name': 'paperclip', 'aliases': ['attachment']}, # office_supplies from https://mashable.com/2015/10/23/ios-9-1-emoji-guide/ '1f587': {'canonical_name': 'office_supplies', 'aliases': ['paperclip_chain', 'linked']}, '1f4d0': {'canonical_name': 'carpenter_square', 'aliases': ['triangular_ruler']}, '1f4cf': {'canonical_name': 'ruler', 'aliases': ['straightedge']}, '1f4cc': {'canonical_name': 'push_pin', 'aliases': ['thumb_tack']}, '1f4cd': {'canonical_name': 'pin', 'aliases': ['sewing_pin']}, '2702': {'canonical_name': 'scissors', 'aliases': []}, '1f58a': {'canonical_name': 'pen', 'aliases': ['ballpoint_pen']}, '1f58b': {'canonical_name': 'fountain_pen', 'aliases': []}, # three of the four emoji sets just have a rightwards-facing objects/162 # '2712': {'canonical_name': 'X', 'aliases': ['black_nib']}, '1f58c': {'canonical_name': 'paintbrush', 'aliases': []}, '1f58d': {'canonical_name': 'crayon', 'aliases': []}, '1f4dd': {'canonical_name': 'memo', 'aliases': ['note']}, '270f': {'canonical_name': 'pencil', 'aliases': []}, '1f50d': {'canonical_name': 'search', 'aliases': ['find', 'magnifying_glass']}, # '1f50e': {'canonical_name': 'X', 'aliases': ['mag_right']}, # https://emojipedia.org/lock-with-ink-pen/ '1f50f': {'canonical_name': 'privacy', 'aliases': ['key_signing', 'digital_security', 'protected']}, '1f510': {'canonical_name': 'secure', 'aliases': ['lock_with_key', 'safe', 'commitment', 'loyalty']}, '1f512': {'canonical_name': 'locked', 'aliases': []}, '1f513': {'canonical_name': 'unlocked', 'aliases': []}, # seems the best glyph for love and love_you '2764': {'canonical_name': 'heart', 'aliases': ['love', 'love_you']}, '1f49b': {'canonical_name': 'yellow_heart', 'aliases': ['heart_of_gold']}, '1f49a': {'canonical_name': 'green_heart', 'aliases': ['envy']}, '1f499': {'canonical_name': 'blue_heart', 'aliases': []}, '1f49c': {'canonical_name': 'purple_heart', 'aliases': ['bravery']}, '1f5a4': {'canonical_name': 'black_heart', 'aliases': []}, '1f494': {'canonical_name': 'broken_heart', 'aliases': ['heartache']}, '2763': {'canonical_name': 'heart_exclamation', 'aliases': []}, '1f495': {'canonical_name': 'two_hearts', 'aliases': []}, '1f49e': {'canonical_name': 'revolving_hearts', 'aliases': []}, '1f493': {'canonical_name': 'heartbeat', 'aliases': []}, '1f497': {'canonical_name': 'heart_pulse', 'aliases': ['growing_heart']}, '1f496': {'canonical_name': 'sparkling_heart', 'aliases': []}, '1f498': {'canonical_name': 'cupid', 'aliases': ['smitten', 'heart_arrow']}, '1f49d': {'canonical_name': 'gift_heart', 'aliases': []}, '1f49f': {'canonical_name': 'heart_box', 'aliases': []}, '262e': {'canonical_name': 'peace', 'aliases': []}, '271d': {'canonical_name': 'cross', 'aliases': ['christianity']}, '262a': {'canonical_name': 'star_and_crescent', 'aliases': ['islam']}, '1f549': {'canonical_name': 'om', 'aliases': ['hinduism']}, '2638': {'canonical_name': 'wheel_of_dharma', 'aliases': ['buddhism']}, '2721': {'canonical_name': 'star_of_david', 'aliases': ['judiasm']}, # can't find any explanation of this at all. Is an alternate star of david? # '1f52f': {'canonical_name': 'X', 'aliases': ['six_pointed_star']}, '1f54e': {'canonical_name': 'menorah', 'aliases': []}, '262f': {'canonical_name': 'yin_yang', 'aliases': []}, '2626': {'canonical_name': 'orthodox_cross', 'aliases': []}, '1f6d0': {'canonical_name': 'place_of_worship', 'aliases': []}, '26ce': {'canonical_name': 'ophiuchus', 'aliases': []}, '2648': {'canonical_name': 'aries', 'aliases': []}, '2649': {'canonical_name': 'taurus', 'aliases': []}, '264a': {'canonical_name': 'gemini', 'aliases': []}, '264b': {'canonical_name': 'cancer', 'aliases': []}, '264c': {'canonical_name': 'leo', 'aliases': []}, '264d': {'canonical_name': 'virgo', 'aliases': []}, '264e': {'canonical_name': 'libra', 'aliases': []}, '264f': {'canonical_name': 'scorpius', 'aliases': []}, '2650': {'canonical_name': 'sagittarius', 'aliases': []}, '2651': {'canonical_name': 'capricorn', 'aliases': []}, '2652': {'canonical_name': 'aquarius', 'aliases': []}, '2653': {'canonical_name': 'pisces', 'aliases': []}, '1f194': {'canonical_name': 'id', 'aliases': []}, '269b': {'canonical_name': 'atom', 'aliases': ['physics']}, # japanese symbol # '1f251': {'canonical_name': 'X', 'aliases': ['accept']}, '2622': {'canonical_name': 'radioactive', 'aliases': ['nuclear']}, '2623': {'canonical_name': 'biohazard', 'aliases': []}, '1f4f4': {'canonical_name': 'phone_off', 'aliases': []}, '1f4f3': {'canonical_name': 'vibration_mode', 'aliases': []}, # '1f236': {'canonical_name': 'X', 'aliases': ['u6709']}, # '1f21a': {'canonical_name': 'X', 'aliases': ['u7121']}, # '1f238': {'canonical_name': 'X', 'aliases': ['u7533']}, # '1f23a': {'canonical_name': 'X', 'aliases': ['u55b6']}, # '1f237': {'canonical_name': 'X', 'aliases': ['u6708']}, '2734': {'canonical_name': 'eight_pointed_star', 'aliases': []}, '1f19a': {'canonical_name': 'vs', 'aliases': []}, '1f4ae': {'canonical_name': 'white_flower', 'aliases': []}, # '1f250': {'canonical_name': 'X', 'aliases': ['ideograph_advantage']}, # japanese character # '3299': {'canonical_name': 'X', 'aliases': ['secret']}, # '3297': {'canonical_name': 'X', 'aliases': ['congratulations']}, # '1f234': {'canonical_name': 'X', 'aliases': ['u5408']}, # '1f235': {'canonical_name': 'X', 'aliases': ['u6e80']}, # '1f239': {'canonical_name': 'X', 'aliases': ['u5272']}, # '1f232': {'canonical_name': 'X', 'aliases': ['u7981']}, '1f170': {'canonical_name': 'a', 'aliases': []}, '1f171': {'canonical_name': 'b', 'aliases': []}, '1f18e': {'canonical_name': 'ab', 'aliases': []}, '1f191': {'canonical_name': 'cl', 'aliases': []}, '1f17e': {'canonical_name': 'o', 'aliases': []}, '1f198': {'canonical_name': 'sos', 'aliases': []}, # Symbols/105 seems like a better x, and looks more like the other letters '274c': {'canonical_name': 'cross_mark', 'aliases': ['incorrect', 'wrong']}, '2b55': {'canonical_name': 'circle', 'aliases': []}, '1f6d1': {'canonical_name': 'stop_sign', 'aliases': ['octagonal_sign']}, '26d4': {'canonical_name': 'no_entry', 'aliases': ['wrong_way']}, '1f4db': {'canonical_name': 'name_badge', 'aliases': []}, '1f6ab': {'canonical_name': 'prohibited', 'aliases': ['not_allowed']}, '1f4af': {'canonical_name': '100', 'aliases': ['hundred']}, '1f4a2': {'canonical_name': 'anger', 'aliases': ['bam', 'pow']}, '2668': {'canonical_name': 'hot_springs', 'aliases': []}, '1f6b7': {'canonical_name': 'no_pedestrians', 'aliases': []}, '1f6af': {'canonical_name': 'do_not_litter', 'aliases': []}, '1f6b3': {'canonical_name': 'no_bicycles', 'aliases': []}, '1f6b1': {'canonical_name': 'non-potable_water', 'aliases': []}, '1f51e': {'canonical_name': 'underage', 'aliases': ['nc17']}, '1f4f5': {'canonical_name': 'no_phones', 'aliases': []}, '1f6ad': {'canonical_name': 'no_smoking', 'aliases': []}, '2757': {'canonical_name': 'exclamation', 'aliases': []}, '2755': {'canonical_name': 'grey_exclamation', 'aliases': []}, '2753': {'canonical_name': 'question', 'aliases': []}, '2754': {'canonical_name': 'grey_question', 'aliases': []}, '203c': {'canonical_name': 'bangbang', 'aliases': ['double_exclamation']}, '2049': {'canonical_name': 'interrobang', 'aliases': []}, '1f505': {'canonical_name': 'low_brightness', 'aliases': ['dim']}, '1f506': {'canonical_name': 'brightness', 'aliases': ['high_brightness']}, '303d': {'canonical_name': 'part_alternation', 'aliases': []}, '26a0': {'canonical_name': 'warning', 'aliases': ['caution', 'danger']}, '1f6b8': {'canonical_name': 'children_crossing', 'aliases': ['school_crossing', 'drive_with_care']}, '1f531': {'canonical_name': 'trident', 'aliases': []}, '269c': {'canonical_name': 'fleur_de_lis', 'aliases': []}, '1f530': {'canonical_name': 'beginner', 'aliases': []}, '267b': {'canonical_name': 'recycle', 'aliases': []}, # seems like the best check '2705': {'canonical_name': 'check', 'aliases': ['all_good', 'approved']}, # '1f22f': {'canonical_name': 'X', 'aliases': ['u6307']}, # stock_market seemed more useful '1f4b9': {'canonical_name': 'stock_market', 'aliases': []}, '2747': {'canonical_name': 'sparkle', 'aliases': []}, '2733': {'canonical_name': 'eight_spoked_asterisk', 'aliases': []}, '274e': {'canonical_name': 'x', 'aliases': []}, '1f310': {'canonical_name': 'www', 'aliases': ['globe']}, '1f4a0': {'canonical_name': 'cute', 'aliases': ['kawaii', 'diamond_with_a_dot']}, '24c2': {'canonical_name': 'metro', 'aliases': ['m']}, '1f300': {'canonical_name': 'cyclone', 'aliases': ['hurricane', 'typhoon']}, '1f4a4': {'canonical_name': 'zzz', 'aliases': []}, '1f3e7': {'canonical_name': 'atm', 'aliases': []}, '1f6be': {'canonical_name': 'wc', 'aliases': ['water_closet']}, '267f': {'canonical_name': 'accessible', 'aliases': ['wheelchair', 'disabled']}, '1f17f': {'canonical_name': 'parking', 'aliases': ['p']}, # '1f233': {'canonical_name': 'X', 'aliases': ['u7a7a']}, # '1f202': {'canonical_name': 'X', 'aliases': ['sa']}, '1f6c2': {'canonical_name': 'passport_control', 'aliases': ['immigration']}, '1f6c3': {'canonical_name': 'customs', 'aliases': []}, '1f6c4': {'canonical_name': 'baggage_claim', 'aliases': []}, '1f6c5': {'canonical_name': 'locker', 'aliases': ['locked_bag']}, '1f6b9': {'canonical_name': 'mens', 'aliases': []}, '1f6ba': {'canonical_name': 'womens', 'aliases': []}, # seems more in line with the surrounding bathroom symbols '1f6bc': {'canonical_name': 'baby_change_station', 'aliases': ['nursery']}, '1f6bb': {'canonical_name': 'restroom', 'aliases': []}, '1f6ae': {'canonical_name': 'put_litter_in_its_place', 'aliases': []}, '1f3a6': {'canonical_name': 'cinema', 'aliases': ['movie_theater']}, '1f4f6': {'canonical_name': 'cell_reception', 'aliases': ['signal_strength', 'signal_bars']}, # '1f201': {'canonical_name': 'X', 'aliases': ['koko']}, '1f523': {'canonical_name': 'symbols', 'aliases': []}, '2139': {'canonical_name': 'info', 'aliases': []}, '1f524': {'canonical_name': 'abc', 'aliases': []}, '1f521': {'canonical_name': 'abcd', 'aliases': ['alphabet']}, '1f520': {'canonical_name': 'capital_abcd', 'aliases': ['capital_letters']}, '1f196': {'canonical_name': 'ng', 'aliases': []}, # from unicode/gemoji. Saving ok for People/111 '1f197': {'canonical_name': 'squared_ok', 'aliases': []}, # from unicode, and to parallel Symbols/135. Saving up for Symbols/171 '1f199': {'canonical_name': 'squared_up', 'aliases': []}, '1f192': {'canonical_name': 'cool', 'aliases': []}, '1f195': {'canonical_name': 'new', 'aliases': []}, '1f193': {'canonical_name': 'free', 'aliases': []}, '0030-20e3': {'canonical_name': 'zero', 'aliases': []}, '0031-20e3': {'canonical_name': 'one', 'aliases': []}, '0032-20e3': {'canonical_name': 'two', 'aliases': []}, '0033-20e3': {'canonical_name': 'three', 'aliases': []}, '0034-20e3': {'canonical_name': 'four', 'aliases': []}, '0035-20e3': {'canonical_name': 'five', 'aliases': []}, '0036-20e3': {'canonical_name': 'six', 'aliases': []}, '0037-20e3': {'canonical_name': 'seven', 'aliases': []}, '0038-20e3': {'canonical_name': 'eight', 'aliases': []}, '0039-20e3': {'canonical_name': 'nine', 'aliases': []}, '1f51f': {'canonical_name': 'ten', 'aliases': []}, '1f522': {'canonical_name': '1234', 'aliases': ['numbers']}, '0023-20e3': {'canonical_name': 'hash', 'aliases': []}, '002a-20e3': {'canonical_name': 'asterisk', 'aliases': []}, '25b6': {'canonical_name': 'play', 'aliases': []}, '23f8': {'canonical_name': 'pause', 'aliases': []}, '23ef': {'canonical_name': 'play_pause', 'aliases': []}, # stop taken by People/118 '23f9': {'canonical_name': 'stop_button', 'aliases': []}, '23fa': {'canonical_name': 'record', 'aliases': []}, '23ed': {'canonical_name': 'next_track', 'aliases': ['skip_forward']}, '23ee': {'canonical_name': 'previous_track', 'aliases': ['skip_back']}, '23e9': {'canonical_name': 'fast_forward', 'aliases': []}, '23ea': {'canonical_name': 'rewind', 'aliases': ['fast_reverse']}, '23eb': {'canonical_name': 'double_up', 'aliases': ['fast_up']}, '23ec': {'canonical_name': 'double_down', 'aliases': ['fast_down']}, '25c0': {'canonical_name': 'play_reverse', 'aliases': []}, '1f53c': {'canonical_name': 'upvote', 'aliases': ['up_button', 'increase']}, '1f53d': {'canonical_name': 'downvote', 'aliases': ['down_button', 'decrease']}, '27a1': {'canonical_name': 'right', 'aliases': ['east']}, '2b05': {'canonical_name': 'left', 'aliases': ['west']}, '2b06': {'canonical_name': 'up', 'aliases': ['north']}, '2b07': {'canonical_name': 'down', 'aliases': ['south']}, '2197': {'canonical_name': 'upper_right', 'aliases': ['north_east']}, '2198': {'canonical_name': 'lower_right', 'aliases': ['south_east']}, '2199': {'canonical_name': 'lower_left', 'aliases': ['south_west']}, '2196': {'canonical_name': 'upper_left', 'aliases': ['north_west']}, '2195': {'canonical_name': 'up_down', 'aliases': []}, '2194': {'canonical_name': 'left_right', 'aliases': ['swap']}, '21aa': {'canonical_name': 'forward', 'aliases': ['right_hook']}, '21a9': {'canonical_name': 'reply', 'aliases': ['left_hook']}, '2934': {'canonical_name': 'heading_up', 'aliases': []}, '2935': {'canonical_name': 'heading_down', 'aliases': []}, '1f500': {'canonical_name': 'shuffle', 'aliases': []}, '1f501': {'canonical_name': 'repeat', 'aliases': []}, '1f502': {'canonical_name': 'repeat_one', 'aliases': []}, '1f504': {'canonical_name': 'counterclockwise', 'aliases': ['return']}, '1f503': {'canonical_name': 'clockwise', 'aliases': []}, '1f3b5': {'canonical_name': 'music', 'aliases': []}, '1f3b6': {'canonical_name': 'musical_notes', 'aliases': []}, '2795': {'canonical_name': 'plus', 'aliases': ['add']}, '2796': {'canonical_name': 'minus', 'aliases': ['subtract']}, '2797': {'canonical_name': 'division', 'aliases': ['divide']}, '2716': {'canonical_name': 'multiplication', 'aliases': ['multiply']}, '1f4b2': {'canonical_name': 'dollars', 'aliases': []}, # There is no other exchange, so might as well generalize this '1f4b1': {'canonical_name': 'exchange', 'aliases': []}, '2122': {'canonical_name': 'tm', 'aliases': ['trademark']}, '3030': {'canonical_name': 'wavy_dash', 'aliases': []}, '27b0': {'canonical_name': 'loop', 'aliases': []}, # https://emojipedia.org/double-curly-loop/ '27bf': {'canonical_name': 'double_loop', 'aliases': ['voicemail']}, '1f51a': {'canonical_name': 'end', 'aliases': []}, '1f519': {'canonical_name': 'back', 'aliases': []}, '1f51b': {'canonical_name': 'on', 'aliases': []}, '1f51d': {'canonical_name': 'top', 'aliases': []}, '1f51c': {'canonical_name': 'soon', 'aliases': []}, '2714': {'canonical_name': 'check_mark', 'aliases': []}, '2611': {'canonical_name': 'checkbox', 'aliases': []}, '1f518': {'canonical_name': 'radio_button', 'aliases': []}, '26aa': {'canonical_name': 'white_circle', 'aliases': []}, '26ab': {'canonical_name': 'black_circle', 'aliases': []}, '1f534': {'canonical_name': 'red_circle', 'aliases': []}, '1f535': {'canonical_name': 'blue_circle', 'aliases': []}, '1f53a': {'canonical_name': 'red_triangle_up', 'aliases': []}, '1f53b': {'canonical_name': 'red_triangle_down', 'aliases': []}, '1f538': {'canonical_name': 'small_orange_diamond', 'aliases': []}, '1f539': {'canonical_name': 'small_blue_diamond', 'aliases': []}, '1f536': {'canonical_name': 'large_orange_diamond', 'aliases': []}, '1f537': {'canonical_name': 'large_blue_diamond', 'aliases': []}, '1f533': {'canonical_name': 'black_and_white_square', 'aliases': []}, '1f532': {'canonical_name': 'white_and_black_square', 'aliases': []}, '25aa': {'canonical_name': 'black_small_square', 'aliases': []}, '25ab': {'canonical_name': 'white_small_square', 'aliases': []}, '25fe': {'canonical_name': 'black_medium_small_square', 'aliases': []}, '25fd': {'canonical_name': 'white_medium_small_square', 'aliases': []}, '25fc': {'canonical_name': 'black_medium_square', 'aliases': []}, '25fb': {'canonical_name': 'white_medium_square', 'aliases': []}, '2b1b': {'canonical_name': 'black_large_square', 'aliases': []}, '2b1c': {'canonical_name': 'white_large_square', 'aliases': []}, '1f508': {'canonical_name': 'speaker', 'aliases': []}, '1f507': {'canonical_name': 'mute', 'aliases': ['no_sound']}, '1f509': {'canonical_name': 'softer', 'aliases': []}, '1f50a': {'canonical_name': 'louder', 'aliases': ['sound']}, '1f514': {'canonical_name': 'notifications', 'aliases': ['bell']}, '1f515': {'canonical_name': 'mute_notifications', 'aliases': []}, '1f4e3': {'canonical_name': 'megaphone', 'aliases': ['shout']}, '1f4e2': {'canonical_name': 'loudspeaker', 'aliases': ['bullhorn']}, '1f4ac': {'canonical_name': 'umm', 'aliases': ['speech_balloon']}, '1f5e8': {'canonical_name': 'speech_bubble', 'aliases': []}, '1f4ad': {'canonical_name': 'thought', 'aliases': ['dream']}, '1f5ef': {'canonical_name': 'anger_bubble', 'aliases': []}, '2660': {'canonical_name': 'spades', 'aliases': []}, '2663': {'canonical_name': 'clubs', 'aliases': []}, '2665': {'canonical_name': 'hearts', 'aliases': []}, '2666': {'canonical_name': 'diamonds', 'aliases': []}, '1f0cf': {'canonical_name': 'joker', 'aliases': []}, '1f3b4': {'canonical_name': 'playing_cards', 'aliases': []}, '1f004': {'canonical_name': 'mahjong', 'aliases': []}, # The only use I can think of for so many clocks is to be able to use them # to vote on times and such in emoji reactions. But a) the experience is # not that great (the images are too small), b) there are issues with # 24-hour time (used in many countries), like what is 00:30 or 01:00 # called, c) it's hard to make the compose typeahead experience great, and # d) we should have a dedicated time voting widget that takes care of # timezone and locale issues, and uses a digital representation. # '1f550': {'canonical_name': 'X', 'aliases': ['clock1']}, # '1f551': {'canonical_name': 'X', 'aliases': ['clock2']}, # '1f552': {'canonical_name': 'X', 'aliases': ['clock3']}, # '1f553': {'canonical_name': 'X', 'aliases': ['clock4']}, # '1f554': {'canonical_name': 'X', 'aliases': ['clock5']}, # '1f555': {'canonical_name': 'X', 'aliases': ['clock6']}, # '1f556': {'canonical_name': 'X', 'aliases': ['clock7']}, # seems like the best choice for time '1f557': {'canonical_name': 'time', 'aliases': ['clock']}, # '1f558': {'canonical_name': 'X', 'aliases': ['clock9']}, # '1f559': {'canonical_name': 'X', 'aliases': ['clock10']}, # '1f55a': {'canonical_name': 'X', 'aliases': ['clock11']}, # '1f55b': {'canonical_name': 'X', 'aliases': ['clock12']}, # '1f55c': {'canonical_name': 'X', 'aliases': ['clock130']}, # '1f55d': {'canonical_name': 'X', 'aliases': ['clock230']}, # '1f55e': {'canonical_name': 'X', 'aliases': ['clock330']}, # '1f55f': {'canonical_name': 'X', 'aliases': ['clock430']}, # '1f560': {'canonical_name': 'X', 'aliases': ['clock530']}, # '1f561': {'canonical_name': 'X', 'aliases': ['clock630']}, # '1f562': {'canonical_name': 'X', 'aliases': ['clock730']}, # '1f563': {'canonical_name': 'X', 'aliases': ['clock830']}, # '1f564': {'canonical_name': 'X', 'aliases': ['clock930']}, # '1f565': {'canonical_name': 'X', 'aliases': ['clock1030']}, # '1f566': {'canonical_name': 'X', 'aliases': ['clock1130']}, # '1f567': {'canonical_name': 'X', 'aliases': ['clock1230']}, '1f3f3': {'canonical_name': 'white_flag', 'aliases': ['surrender']}, '1f3f4': {'canonical_name': 'black_flag', 'aliases': []}, '1f3c1': {'canonical_name': 'checkered_flag', 'aliases': ['race', 'go', 'start']}, '1f6a9': {'canonical_name': 'triangular_flag', 'aliases': []}, # solidarity from iemoji '1f38c': {'canonical_name': 'crossed_flags', 'aliases': ['solidarity']}, } # type: Dict[str, Dict[str, Any]]