emoji update

This commit is contained in:
Philippe Teuwen
2022-01-14 21:08:14 +01:00
parent 1f0e59148d
commit 1d05eebd28
2 changed files with 41 additions and 59 deletions
+37 -16
View File
@@ -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)
+4 -43
View File
@@ -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"}, // ๐Ÿ‡ฌ๐Ÿ‡ซ