diff --git a/client/emojis_scrap_github.py b/client/emojis_scrap_github.py index 1d808e13a..9eb31a171 100755 --- a/client/emojis_scrap_github.py +++ b/client/emojis_scrap_github.py @@ -8,16 +8,32 @@ import json EMOJI_JSON_URL = 'https://raw.githubusercontent.com/github/gemoji/master/db/emoji.json' -def print_emoji(emoji_json): +def string_emoji(emoji_json): for alias in emoji_json['aliases']: - print(' {{":{0}:", "{1}"}}, // {2}'.format(alias, + return(' {{":{0}:", "{1}"}}, // {2}\n'.format(alias, + ''.join('\\x{:02x}'.format(b) for b in emoji_json['emoji'].encode('utf8')), + emoji_json['emoji'])) -''.join('\\x{:02x}'.format(b) for b in emoji_json['emoji'].encode('utf8')), - -emoji_json['emoji'])) - -print( -"""#ifndef EMOJIS_H__ +C_HEADER="""//----------------------------------------------------------------------------- +// Borrowed initially from https://github.com/github/gemoji +// Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// See LICENSE.txt for the text of the license. +//----------------------------------------------------------------------------- +// *DO NOT EDIT MANUALLY* +// Autogenerated with emojis_scrap_github.py +//----------------------------------------------------------------------------- +#ifndef EMOJIS_H__ #define EMOJIS_H__ typedef struct emoji_s { @@ -26,13 +42,18 @@ typedef struct emoji_s { } emoji_t; // emoji_t array are expected to be NULL terminated -static emoji_t EmojiTable[] = {""") +static emoji_t EmojiTable[] = { +""" -with urlopen(EMOJI_JSON_URL) as conn: - emojis_json = json.loads(conn.read().decode('utf-8')) - for emoji_json in emojis_json: - print_emoji(emoji_json) - -print(""" {NULL, NULL} +C_FOOTER=""" {NULL, NULL} }; -#endif""") +#endif +""" + +with open('src/emojis.h','w') as femoji: + with urlopen(EMOJI_JSON_URL) as conn: + emojis_json = json.loads(conn.read().decode('utf-8')) + femoji.write(C_HEADER) + for emoji_json in emojis_json: + femoji.write(string_emoji(emoji_json)) + femoji.write(C_FOOTER) diff --git a/client/src/emojis.h b/client/src/emojis.h index 5f8dde675..d6c464441 100644 --- a/client/src/emojis.h +++ b/client/src/emojis.h @@ -1,4 +1,5 @@ //----------------------------------------------------------------------------- +// Borrowed initially from https://github.com/github/gemoji // Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. // // This program is free software: you can redistribute it and/or modify @@ -13,6 +14,9 @@ // // See LICENSE.txt for the text of the license. //----------------------------------------------------------------------------- +// *DO NOT EDIT MANUALLY* +// Autogenerated with emojis_scrap_github.py +//----------------------------------------------------------------------------- #ifndef EMOJIS_H__ #define EMOJIS_H__ @@ -28,7 +32,6 @@ static emoji_t EmojiTable[] = { {":smile:", "\xf0\x9f\x98\x84"}, // ๐Ÿ˜„ {":grin:", "\xf0\x9f\x98\x81"}, // ๐Ÿ˜ {":laughing:", "\xf0\x9f\x98\x86"}, // ๐Ÿ˜† - {":satisfied:", "\xf0\x9f\x98\x86"}, // ๐Ÿ˜† {":sweat_smile:", "\xf0\x9f\x98\x85"}, // ๐Ÿ˜… {":rofl:", "\xf0\x9f\xa4\xa3"}, // ๐Ÿคฃ {":joy:", "\xf0\x9f\x98\x82"}, // ๐Ÿ˜‚ @@ -117,7 +120,6 @@ static emoji_t EmojiTable[] = { {":yawning_face:", "\xf0\x9f\xa5\xb1"}, // ๐Ÿฅฑ {":triumph:", "\xf0\x9f\x98\xa4"}, // ๐Ÿ˜ค {":rage:", "\xf0\x9f\x98\xa1"}, // ๐Ÿ˜ก - {":pout:", "\xf0\x9f\x98\xa1"}, // ๐Ÿ˜ก {":angry:", "\xf0\x9f\x98\xa0"}, // ๐Ÿ˜  {":cursing_face:", "\xf0\x9f\xa4\xac"}, // ๐Ÿคฌ {":smiling_imp:", "\xf0\x9f\x98\x88"}, // ๐Ÿ˜ˆ @@ -125,8 +127,6 @@ static emoji_t EmojiTable[] = { {":skull:", "\xf0\x9f\x92\x80"}, // ๐Ÿ’€ {":skull_and_crossbones:", "\xe2\x98\xa0\xef\xb8\x8f"}, // โ˜ ๏ธ {":hankey:", "\xf0\x9f\x92\xa9"}, // ๐Ÿ’ฉ - {":poop:", "\xf0\x9f\x92\xa9"}, // ๐Ÿ’ฉ - {":shit:", "\xf0\x9f\x92\xa9"}, // ๐Ÿ’ฉ {":clown_face:", "\xf0\x9f\xa4\xa1"}, // ๐Ÿคก {":japanese_ogre:", "\xf0\x9f\x91\xb9"}, // ๐Ÿ‘น {":japanese_goblin:", "\xf0\x9f\x91\xba"}, // ๐Ÿ‘บ @@ -172,7 +172,6 @@ static emoji_t EmojiTable[] = { {":100:", "\xf0\x9f\x92\xaf"}, // ๐Ÿ’ฏ {":anger:", "\xf0\x9f\x92\xa2"}, // ๐Ÿ’ข {":boom:", "\xf0\x9f\x92\xa5"}, // ๐Ÿ’ฅ - {":collision:", "\xf0\x9f\x92\xa5"}, // ๐Ÿ’ฅ {":dizzy:", "\xf0\x9f\x92\xab"}, // ๐Ÿ’ซ {":sweat_drops:", "\xf0\x9f\x92\xa6"}, // ๐Ÿ’ฆ {":dash:", "\xf0\x9f\x92\xa8"}, // ๐Ÿ’จ @@ -188,7 +187,6 @@ static emoji_t EmojiTable[] = { {":raised_back_of_hand:", "\xf0\x9f\xa4\x9a"}, // ๐Ÿคš {":raised_hand_with_fingers_splayed:", "\xf0\x9f\x96\x90\xef\xb8\x8f"}, // ๐Ÿ–๏ธ {":hand:", "\xe2\x9c\x8b"}, // โœ‹ - {":raised_hand:", "\xe2\x9c\x8b"}, // โœ‹ {":vulcan_salute:", "\xf0\x9f\x96\x96"}, // ๐Ÿ–– {":ok_hand:", "\xf0\x9f\x91\x8c"}, // ๐Ÿ‘Œ {":pinched_fingers:", "\xf0\x9f\xa4\x8c"}, // ๐ŸคŒ @@ -202,18 +200,12 @@ static emoji_t EmojiTable[] = { {":point_right:", "\xf0\x9f\x91\x89"}, // ๐Ÿ‘‰ {":point_up_2:", "\xf0\x9f\x91\x86"}, // ๐Ÿ‘† {":middle_finger:", "\xf0\x9f\x96\x95"}, // ๐Ÿ–• - {":fu:", "\xf0\x9f\x96\x95"}, // ๐Ÿ–• {":point_down:", "\xf0\x9f\x91\x87"}, // ๐Ÿ‘‡ {":point_up:", "\xe2\x98\x9d\xef\xb8\x8f"}, // โ˜๏ธ {":+1:", "\xf0\x9f\x91\x8d"}, // ๐Ÿ‘ - {":thumbsup:", "\xf0\x9f\x91\x8d"}, // ๐Ÿ‘ {":-1:", "\xf0\x9f\x91\x8e"}, // ๐Ÿ‘Ž - {":thumbsdown:", "\xf0\x9f\x91\x8e"}, // ๐Ÿ‘Ž {":fist_raised:", "\xe2\x9c\x8a"}, // โœŠ - {":fist:", "\xe2\x9c\x8a"}, // โœŠ {":fist_oncoming:", "\xf0\x9f\x91\x8a"}, // ๐Ÿ‘Š - {":facepunch:", "\xf0\x9f\x91\x8a"}, // ๐Ÿ‘Š - {":punch:", "\xf0\x9f\x91\x8a"}, // ๐Ÿ‘Š {":fist_left:", "\xf0\x9f\xa4\x9b"}, // ๐Ÿค› {":fist_right:", "\xf0\x9f\xa4\x9c"}, // ๐Ÿคœ {":clap:", "\xf0\x9f\x91\x8f"}, // ๐Ÿ‘ @@ -266,7 +258,6 @@ static emoji_t EmojiTable[] = { {":bald_woman:", "\xf0\x9f\x91\xa9\xe2\x80\x8d\xf0\x9f\xa6\xb2"}, // ๐Ÿ‘ฉโ€๐Ÿฆฒ {":person_bald:", "\xf0\x9f\xa7\x91\xe2\x80\x8d\xf0\x9f\xa6\xb2"}, // ๐Ÿง‘โ€๐Ÿฆฒ {":blond_haired_woman:", "\xf0\x9f\x91\xb1\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ‘ฑโ€โ™€๏ธ - {":blonde_woman:", "\xf0\x9f\x91\xb1\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ‘ฑโ€โ™€๏ธ {":blond_haired_man:", "\xf0\x9f\x91\xb1\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // ๐Ÿ‘ฑโ€โ™‚๏ธ {":older_adult:", "\xf0\x9f\xa7\x93"}, // ๐Ÿง“ {":older_man:", "\xf0\x9f\x91\xb4"}, // ๐Ÿ‘ด @@ -279,18 +270,13 @@ static emoji_t EmojiTable[] = { {":pouting_woman:", "\xf0\x9f\x99\x8e\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ™Žโ€โ™€๏ธ {":no_good:", "\xf0\x9f\x99\x85"}, // ๐Ÿ™… {":no_good_man:", "\xf0\x9f\x99\x85\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // ๐Ÿ™…โ€โ™‚๏ธ - {":ng_man:", "\xf0\x9f\x99\x85\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // ๐Ÿ™…โ€โ™‚๏ธ {":no_good_woman:", "\xf0\x9f\x99\x85\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ™…โ€โ™€๏ธ - {":ng_woman:", "\xf0\x9f\x99\x85\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ™…โ€โ™€๏ธ {":ok_person:", "\xf0\x9f\x99\x86"}, // ๐Ÿ™† {":ok_man:", "\xf0\x9f\x99\x86\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // ๐Ÿ™†โ€โ™‚๏ธ {":ok_woman:", "\xf0\x9f\x99\x86\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ™†โ€โ™€๏ธ {":tipping_hand_person:", "\xf0\x9f\x92\x81"}, // ๐Ÿ’ - {":information_desk_person:", "\xf0\x9f\x92\x81"}, // ๐Ÿ’ {":tipping_hand_man:", "\xf0\x9f\x92\x81\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // ๐Ÿ’โ€โ™‚๏ธ - {":sassy_man:", "\xf0\x9f\x92\x81\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // ๐Ÿ’โ€โ™‚๏ธ {":tipping_hand_woman:", "\xf0\x9f\x92\x81\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ’โ€โ™€๏ธ - {":sassy_woman:", "\xf0\x9f\x92\x81\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ’โ€โ™€๏ธ {":raising_hand:", "\xf0\x9f\x99\x8b"}, // ๐Ÿ™‹ {":raising_hand_man:", "\xf0\x9f\x99\x8b\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // ๐Ÿ™‹โ€โ™‚๏ธ {":raising_hand_woman:", "\xf0\x9f\x99\x8b\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ™‹โ€โ™€๏ธ @@ -355,7 +341,6 @@ static emoji_t EmojiTable[] = { {":man_firefighter:", "\xf0\x9f\x91\xa8\xe2\x80\x8d\xf0\x9f\x9a\x92"}, // ๐Ÿ‘จโ€๐Ÿš’ {":woman_firefighter:", "\xf0\x9f\x91\xa9\xe2\x80\x8d\xf0\x9f\x9a\x92"}, // ๐Ÿ‘ฉโ€๐Ÿš’ {":police_officer:", "\xf0\x9f\x91\xae"}, // ๐Ÿ‘ฎ - {":cop:", "\xf0\x9f\x91\xae"}, // ๐Ÿ‘ฎ {":policeman:", "\xf0\x9f\x91\xae\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // ๐Ÿ‘ฎโ€โ™‚๏ธ {":policewoman:", "\xf0\x9f\x91\xae\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ‘ฎโ€โ™€๏ธ {":detective:", "\xf0\x9f\x95\xb5\xef\xb8\x8f"}, // ๐Ÿ•ต๏ธ @@ -381,7 +366,6 @@ static emoji_t EmojiTable[] = { {":person_with_veil:", "\xf0\x9f\x91\xb0"}, // ๐Ÿ‘ฐ {":man_with_veil:", "\xf0\x9f\x91\xb0\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // ๐Ÿ‘ฐโ€โ™‚๏ธ {":woman_with_veil:", "\xf0\x9f\x91\xb0\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ‘ฐโ€โ™€๏ธ - {":bride_with_veil:", "\xf0\x9f\x91\xb0\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ‘ฐโ€โ™€๏ธ {":pregnant_woman:", "\xf0\x9f\xa4\xb0"}, // ๐Ÿคฐ {":breast_feeding:", "\xf0\x9f\xa4\xb1"}, // ๐Ÿคฑ {":woman_feeding_baby:", "\xf0\x9f\x91\xa9\xe2\x80\x8d\xf0\x9f\x8d\xbc"}, // ๐Ÿ‘ฉโ€๐Ÿผ @@ -443,11 +427,9 @@ static emoji_t EmojiTable[] = { {":man_in_manual_wheelchair:", "\xf0\x9f\x91\xa8\xe2\x80\x8d\xf0\x9f\xa6\xbd"}, // ๐Ÿ‘จโ€๐Ÿฆฝ {":woman_in_manual_wheelchair:", "\xf0\x9f\x91\xa9\xe2\x80\x8d\xf0\x9f\xa6\xbd"}, // ๐Ÿ‘ฉโ€๐Ÿฆฝ {":runner:", "\xf0\x9f\x8f\x83"}, // ๐Ÿƒ - {":running:", "\xf0\x9f\x8f\x83"}, // ๐Ÿƒ {":running_man:", "\xf0\x9f\x8f\x83\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // ๐Ÿƒโ€โ™‚๏ธ {":running_woman:", "\xf0\x9f\x8f\x83\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿƒโ€โ™€๏ธ {":woman_dancing:", "\xf0\x9f\x92\x83"}, // ๐Ÿ’ƒ - {":dancer:", "\xf0\x9f\x92\x83"}, // ๐Ÿ’ƒ {":man_dancing:", "\xf0\x9f\x95\xba"}, // ๐Ÿ•บ {":business_suit_levitating:", "\xf0\x9f\x95\xb4\xef\xb8\x8f"}, // ๐Ÿ•ด๏ธ {":dancers:", "\xf0\x9f\x91\xaf"}, // ๐Ÿ‘ฏ @@ -477,9 +459,7 @@ static emoji_t EmojiTable[] = { {":swimming_woman:", "\xf0\x9f\x8f\x8a\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐ŸŠโ€โ™€๏ธ {":bouncing_ball_person:", "\xe2\x9b\xb9\xef\xb8\x8f"}, // โ›น๏ธ {":bouncing_ball_man:", "\xe2\x9b\xb9\xef\xb8\x8f\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // โ›น๏ธโ€โ™‚๏ธ - {":basketball_man:", "\xe2\x9b\xb9\xef\xb8\x8f\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // โ›น๏ธโ€โ™‚๏ธ {":bouncing_ball_woman:", "\xe2\x9b\xb9\xef\xb8\x8f\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // โ›น๏ธโ€โ™€๏ธ - {":basketball_woman:", "\xe2\x9b\xb9\xef\xb8\x8f\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // โ›น๏ธโ€โ™€๏ธ {":weight_lifting:", "\xf0\x9f\x8f\x8b\xef\xb8\x8f"}, // ๐Ÿ‹๏ธ {":weight_lifting_man:", "\xf0\x9f\x8f\x8b\xef\xb8\x8f\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f"}, // ๐Ÿ‹๏ธโ€โ™‚๏ธ {":weight_lifting_woman:", "\xf0\x9f\x8f\x8b\xef\xb8\x8f\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f"}, // ๐Ÿ‹๏ธโ€โ™€๏ธ @@ -616,7 +596,6 @@ static emoji_t EmojiTable[] = { {":kangaroo:", "\xf0\x9f\xa6\x98"}, // ๐Ÿฆ˜ {":badger:", "\xf0\x9f\xa6\xa1"}, // ๐Ÿฆก {":feet:", "\xf0\x9f\x90\xbe"}, // ๐Ÿพ - {":paw_prints:", "\xf0\x9f\x90\xbe"}, // ๐Ÿพ {":turkey:", "\xf0\x9f\xa6\x83"}, // ๐Ÿฆƒ {":chicken:", "\xf0\x9f\x90\x94"}, // ๐Ÿ” {":rooster:", "\xf0\x9f\x90\x93"}, // ๐Ÿ“ @@ -647,7 +626,6 @@ static emoji_t EmojiTable[] = { {":whale:", "\xf0\x9f\x90\xb3"}, // ๐Ÿณ {":whale2:", "\xf0\x9f\x90\x8b"}, // ๐Ÿ‹ {":dolphin:", "\xf0\x9f\x90\xac"}, // ๐Ÿฌ - {":flipper:", "\xf0\x9f\x90\xac"}, // ๐Ÿฌ {":seal:", "\xf0\x9f\xa6\xad"}, // ๐Ÿฆญ {":fish:", "\xf0\x9f\x90\x9f"}, // ๐ŸŸ {":tropical_fish:", "\xf0\x9f\x90\xa0"}, // ๐Ÿ  @@ -660,7 +638,6 @@ static emoji_t EmojiTable[] = { {":bug:", "\xf0\x9f\x90\x9b"}, // ๐Ÿ› {":ant:", "\xf0\x9f\x90\x9c"}, // ๐Ÿœ {":bee:", "\xf0\x9f\x90\x9d"}, // ๐Ÿ - {":honeybee:", "\xf0\x9f\x90\x9d"}, // ๐Ÿ {":beetle:", "\xf0\x9f\xaa\xb2"}, // ๐Ÿชฒ {":lady_beetle:", "\xf0\x9f\x90\x9e"}, // ๐Ÿž {":cricket:", "\xf0\x9f\xa6\x97"}, // ๐Ÿฆ— @@ -699,8 +676,6 @@ static emoji_t EmojiTable[] = { {":melon:", "\xf0\x9f\x8d\x88"}, // ๐Ÿˆ {":watermelon:", "\xf0\x9f\x8d\x89"}, // ๐Ÿ‰ {":tangerine:", "\xf0\x9f\x8d\x8a"}, // ๐ŸŠ - {":orange:", "\xf0\x9f\x8d\x8a"}, // ๐ŸŠ - {":mandarin:", "\xf0\x9f\x8d\x8a"}, // ๐ŸŠ {":lemon:", "\xf0\x9f\x8d\x8b"}, // ๐Ÿ‹ {":banana:", "\xf0\x9f\x8d\x8c"}, // ๐ŸŒ {":pineapple:", "\xf0\x9f\x8d\x8d"}, // ๐Ÿ @@ -825,7 +800,6 @@ static emoji_t EmojiTable[] = { {":fork_and_knife:", "\xf0\x9f\x8d\xb4"}, // ๐Ÿด {":spoon:", "\xf0\x9f\xa5\x84"}, // ๐Ÿฅ„ {":hocho:", "\xf0\x9f\x94\xaa"}, // ๐Ÿ”ช - {":knife:", "\xf0\x9f\x94\xaa"}, // ๐Ÿ”ช {":amphora:", "\xf0\x9f\x8f\xba"}, // ๐Ÿบ {":earth_africa:", "\xf0\x9f\x8c\x8d"}, // ๐ŸŒ {":earth_americas:", "\xf0\x9f\x8c\x8e"}, // ๐ŸŒŽ @@ -915,7 +889,6 @@ static emoji_t EmojiTable[] = { {":taxi:", "\xf0\x9f\x9a\x95"}, // ๐Ÿš• {":oncoming_taxi:", "\xf0\x9f\x9a\x96"}, // ๐Ÿš– {":car:", "\xf0\x9f\x9a\x97"}, // ๐Ÿš— - {":red_car:", "\xf0\x9f\x9a\x97"}, // ๐Ÿš— {":oncoming_automobile:", "\xf0\x9f\x9a\x98"}, // ๐Ÿš˜ {":blue_car:", "\xf0\x9f\x9a\x99"}, // ๐Ÿš™ {":pickup_truck:", "\xf0\x9f\x9b\xbb"}, // ๐Ÿ›ป @@ -944,7 +917,6 @@ static emoji_t EmojiTable[] = { {":construction:", "\xf0\x9f\x9a\xa7"}, // ๐Ÿšง {":anchor:", "\xe2\x9a\x93"}, // โš“ {":boat:", "\xe2\x9b\xb5"}, // โ›ต - {":sailboat:", "\xe2\x9b\xb5"}, // โ›ต {":canoe:", "\xf0\x9f\x9b\xb6"}, // ๐Ÿ›ถ {":speedboat:", "\xf0\x9f\x9a\xa4"}, // ๐Ÿšค {":passenger_ship:", "\xf0\x9f\x9b\xb3\xef\xb8\x8f"}, // ๐Ÿ›ณ๏ธ @@ -1001,7 +973,6 @@ static emoji_t EmojiTable[] = { {":waxing_crescent_moon:", "\xf0\x9f\x8c\x92"}, // ๐ŸŒ’ {":first_quarter_moon:", "\xf0\x9f\x8c\x93"}, // ๐ŸŒ“ {":moon:", "\xf0\x9f\x8c\x94"}, // ๐ŸŒ” - {":waxing_gibbous_moon:", "\xf0\x9f\x8c\x94"}, // ๐ŸŒ” {":full_moon:", "\xf0\x9f\x8c\x95"}, // ๐ŸŒ• {":waning_gibbous_moon:", "\xf0\x9f\x8c\x96"}, // ๐ŸŒ– {":last_quarter_moon:", "\xf0\x9f\x8c\x97"}, // ๐ŸŒ— @@ -1136,7 +1107,6 @@ static emoji_t EmojiTable[] = { {":safety_vest:", "\xf0\x9f\xa6\xba"}, // ๐Ÿฆบ {":necktie:", "\xf0\x9f\x91\x94"}, // ๐Ÿ‘” {":shirt:", "\xf0\x9f\x91\x95"}, // ๐Ÿ‘• - {":tshirt:", "\xf0\x9f\x91\x95"}, // ๐Ÿ‘• {":jeans:", "\xf0\x9f\x91\x96"}, // ๐Ÿ‘– {":scarf:", "\xf0\x9f\xa7\xa3"}, // ๐Ÿงฃ {":gloves:", "\xf0\x9f\xa7\xa4"}, // ๐Ÿงค @@ -1157,7 +1127,6 @@ static emoji_t EmojiTable[] = { {":school_satchel:", "\xf0\x9f\x8e\x92"}, // ๐ŸŽ’ {":thong_sandal:", "\xf0\x9f\xa9\xb4"}, // ๐Ÿฉด {":mans_shoe:", "\xf0\x9f\x91\x9e"}, // ๐Ÿ‘ž - {":shoe:", "\xf0\x9f\x91\x9e"}, // ๐Ÿ‘ž {":athletic_shoe:", "\xf0\x9f\x91\x9f"}, // ๐Ÿ‘Ÿ {":hiking_boot:", "\xf0\x9f\xa5\xbe"}, // ๐Ÿฅพ {":flat_shoe:", "\xf0\x9f\xa5\xbf"}, // ๐Ÿฅฟ @@ -1206,7 +1175,6 @@ static emoji_t EmojiTable[] = { {":iphone:", "\xf0\x9f\x93\xb1"}, // ๐Ÿ“ฑ {":calling:", "\xf0\x9f\x93\xb2"}, // ๐Ÿ“ฒ {":phone:", "\xe2\x98\x8e\xef\xb8\x8f"}, // โ˜Ž๏ธ - {":telephone:", "\xe2\x98\x8e\xef\xb8\x8f"}, // โ˜Ž๏ธ {":telephone_receiver:", "\xf0\x9f\x93\x9e"}, // ๐Ÿ“ž {":pager:", "\xf0\x9f\x93\x9f"}, // ๐Ÿ“Ÿ {":fax:", "\xf0\x9f\x93\xa0"}, // ๐Ÿ“  @@ -1238,12 +1206,10 @@ static emoji_t EmojiTable[] = { {":bulb:", "\xf0\x9f\x92\xa1"}, // ๐Ÿ’ก {":flashlight:", "\xf0\x9f\x94\xa6"}, // ๐Ÿ”ฆ {":izakaya_lantern:", "\xf0\x9f\x8f\xae"}, // ๐Ÿฎ - {":lantern:", "\xf0\x9f\x8f\xae"}, // ๐Ÿฎ {":diya_lamp:", "\xf0\x9f\xaa\x94"}, // ๐Ÿช” {":notebook_with_decorative_cover:", "\xf0\x9f\x93\x94"}, // ๐Ÿ“” {":closed_book:", "\xf0\x9f\x93\x95"}, // ๐Ÿ“• {":book:", "\xf0\x9f\x93\x96"}, // ๐Ÿ“– - {":open_book:", "\xf0\x9f\x93\x96"}, // ๐Ÿ“– {":green_book:", "\xf0\x9f\x93\x97"}, // ๐Ÿ“— {":blue_book:", "\xf0\x9f\x93\x98"}, // ๐Ÿ“˜ {":orange_book:", "\xf0\x9f\x93\x99"}, // ๐Ÿ“™ @@ -1270,7 +1236,6 @@ static emoji_t EmojiTable[] = { {":chart:", "\xf0\x9f\x92\xb9"}, // ๐Ÿ’น {":envelope:", "\xe2\x9c\x89\xef\xb8\x8f"}, // โœ‰๏ธ {":email:", "\xf0\x9f\x93\xa7"}, // ๐Ÿ“ง - {":e-mail:", "\xf0\x9f\x93\xa7"}, // ๐Ÿ“ง {":incoming_envelope:", "\xf0\x9f\x93\xa8"}, // ๐Ÿ“จ {":envelope_with_arrow:", "\xf0\x9f\x93\xa9"}, // ๐Ÿ“ฉ {":outbox_tray:", "\xf0\x9f\x93\xa4"}, // ๐Ÿ“ค @@ -1289,7 +1254,6 @@ static emoji_t EmojiTable[] = { {":paintbrush:", "\xf0\x9f\x96\x8c\xef\xb8\x8f"}, // ๐Ÿ–Œ๏ธ {":crayon:", "\xf0\x9f\x96\x8d\xef\xb8\x8f"}, // ๐Ÿ–๏ธ {":memo:", "\xf0\x9f\x93\x9d"}, // ๐Ÿ“ - {":pencil:", "\xf0\x9f\x93\x9d"}, // ๐Ÿ“ {":briefcase:", "\xf0\x9f\x92\xbc"}, // ๐Ÿ’ผ {":file_folder:", "\xf0\x9f\x93\x81"}, // ๐Ÿ“ {":open_file_folder:", "\xf0\x9f\x93\x82"}, // ๐Ÿ“‚ @@ -1496,7 +1460,6 @@ static emoji_t EmojiTable[] = { {":grey_question:", "\xe2\x9d\x94"}, // โ” {":grey_exclamation:", "\xe2\x9d\x95"}, // โ• {":exclamation:", "\xe2\x9d\x97"}, // โ— - {":heavy_exclamation_mark:", "\xe2\x9d\x97"}, // โ— {":wavy_dash:", "\xe3\x80\xb0\xef\xb8\x8f"}, // ใ€ฐ๏ธ {":currency_exchange:", "\xf0\x9f\x92\xb1"}, // ๐Ÿ’ฑ {":heavy_dollar_sign:", "\xf0\x9f\x92\xb2"}, // ๐Ÿ’ฒ @@ -1689,7 +1652,6 @@ static emoji_t EmojiTable[] = { {":es:", "\xf0\x9f\x87\xaa\xf0\x9f\x87\xb8"}, // ๐Ÿ‡ช๐Ÿ‡ธ {":ethiopia:", "\xf0\x9f\x87\xaa\xf0\x9f\x87\xb9"}, // ๐Ÿ‡ช๐Ÿ‡น {":eu:", "\xf0\x9f\x87\xaa\xf0\x9f\x87\xba"}, // ๐Ÿ‡ช๐Ÿ‡บ - {":european_union:", "\xf0\x9f\x87\xaa\xf0\x9f\x87\xba"}, // ๐Ÿ‡ช๐Ÿ‡บ {":finland:", "\xf0\x9f\x87\xab\xf0\x9f\x87\xae"}, // ๐Ÿ‡ซ๐Ÿ‡ฎ {":fiji:", "\xf0\x9f\x87\xab\xf0\x9f\x87\xaf"}, // ๐Ÿ‡ซ๐Ÿ‡ฏ {":falkland_islands:", "\xf0\x9f\x87\xab\xf0\x9f\x87\xb0"}, // ๐Ÿ‡ซ๐Ÿ‡ฐ @@ -1698,7 +1660,6 @@ static emoji_t EmojiTable[] = { {":fr:", "\xf0\x9f\x87\xab\xf0\x9f\x87\xb7"}, // ๐Ÿ‡ซ๐Ÿ‡ท {":gabon:", "\xf0\x9f\x87\xac\xf0\x9f\x87\xa6"}, // ๐Ÿ‡ฌ๐Ÿ‡ฆ {":gb:", "\xf0\x9f\x87\xac\xf0\x9f\x87\xa7"}, // ๐Ÿ‡ฌ๐Ÿ‡ง - {":uk:", "\xf0\x9f\x87\xac\xf0\x9f\x87\xa7"}, // ๐Ÿ‡ฌ๐Ÿ‡ง {":grenada:", "\xf0\x9f\x87\xac\xf0\x9f\x87\xa9"}, // ๐Ÿ‡ฌ๐Ÿ‡ฉ {":georgia:", "\xf0\x9f\x87\xac\xf0\x9f\x87\xaa"}, // ๐Ÿ‡ฌ๐Ÿ‡ช {":french_guiana:", "\xf0\x9f\x87\xac\xf0\x9f\x87\xab"}, // ๐Ÿ‡ฌ๐Ÿ‡ซ