summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>2020-11-30 17:07:26 +0100
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>2020-12-02 01:29:47 +0100
commit744df8931358cf6c509782da05d066ef92544415 (patch)
treee709ac54a4d040c3674274471618ca006be95f89
parent57d0379b89bd323dacf4959b03c55519de173ec0 (diff)
WIP: List all the single-codepoint unicode emojis
-rw-r--r--lib/pleroma/web/api_spec/operations/emoji_reaction_operation.ex18
-rw-r--r--lib/pleroma/web/pleroma_api/controllers/emoji.json1369
-rw-r--r--lib/pleroma/web/pleroma_api/controllers/emoji_reaction_controller.ex19
-rw-r--r--lib/pleroma/web/router.ex1
-rw-r--r--test/pleroma/web/pleroma_api/controllers/emoji_reaction_controller_test.exs12
5 files changed, 1419 insertions, 0 deletions
diff --git a/lib/pleroma/web/api_spec/operations/emoji_reaction_operation.ex b/lib/pleroma/web/api_spec/operations/emoji_reaction_operation.ex
index 9d0e39fc7..e797eab05 100644
--- a/lib/pleroma/web/api_spec/operations/emoji_reaction_operation.ex
+++ b/lib/pleroma/web/api_spec/operations/emoji_reaction_operation.ex
@@ -77,6 +77,17 @@ defmodule Pleroma.Web.ApiSpec.EmojiReactionOperation do
}
end
+ def emoji_reactions_operation do
+ %Operation{
+ tags: ["Emoji Reactions"],
+ summary: "List emoji reactions recognized by the server",
+ operationId: "EmojiReactionController.emoji_reactions",
+ responses: %{
+ 200 => emoji_reactions_response()
+ }
+ }
+ end
+
defp array_of_reactions_response do
Operation.response("Array of Emoji Reactions", "application/json", %Schema{
type: :array,
@@ -85,6 +96,13 @@ defmodule Pleroma.Web.ApiSpec.EmojiReactionOperation do
})
end
+ defp emoji_reactions_response do
+ Operation.response("List of emojis by their names", "application/json", %Schema{
+ type: :object,
+ example: %{"cookie" => "🍪", "umbrella" => "☂"}
+ })
+ end
+
defp emoji_reaction do
%Schema{
title: "EmojiReaction",
diff --git a/lib/pleroma/web/pleroma_api/controllers/emoji.json b/lib/pleroma/web/pleroma_api/controllers/emoji.json
new file mode 100644
index 000000000..a465b210d
--- /dev/null
+++ b/lib/pleroma/web/pleroma_api/controllers/emoji.json
@@ -0,0 +1,1369 @@
+{
+ "NUMBER SIGN": "0023",
+ "ASTERISK": "002A",
+ "DIGIT ZERO": "0030",
+ "DIGIT ONE": "0031",
+ "DIGIT TWO": "0032",
+ "DIGIT THREE": "0033",
+ "DIGIT FOUR": "0034",
+ "DIGIT FIVE": "0035",
+ "DIGIT SIX": "0036",
+ "DIGIT SEVEN": "0037",
+ "DIGIT EIGHT": "0038",
+ "DIGIT NINE": "0039",
+ "COPYRIGHT SIGN": "00A9",
+ "REGISTERED SIGN": "00AE",
+ "DOUBLE EXCLAMATION MARK": "203C",
+ "EXCLAMATION QUESTION MARK": "2049",
+ "TRADE MARK SIGN": "2122",
+ "INFORMATION SOURCE": "2139",
+ "LEFT RIGHT ARROW": "2194",
+ "UP DOWN ARROW": "2195",
+ "NORTH WEST ARROW": "2196",
+ "NORTH EAST ARROW": "2197",
+ "SOUTH EAST ARROW": "2198",
+ "SOUTH WEST ARROW": "2199",
+ "LEFTWARDS ARROW WITH HOOK": "21A9",
+ "RIGHTWARDS ARROW WITH HOOK": "21AA",
+ "WATCH": "231A",
+ "HOURGLASS": "231B",
+ "KEYBOARD": "2328",
+ "EJECT SYMBOL": "23CF",
+ "BLACK RIGHT-POINTING DOUBLE TRIANGLE": "23E9",
+ "BLACK LEFT-POINTING DOUBLE TRIANGLE": "23EA",
+ "BLACK UP-POINTING DOUBLE TRIANGLE": "23EB",
+ "BLACK DOWN-POINTING DOUBLE TRIANGLE": "23EC",
+ "BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR": "23ED",
+ "BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR": "23EE",
+ "BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR": "23EF",
+ "ALARM CLOCK": "23F0",
+ "STOPWATCH": "23F1",
+ "TIMER CLOCK": "23F2",
+ "HOURGLASS WITH FLOWING SAND": "23F3",
+ "DOUBLE VERTICAL BAR": "23F8",
+ "BLACK SQUARE FOR STOP": "23F9",
+ "BLACK CIRCLE FOR RECORD": "23FA",
+ "CIRCLED LATIN CAPITAL LETTER M": "24C2",
+ "BLACK SMALL SQUARE": "25AA",
+ "WHITE SMALL SQUARE": "25AB",
+ "BLACK RIGHT-POINTING TRIANGLE": "25B6",
+ "BLACK LEFT-POINTING TRIANGLE": "25C0",
+ "WHITE MEDIUM SQUARE": "25FB",
+ "BLACK MEDIUM SQUARE": "25FC",
+ "WHITE MEDIUM SMALL SQUARE": "25FD",
+ "BLACK MEDIUM SMALL SQUARE": "25FE",
+ "BLACK SUN WITH RAYS": "2600",
+ "CLOUD": "2601",
+ "UMBRELLA": "2602",
+ "SNOWMAN": "2603",
+ "COMET": "2604",
+ "BLACK TELEPHONE": "260E",
+ "BALLOT BOX WITH CHECK": "2611",
+ "UMBRELLA WITH RAIN DROPS": "2614",
+ "HOT BEVERAGE": "2615",
+ "SHAMROCK": "2618",
+ "WHITE UP POINTING INDEX": "261D",
+ "SKULL AND CROSSBONES": "2620",
+ "RADIOACTIVE SIGN": "2622",
+ "BIOHAZARD SIGN": "2623",
+ "ORTHODOX CROSS": "2626",
+ "STAR AND CRESCENT": "262A",
+ "PEACE SYMBOL": "262E",
+ "YIN YANG": "262F",
+ "WHEEL OF DHARMA": "2638",
+ "WHITE FROWNING FACE": "2639",
+ "WHITE SMILING FACE": "263A",
+ "FEMALE SIGN": "2640",
+ "MALE SIGN": "2642",
+ "ARIES": "2648",
+ "TAURUS": "2649",
+ "GEMINI": "264A",
+ "CANCER": "264B",
+ "LEO": "264C",
+ "VIRGO": "264D",
+ "LIBRA": "264E",
+ "SCORPIUS": "264F",
+ "SAGITTARIUS": "2650",
+ "CAPRICORN": "2651",
+ "AQUARIUS": "2652",
+ "PISCES": "2653",
+ "BLACK CHESS PAWN": "265F",
+ "BLACK SPADE SUIT": "2660",
+ "BLACK CLUB SUIT": "2663",
+ "BLACK HEART SUIT": "2665",
+ "BLACK DIAMOND SUIT": "2666",
+ "HOT SPRINGS": "2668",
+ "BLACK UNIVERSAL RECYCLING SYMBOL": "267B",
+ "PERMANENT PAPER SIGN": "267E",
+ "WHEELCHAIR SYMBOL": "267F",
+ "HAMMER AND PICK": "2692",
+ "ANCHOR": "2693",
+ "CROSSED SWORDS": "2694",
+ "STAFF OF AESCULAPIUS": "2695",
+ "SCALES": "2696",
+ "ALEMBIC": "2697",
+ "GEAR": "2699",
+ "ATOM SYMBOL": "269B",
+ "FLEUR-DE-LIS": "269C",
+ "WARNING SIGN": "26A0",
+ "HIGH VOLTAGE SIGN": "26A1",
+ "MALE WITH STROKE AND MALE AND FEMALE SIGN": "26A7",
+ "MEDIUM WHITE CIRCLE": "26AA",
+ "MEDIUM BLACK CIRCLE": "26AB",
+ "COFFIN": "26B0",
+ "FUNERAL URN": "26B1",
+ "SOCCER BALL": "26BD",
+ "BASEBALL": "26BE",
+ "SNOWMAN WITHOUT SNOW": "26C4",
+ "SUN BEHIND CLOUD": "26C5",
+ "THUNDER CLOUD AND RAIN": "26C8",
+ "OPHIUCHUS": "26CE",
+ "PICK": "26CF",
+ "HELMET WITH WHITE CROSS": "26D1",
+ "CHAINS": "26D3",
+ "NO ENTRY": "26D4",
+ "SHINTO SHRINE": "26E9",
+ "CHURCH": "26EA",
+ "MOUNTAIN": "26F0",
+ "UMBRELLA ON GROUND": "26F1",
+ "FOUNTAIN": "26F2",
+ "FLAG IN HOLE": "26F3",
+ "FERRY": "26F4",
+ "SAILBOAT": "26F5",
+ "SKIER": "26F7",
+ "ICE SKATE": "26F8",
+ "PERSON WITH BALL": "26F9",
+ "TENT": "26FA",
+ "FUEL PUMP": "26FD",
+ "BLACK SCISSORS": "2702",
+ "WHITE HEAVY CHECK MARK": "2705",
+ "AIRPLANE": "2708",
+ "ENVELOPE": "2709",
+ "RAISED FIST": "270A",
+ "RAISED HAND": "270B",
+ "VICTORY HAND": "270C",
+ "WRITING HAND": "270D",
+ "PENCIL": "270F",
+ "BLACK NIB": "2712",
+ "HEAVY CHECK MARK": "2714",
+ "HEAVY MULTIPLICATION X": "2716",
+ "LATIN CROSS": "271D",
+ "STAR OF DAVID": "2721",
+ "SPARKLES": "2728",
+ "EIGHT SPOKED ASTERISK": "2733",
+ "EIGHT POINTED BLACK STAR": "2734",
+ "SNOWFLAKE": "2744",
+ "SPARKLE": "2747",
+ "CROSS MARK": "274C",
+ "NEGATIVE SQUARED CROSS MARK": "274E",
+ "BLACK QUESTION MARK ORNAMENT": "2753",
+ "WHITE QUESTION MARK ORNAMENT": "2754",
+ "WHITE EXCLAMATION MARK ORNAMENT": "2755",
+ "HEAVY EXCLAMATION MARK SYMBOL": "2757",
+ "HEAVY HEART EXCLAMATION MARK ORNAMENT": "2763",
+ "HEAVY BLACK HEART": "2764",
+ "HEAVY PLUS SIGN": "2795",
+ "HEAVY MINUS SIGN": "2796",
+ "HEAVY DIVISION SIGN": "2797",
+ "BLACK RIGHTWARDS ARROW": "27A1",
+ "CURLY LOOP": "27B0",
+ "DOUBLE CURLY LOOP": "27BF",
+ "ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS": "2934",
+ "ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS": "2935",
+ "LEFTWARDS BLACK ARROW": "2B05",
+ "UPWARDS BLACK ARROW": "2B06",
+ "DOWNWARDS BLACK ARROW": "2B07",
+ "BLACK LARGE SQUARE": "2B1B",
+ "WHITE LARGE SQUARE": "2B1C",
+ "WHITE MEDIUM STAR": "2B50",
+ "HEAVY LARGE CIRCLE": "2B55",
+ "WAVY DASH": "3030",
+ "PART ALTERNATION MARK": "303D",
+ "CIRCLED IDEOGRAPH CONGRATULATION": "3297",
+ "CIRCLED IDEOGRAPH SECRET": "3299",
+ "MAHJONG TILE RED DRAGON": "1F004",
+ "PLAYING CARD BLACK JOKER": "1F0CF",
+ "NEGATIVE SQUARED LATIN CAPITAL LETTER A": "1F170",
+ "NEGATIVE SQUARED LATIN CAPITAL LETTER B": "1F171",
+ "NEGATIVE SQUARED LATIN CAPITAL LETTER O": "1F17E",
+ "NEGATIVE SQUARED LATIN CAPITAL LETTER P": "1F17F",
+ "NEGATIVE SQUARED AB": "1F18E",
+ "SQUARED CL": "1F191",
+ "SQUARED COOL": "1F192",
+ "SQUARED FREE": "1F193",
+ "SQUARED ID": "1F194",
+ "SQUARED NEW": "1F195",
+ "SQUARED NG": "1F196",
+ "SQUARED OK": "1F197",
+ "SQUARED SOS": "1F198",
+ "SQUARED UP WITH EXCLAMATION MARK": "1F199",
+ "SQUARED VS": "1F19A",
+ "REGIONAL INDICATOR SYMBOL LETTER A": "1F1E6",
+ "REGIONAL INDICATOR SYMBOL LETTER B": "1F1E7",
+ "REGIONAL INDICATOR SYMBOL LETTER C": "1F1E8",
+ "REGIONAL INDICATOR SYMBOL LETTER D": "1F1E9",
+ "REGIONAL INDICATOR SYMBOL LETTER E": "1F1EA",
+ "REGIONAL INDICATOR SYMBOL LETTER F": "1F1EB",
+ "REGIONAL INDICATOR SYMBOL LETTER G": "1F1EC",
+ "REGIONAL INDICATOR SYMBOL LETTER H": "1F1ED",
+ "REGIONAL INDICATOR SYMBOL LETTER I": "1F1EE",
+ "REGIONAL INDICATOR SYMBOL LETTER J": "1F1EF",
+ "REGIONAL INDICATOR SYMBOL LETTER K": "1F1F0",
+ "REGIONAL INDICATOR SYMBOL LETTER L": "1F1F1",
+ "REGIONAL INDICATOR SYMBOL LETTER M": "1F1F2",
+ "REGIONAL INDICATOR SYMBOL LETTER N": "1F1F3",
+ "REGIONAL INDICATOR SYMBOL LETTER O": "1F1F4",
+ "REGIONAL INDICATOR SYMBOL LETTER P": "1F1F5",
+ "REGIONAL INDICATOR SYMBOL LETTER Q": "1F1F6",
+ "REGIONAL INDICATOR SYMBOL LETTER R": "1F1F7",
+ "REGIONAL INDICATOR SYMBOL LETTER S": "1F1F8",
+ "REGIONAL INDICATOR SYMBOL LETTER T": "1F1F9",
+ "REGIONAL INDICATOR SYMBOL LETTER U": "1F1FA",
+ "REGIONAL INDICATOR SYMBOL LETTER V": "1F1FB",
+ "REGIONAL INDICATOR SYMBOL LETTER W": "1F1FC",
+ "REGIONAL INDICATOR SYMBOL LETTER X": "1F1FD",
+ "REGIONAL INDICATOR SYMBOL LETTER Y": "1F1FE",
+ "REGIONAL INDICATOR SYMBOL LETTER Z": "1F1FF",
+ "SQUARED KATAKANA KOKO": "1F201",
+ "SQUARED KATAKANA SA": "1F202",
+ "SQUARED CJK UNIFIED IDEOGRAPH-7121": "1F21A",
+ "SQUARED CJK UNIFIED IDEOGRAPH-6307": "1F22F",
+ "SQUARED CJK UNIFIED IDEOGRAPH-7981": "1F232",
+ "SQUARED CJK UNIFIED IDEOGRAPH-7A7A": "1F233",
+ "SQUARED CJK UNIFIED IDEOGRAPH-5408": "1F234",
+ "SQUARED CJK UNIFIED IDEOGRAPH-6E80": "1F235",
+ "SQUARED CJK UNIFIED IDEOGRAPH-6709": "1F236",
+ "SQUARED CJK UNIFIED IDEOGRAPH-6708": "1F237",
+ "SQUARED CJK UNIFIED IDEOGRAPH-7533": "1F238",
+ "SQUARED CJK UNIFIED IDEOGRAPH-5272": "1F239",
+ "SQUARED CJK UNIFIED IDEOGRAPH-55B6": "1F23A",
+ "CIRCLED IDEOGRAPH ADVANTAGE": "1F250",
+ "CIRCLED IDEOGRAPH ACCEPT": "1F251",
+ "CYCLONE": "1F300",
+ "FOGGY": "1F301",
+ "CLOSED UMBRELLA": "1F302",
+ "NIGHT WITH STARS": "1F303",
+ "SUNRISE OVER MOUNTAINS": "1F304",
+ "SUNRISE": "1F305",
+ "CITYSCAPE AT DUSK": "1F306",
+ "SUNSET OVER BUILDINGS": "1F307",
+ "RAINBOW": "1F308",
+ "BRIDGE AT NIGHT": "1F309",
+ "WATER WAVE": "1F30A",
+ "VOLCANO": "1F30B",
+ "MILKY WAY": "1F30C",
+ "EARTH GLOBE EUROPE-AFRICA": "1F30D",
+ "EARTH GLOBE AMERICAS": "1F30E",
+ "EARTH GLOBE ASIA-AUSTRALIA": "1F30F",
+ "GLOBE WITH MERIDIANS": "1F310",
+ "NEW MOON SYMBOL": "1F311",
+ "WAXING CRESCENT MOON SYMBOL": "1F312",
+ "FIRST QUARTER MOON SYMBOL": "1F313",
+ "WAXING GIBBOUS MOON SYMBOL": "1F314",
+ "FULL MOON SYMBOL": "1F315",
+ "WANING GIBBOUS MOON SYMBOL": "1F316",
+ "LAST QUARTER MOON SYMBOL": "1F317",
+ "WANING CRESCENT MOON SYMBOL": "1F318",
+ "CRESCENT MOON": "1F319",
+ "NEW MOON WITH FACE": "1F31A",
+ "FIRST QUARTER MOON WITH FACE": "1F31B",
+ "LAST QUARTER MOON WITH FACE": "1F31C",
+ "FULL MOON WITH FACE": "1F31D",
+ "SUN WITH FACE": "1F31E",
+ "GLOWING STAR": "1F31F",
+ "SHOOTING STAR": "1F320",
+ "THERMOMETER": "1F321",
+ "WHITE SUN WITH SMALL CLOUD": "1F324",
+ "WHITE SUN BEHIND CLOUD": "1F325",
+ "WHITE SUN BEHIND CLOUD WITH RAIN": "1F326",
+ "CLOUD WITH RAIN": "1F327",
+ "CLOUD WITH SNOW": "1F328",
+ "CLOUD WITH LIGHTNING": "1F329",
+ "CLOUD WITH TORNADO": "1F32A",
+ "FOG": "1F32B",
+ "WIND BLOWING FACE": "1F32C",
+ "HOT DOG": "1F32D",
+ "TACO": "1F32E",
+ "BURRITO": "1F32F",
+ "CHESTNUT": "1F330",
+ "SEEDLING": "1F331",
+ "EVERGREEN TREE": "1F332",
+ "DECIDUOUS TREE": "1F333",
+ "PALM TREE": "1F334",
+ "CACTUS": "1F335",
+ "HOT PEPPER": "1F336",
+ "TULIP": "1F337",
+ "CHERRY BLOSSOM": "1F338",
+ "ROSE": "1F339",
+ "HIBISCUS": "1F33A",
+ "SUNFLOWER": "1F33B",
+ "BLOSSOM": "1F33C",
+ "EAR OF MAIZE": "1F33D",
+ "EAR OF RICE": "1F33E",
+ "HERB": "1F33F",
+ "FOUR LEAF CLOVER": "1F340",
+ "MAPLE LEAF": "1F341",
+ "FALLEN LEAF": "1F342",
+ "LEAF FLUTTERING IN WIND": "1F343",
+ "MUSHROOM": "1F344",
+ "TOMATO": "1F345",
+ "AUBERGINE": "1F346",
+ "GRAPES": "1F347",
+ "MELON": "1F348",
+ "WATERMELON": "1F349",
+ "TANGERINE": "1F34A",
+ "LEMON": "1F34B",
+ "BANANA": "1F34C",
+ "PINEAPPLE": "1F34D",
+ "RED APPLE": "1F34E",
+ "GREEN APPLE": "1F34F",
+ "PEAR": "1F350",
+ "PEACH": "1F351",
+ "CHERRIES": "1F352",
+ "STRAWBERRY": "1F353",
+ "HAMBURGER": "1F354",
+ "SLICE OF PIZZA": "1F355",
+ "MEAT ON BONE": "1F356",
+ "POULTRY LEG": "1F357",
+ "RICE CRACKER": "1F358",
+ "RICE BALL": "1F359",
+ "COOKED RICE": "1F35A",
+ "CURRY AND RICE": "1F35B",
+ "STEAMING BOWL": "1F35C",
+ "SPAGHETTI": "1F35D",
+ "BREAD": "1F35E",
+ "FRENCH FRIES": "1F35F",
+ "ROASTED SWEET POTATO": "1F360",
+ "DANGO": "1F361",
+ "ODEN": "1F362",
+ "SUSHI": "1F363",
+ "FRIED SHRIMP": "1F364",
+ "FISH CAKE WITH SWIRL DESIGN": "1F365",
+ "SOFT ICE CREAM": "1F366",
+ "SHAVED ICE": "1F367",
+ "ICE CREAM": "1F368",
+ "DOUGHNUT": "1F369",
+ "COOKIE": "1F36A",
+ "CHOCOLATE BAR": "1F36B",
+ "CANDY": "1F36C",
+ "LOLLIPOP": "1F36D",
+ "CUSTARD": "1F36E",
+ "HONEY POT": "1F36F",
+ "SHORTCAKE": "1F370",
+ "BENTO BOX": "1F371",
+ "POT OF FOOD": "1F372",
+ "COOKING": "1F373",
+ "FORK AND KNIFE": "1F374",
+ "TEACUP WITHOUT HANDLE": "1F375",
+ "SAKE BOTTLE AND CUP": "1F376",
+ "WINE GLASS": "1F377",
+ "COCKTAIL GLASS": "1F378",
+ "TROPICAL DRINK": "1F379",
+ "BEER MUG": "1F37A",
+ "CLINKING BEER MUGS": "1F37B",
+ "BABY BOTTLE": "1F37C",
+ "FORK AND KNIFE WITH PLATE": "1F37D",
+ "BOTTLE WITH POPPING CORK": "1F37E",
+ "POPCORN": "1F37F",
+ "RIBBON": "1F380",
+ "WRAPPED PRESENT": "1F381",
+ "BIRTHDAY CAKE": "1F382",
+ "JACK-O-LANTERN": "1F383",
+ "CHRISTMAS TREE": "1F384",
+ "FATHER CHRISTMAS": "1F385",
+ "FIREWORKS": "1F386",
+ "FIREWORK SPARKLER": "1F387",
+ "BALLOON": "1F388",
+ "PARTY POPPER": "1F389",
+ "CONFETTI BALL": "1F38A",
+ "TANABATA TREE": "1F38B",
+ "CROSSED FLAGS": "1F38C",
+ "PINE DECORATION": "1F38D",
+ "JAPANESE DOLLS": "1F38E",
+ "CARP STREAMER": "1F38F",
+ "WIND CHIME": "1F390",
+ "MOON VIEWING CEREMONY": "1F391",
+ "SCHOOL SATCHEL": "1F392",
+ "GRADUATION CAP": "1F393",
+ "MILITARY MEDAL": "1F396",
+ "REMINDER RIBBON": "1F397",
+ "STUDIO MICROPHONE": "1F399",
+ "LEVEL SLIDER": "1F39A",
+ "CONTROL KNOBS": "1F39B",
+ "FILM FRAMES": "1F39E",
+ "ADMISSION TICKETS": "1F39F",
+ "CAROUSEL HORSE": "1F3A0",
+ "FERRIS WHEEL": "1F3A1",
+ "ROLLER COASTER": "1F3A2",
+ "FISHING POLE AND FISH": "1F3A3",
+ "MICROPHONE": "1F3A4",
+ "MOVIE CAMERA": "1F3A5",
+ "CINEMA": "1F3A6",
+ "HEADPHONE": "1F3A7",
+ "ARTIST PALETTE": "1F3A8",
+ "TOP HAT": "1F3A9",
+ "CIRCUS TENT": "1F3AA",
+ "TICKET": "1F3AB",
+ "CLAPPER BOARD": "1F3AC",
+ "PERFORMING ARTS": "1F3AD",
+ "VIDEO GAME": "1F3AE",
+ "DIRECT HIT": "1F3AF",
+ "SLOT MACHINE": "1F3B0",
+ "BILLIARDS": "1F3B1",
+ "GAME DIE": "1F3B2",
+ "BOWLING": "1F3B3",
+ "FLOWER PLAYING CARDS": "1F3B4",
+ "MUSICAL NOTE": "1F3B5",
+ "MULTIPLE MUSICAL NOTES": "1F3B6",
+ "SAXOPHONE": "1F3B7",
+ "GUITAR": "1F3B8",
+ "MUSICAL KEYBOARD": "1F3B9",
+ "TRUMPET": "1F3BA",
+ "VIOLIN": "1F3BB",
+ "MUSICAL SCORE": "1F3BC",
+ "RUNNING SHIRT WITH SASH": "1F3BD",
+ "TENNIS RACQUET AND BALL": "1F3BE",
+ "SKI AND SKI BOOT": "1F3BF",
+ "BASKETBALL AND HOOP": "1F3C0",
+ "CHEQUERED FLAG": "1F3C1",
+ "SNOWBOARDER": "1F3C2",
+ "RUNNER": "1F3C3",
+ "SURFER": "1F3C4",
+ "SPORTS MEDAL": "1F3C5",
+ "TROPHY": "1F3C6",
+ "HORSE RACING": "1F3C7",
+ "AMERICAN FOOTBALL": "1F3C8",
+ "RUGBY FOOTBALL": "1F3C9",
+ "SWIMMER": "1F3CA",
+ "WEIGHT LIFTER": "1F3CB",
+ "GOLFER": "1F3CC",
+ "RACING MOTORCYCLE": "1F3CD",
+ "RACING CAR": "1F3CE",
+ "CRICKET BAT AND BALL": "1F3CF",
+ "VOLLEYBALL": "1F3D0",
+ "FIELD HOCKEY STICK AND BALL": "1F3D1",
+ "ICE HOCKEY STICK AND PUCK": "1F3D2",
+ "TABLE TENNIS PADDLE AND BALL": "1F3D3",
+ "SNOW CAPPED MOUNTAIN": "1F3D4",
+ "CAMPING": "1F3D5",
+ "BEACH WITH UMBRELLA": "1F3D6",
+ "BUILDING CONSTRUCTION": "1F3D7",
+ "HOUSE BUILDINGS": "1F3D8",
+ "CITYSCAPE": "1F3D9",
+ "DERELICT HOUSE BUILDING": "1F3DA",
+ "CLASSICAL BUILDING": "1F3DB",
+ "DESERT": "1F3DC",
+ "DESERT ISLAND": "1F3DD",
+ "NATIONAL PARK": "1F3DE",
+ "STADIUM": "1F3DF",
+ "HOUSE BUILDING": "1F3E0",
+ "HOUSE WITH GARDEN": "1F3E1",
+ "OFFICE BUILDING": "1F3E2",
+ "JAPANESE POST OFFICE": "1F3E3",
+ "EUROPEAN POST OFFICE": "1F3E4",
+ "HOSPITAL": "1F3E5",
+ "BANK": "1F3E6",
+ "AUTOMATED TELLER MACHINE": "1F3E7",
+ "HOTEL": "1F3E8",
+ "LOVE HOTEL": "1F3E9",
+ "CONVENIENCE STORE": "1F3EA",
+ "SCHOOL": "1F3EB",
+ "DEPARTMENT STORE": "1F3EC",
+ "FACTORY": "1F3ED",
+ "IZAKAYA LANTERN": "1F3EE",
+ "JAPANESE CASTLE": "1F3EF",
+ "EUROPEAN CASTLE": "1F3F0",
+ "WAVING WHITE FLAG": "1F3F3",
+ "WAVING BLACK FLAG": "1F3F4",
+ "ROSETTE": "1F3F5",
+ "LABEL": "1F3F7",
+ "BADMINTON RACQUET AND SHUTTLECOCK": "1F3F8",
+ "BOW AND ARROW": "1F3F9",
+ "AMPHORA": "1F3FA",
+ "EMOJI MODIFIER FITZPATRICK TYPE-1-2": "1F3FB",
+ "EMOJI MODIFIER FITZPATRICK TYPE-3": "1F3FC",
+ "EMOJI MODIFIER FITZPATRICK TYPE-4": "1F3FD",
+ "EMOJI MODIFIER FITZPATRICK TYPE-5": "1F3FE",
+ "EMOJI MODIFIER FITZPATRICK TYPE-6": "1F3FF",
+ "RAT": "1F400",
+ "MOUSE": "1F401",
+ "OX": "1F402",
+ "WATER BUFFALO": "1F403",
+ "COW": "1F404",
+ "TIGER": "1F405",
+ "LEOPARD": "1F406",
+ "RABBIT": "1F407",
+ "CAT": "1F408",
+ "DRAGON": "1F409",
+ "CROCODILE": "1F40A",
+ "WHALE": "1F40B",
+ "SNAIL": "1F40C",
+ "SNAKE": "1F40D",
+ "HORSE": "1F40E",
+ "RAM": "1F40F",
+ "GOAT": "1F410",
+ "SHEEP": "1F411",
+ "MONKEY": "1F412",
+ "ROOSTER": "1F413",
+ "CHICKEN": "1F414",
+ "DOG": "1F415",
+ "PIG": "1F416",
+ "BOAR": "1F417",
+ "ELEPHANT": "1F418",
+ "OCTOPUS": "1F419",
+ "SPIRAL SHELL": "1F41A",
+ "BUG": "1F41B",
+ "ANT": "1F41C",
+ "HONEYBEE": "1F41D",
+ "LADY BEETLE": "1F41E",
+ "FISH": "1F41F",
+ "TROPICAL FISH": "1F420",
+ "BLOWFISH": "1F421",
+ "TURTLE": "1F422",
+ "HATCHING CHICK": "1F423",
+ "BABY CHICK": "1F424",
+ "FRONT-FACING BABY CHICK": "1F425",
+ "BIRD": "1F426",
+ "PENGUIN": "1F427",
+ "KOALA": "1F428",
+ "POODLE": "1F429",
+ "DROMEDARY CAMEL": "1F42A",
+ "BACTRIAN CAMEL": "1F42B",
+ "DOLPHIN": "1F42C",
+ "MOUSE FACE": "1F42D",
+ "COW FACE": "1F42E",
+ "TIGER FACE": "1F42F",
+ "RABBIT FACE": "1F430",
+ "CAT FACE": "1F431",
+ "DRAGON FACE": "1F432",
+ "SPOUTING WHALE": "1F433",
+ "HORSE FACE": "1F434",
+ "MONKEY FACE": "1F435",
+ "DOG FACE": "1F436",
+ "PIG FACE": "1F437",
+ "FROG FACE": "1F438",
+ "HAMSTER FACE": "1F439",
+ "WOLF FACE": "1F43A",
+ "BEAR FACE": "1F43B",
+ "PANDA FACE": "1F43C",
+ "PIG NOSE": "1F43D",
+ "PAW PRINTS": "1F43E",
+ "CHIPMUNK": "1F43F",
+ "EYES": "1F440",
+ "EYE": "1F441",
+ "EAR": "1F442",
+ "NOSE": "1F443",
+ "MOUTH": "1F444",
+ "TONGUE": "1F445",
+ "WHITE UP POINTING BACKHAND INDEX": "1F446",
+ "WHITE DOWN POINTING BACKHAND INDEX": "1F447",
+ "WHITE LEFT POINTING BACKHAND INDEX": "1F448",
+ "WHITE RIGHT POINTING BACKHAND INDEX": "1F449",
+ "FISTED HAND SIGN": "1F44A",
+ "WAVING HAND SIGN": "1F44B",
+ "OK HAND SIGN": "1F44C",
+ "THUMBS UP SIGN": "1F44D",
+ "THUMBS DOWN SIGN": "1F44E",
+ "CLAPPING HANDS SIGN": "1F44F",
+ "OPEN HANDS SIGN": "1F450",
+ "CROWN": "1F451",
+ "WOMANS HAT": "1F452",
+ "EYEGLASSES": "1F453",
+ "NECKTIE": "1F454",
+ "T-SHIRT": "1F455",
+ "JEANS": "1F456",
+ "DRESS": "1F457",
+ "KIMONO": "1F458",
+ "BIKINI": "1F459",
+ "WOMANS CLOTHES": "1F45A",
+ "PURSE": "1F45B",
+ "HANDBAG": "1F45C",
+ "POUCH": "1F45D",
+ "MANS SHOE": "1F45E",
+ "ATHLETIC SHOE": "1F45F",
+ "HIGH-HEELED SHOE": "1F460",
+ "WOMANS SANDAL": "1F461",
+ "WOMANS BOOTS": "1F462",
+ "FOOTPRINTS": "1F463",
+ "BUST IN SILHOUETTE": "1F464",
+ "BUSTS IN SILHOUETTE": "1F465",
+ "BOY": "1F466",
+ "GIRL": "1F467",
+ "MAN": "1F468",
+ "WOMAN": "1F469",
+ "FAMILY": "1F46A",
+ "MAN AND WOMAN HOLDING HANDS": "1F46B",
+ "TWO MEN HOLDING HANDS": "1F46C",
+ "TWO WOMEN HOLDING HANDS": "1F46D",
+ "POLICE OFFICER": "1F46E",
+ "WOMAN WITH BUNNY EARS": "1F46F",
+ "BRIDE WITH VEIL": "1F470",
+ "PERSON WITH BLOND HAIR": "1F471",
+ "MAN WITH GUA PI MAO": "1F472",
+ "MAN WITH TURBAN": "1F473",
+ "OLDER MAN": "1F474",
+ "OLDER WOMAN": "1F475",
+ "BABY": "1F476",
+ "CONSTRUCTION WORKER": "1F477",
+ "PRINCESS": "1F478",
+ "JAPANESE OGRE": "1F479",
+ "JAPANESE GOBLIN": "1F47A",
+ "GHOST": "1F47B",
+ "BABY ANGEL": "1F47C",
+ "EXTRATERRESTRIAL ALIEN": "1F47D",
+ "ALIEN MONSTER": "1F47E",
+ "IMP": "1F47F",
+ "SKULL": "1F480",
+ "INFORMATION DESK PERSON": "1F481",
+ "GUARDSMAN": "1F482",
+ "DANCER": "1F483",
+ "LIPSTICK": "1F484",
+ "NAIL POLISH": "1F485",
+ "FACE MASSAGE": "1F486",
+ "HAIRCUT": "1F487",
+ "BARBER POLE": "1F488",
+ "SYRINGE": "1F489",
+ "PILL": "1F48A",
+ "KISS MARK": "1F48B",
+ "LOVE LETTER": "1F48C",
+ "RING": "1F48D",
+ "GEM STONE": "1F48E",
+ "KISS": "1F48F",
+ "BOUQUET": "1F490",
+ "COUPLE WITH HEART": "1F491",
+ "WEDDING": "1F492",
+ "BEATING HEART": "1F493",
+ "BROKEN HEART": "1F494",
+ "TWO HEARTS": "1F495",
+ "SPARKLING HEART": "1F496",
+ "GROWING HEART": "1F497",
+ "HEART WITH ARROW": "1F498",
+ "BLUE HEART": "1F499",
+ "GREEN HEART": "1F49A",
+ "YELLOW HEART": "1F49B",
+ "PURPLE HEART": "1F49C",
+ "HEART WITH RIBBON": "1F49D",
+ "REVOLVING HEARTS": "1F49E",
+ "HEART DECORATION": "1F49F",
+ "DIAMOND SHAPE WITH A DOT INSIDE": "1F4A0",
+ "ELECTRIC LIGHT BULB": "1F4A1",
+ "ANGER SYMBOL": "1F4A2",
+ "BOMB": "1F4A3",
+ "SLEEPING SYMBOL": "1F4A4",
+ "COLLISION SYMBOL": "1F4A5",
+ "SPLASHING SWEAT SYMBOL": "1F4A6",
+ "DROPLET": "1F4A7",
+ "DASH SYMBOL": "1F4A8",
+ "PILE OF POO": "1F4A9",
+ "FLEXED BICEPS": "1F4AA",
+ "DIZZY SYMBOL": "1F4AB",
+ "SPEECH BALLOON": "1F4AC",
+ "THOUGHT BALLOON": "1F4AD",
+ "WHITE FLOWER": "1F4AE",
+ "HUNDRED POINTS SYMBOL": "1F4AF",
+ "MONEY BAG": "1F4B0",
+ "CURRENCY EXCHANGE": "1F4B1",
+ "HEAVY DOLLAR SIGN": "1F4B2",
+ "CREDIT CARD": "1F4B3",
+ "BANKNOTE WITH YEN SIGN": "1F4B4",
+ "BANKNOTE WITH DOLLAR SIGN": "1F4B5",
+ "BANKNOTE WITH EURO SIGN": "1F4B6",
+ "BANKNOTE WITH POUND SIGN": "1F4B7",
+ "MONEY WITH WINGS": "1F4B8",
+ "CHART WITH UPWARDS TREND AND YEN SIGN": "1F4B9",
+ "SEAT": "1F4BA",
+ "PERSONAL COMPUTER": "1F4BB",
+ "BRIEFCASE": "1F4BC",
+ "MINIDISC": "1F4BD",
+ "FLOPPY DISK": "1F4BE",
+ "OPTICAL DISC": "1F4BF",
+ "DVD": "1F4C0",
+ "FILE FOLDER": "1F4C1",
+ "OPEN FILE FOLDER": "1F4C2",
+ "PAGE WITH CURL": "1F4C3",
+ "PAGE FACING UP": "1F4C4",
+ "CALENDAR": "1F4C5",
+ "TEAR-OFF CALENDAR": "1F4C6",
+ "CARD INDEX": "1F4C7",
+ "CHART WITH UPWARDS TREND": "1F4C8",
+ "CHART WITH DOWNWARDS TREND": "1F4C9",
+ "BAR CHART": "1F4CA",
+ "CLIPBOARD": "1F4CB",
+ "PUSHPIN": "1F4CC",
+ "ROUND PUSHPIN": "1F4CD",
+ "PAPERCLIP": "1F4CE",
+ "STRAIGHT RULER": "1F4CF",
+ "TRIANGULAR RULER": "1F4D0",
+ "BOOKMARK TABS": "1F4D1",
+ "LEDGER": "1F4D2",
+ "NOTEBOOK": "1F4D3",
+ "NOTEBOOK WITH DECORATIVE COVER": "1F4D4",
+ "CLOSED BOOK": "1F4D5",
+ "OPEN BOOK": "1F4D6",
+ "GREEN BOOK": "1F4D7",
+ "BLUE BOOK": "1F4D8",
+ "ORANGE BOOK": "1F4D9",
+ "BOOKS": "1F4DA",
+ "NAME BADGE": "1F4DB",
+ "SCROLL": "1F4DC",
+ "MEMO": "1F4DD",
+ "TELEPHONE RECEIVER": "1F4DE",
+ "PAGER": "1F4DF",
+ "FAX MACHINE": "1F4E0",
+ "SATELLITE ANTENNA": "1F4E1",
+ "PUBLIC ADDRESS LOUDSPEAKER": "1F4E2",
+ "CHEERING MEGAPHONE": "1F4E3",
+ "OUTBOX TRAY": "1F4E4",
+ "INBOX TRAY": "1F4E5",
+ "PACKAGE": "1F4E6",
+ "E-MAIL SYMBOL": "1F4E7",
+ "INCOMING ENVELOPE": "1F4E8",
+ "ENVELOPE WITH DOWNWARDS ARROW ABOVE": "1F4E9",
+ "CLOSED MAILBOX WITH LOWERED FLAG": "1F4EA",
+ "CLOSED MAILBOX WITH RAISED FLAG": "1F4EB",
+ "OPEN MAILBOX WITH RAISED FLAG": "1F4EC",
+ "OPEN MAILBOX WITH LOWERED FLAG": "1F4ED",
+ "POSTBOX": "1F4EE",
+ "POSTAL HORN": "1F4EF",
+ "NEWSPAPER": "1F4F0",
+ "MOBILE PHONE": "1F4F1",
+ "MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT": "1F4F2",
+ "VIBRATION MODE": "1F4F3",
+ "MOBILE PHONE OFF": "1F4F4",
+ "NO MOBILE PHONES": "1F4F5",
+ "ANTENNA WITH BARS": "1F4F6",
+ "CAMERA": "1F4F7",
+ "CAMERA WITH FLASH": "1F4F8",
+ "VIDEO CAMERA": "1F4F9",
+ "TELEVISION": "1F4FA",
+ "RADIO": "1F4FB",
+ "VIDEOCASSETTE": "1F4FC",
+ "FILM PROJECTOR": "1F4FD",
+ "PRAYER BEADS": "1F4FF",
+ "TWISTED RIGHTWARDS ARROWS": "1F500",
+ "CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS": "1F501",
+ "CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY": "1F502",
+ "CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS": "1F503",
+ "ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS": "1F504",
+ "LOW BRIGHTNESS SYMBOL": "1F505",
+ "HIGH BRIGHTNESS SYMBOL": "1F506",
+ "SPEAKER WITH CANCELLATION STROKE": "1F507",
+ "SPEAKER": "1F508",
+ "SPEAKER WITH ONE SOUND WAVE": "1F509",
+ "SPEAKER WITH THREE SOUND WAVES": "1F50A",
+ "BATTERY": "1F50B",
+ "ELECTRIC PLUG": "1F50C",
+ "LEFT-POINTING MAGNIFYING GLASS": "1F50D",
+ "RIGHT-POINTING MAGNIFYING GLASS": "1F50E",
+ "LOCK WITH INK PEN": "1F50F",
+ "CLOSED LOCK WITH KEY": "1F510",
+ "KEY": "1F511",
+ "LOCK": "1F512",
+ "OPEN LOCK": "1F513",
+ "BELL": "1F514",
+ "BELL WITH CANCELLATION STROKE": "1F515",
+ "BOOKMARK": "1F516",
+ "LINK SYMBOL": "1F517",
+ "RADIO BUTTON": "1F518",
+ "BACK WITH LEFTWARDS ARROW ABOVE": "1F519",
+ "END WITH LEFTWARDS ARROW ABOVE": "1F51A",
+ "ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE": "1F51B",
+ "SOON WITH RIGHTWARDS ARROW ABOVE": "1F51C",
+ "TOP WITH UPWARDS ARROW ABOVE": "1F51D",
+ "NO ONE UNDER EIGHTEEN SYMBOL": "1F51E",
+ "KEYCAP TEN": "1F51F",
+ "INPUT SYMBOL FOR LATIN CAPITAL LETTERS": "1F520",
+ "INPUT SYMBOL FOR LATIN SMALL LETTERS": "1F521",
+ "INPUT SYMBOL FOR NUMBERS": "1F522",
+ "INPUT SYMBOL FOR SYMBOLS": "1F523",
+ "INPUT SYMBOL FOR LATIN LETTERS": "1F524",
+ "FIRE": "1F525",
+ "ELECTRIC TORCH": "1F526",
+ "WRENCH": "1F527",
+ "HAMMER": "1F528",
+ "NUT AND BOLT": "1F529",
+ "HOCHO": "1F52A",
+ "PISTOL": "1F52B",
+ "MICROSCOPE": "1F52C",
+ "TELESCOPE": "1F52D",
+ "CRYSTAL BALL": "1F52E",
+ "SIX POINTED STAR WITH MIDDLE DOT": "1F52F",
+ "JAPANESE SYMBOL FOR BEGINNER": "1F530",
+ "TRIDENT EMBLEM": "1F531",
+ "BLACK SQUARE BUTTON": "1F532",
+ "WHITE SQUARE BUTTON": "1F533",
+ "LARGE RED CIRCLE": "1F534",
+ "LARGE BLUE CIRCLE": "1F535",
+ "LARGE ORANGE DIAMOND": "1F536",
+ "LARGE BLUE DIAMOND": "1F537",
+ "SMALL ORANGE DIAMOND": "1F538",
+ "SMALL BLUE DIAMOND": "1F539",
+ "UP-POINTING RED TRIANGLE": "1F53A",
+ "DOWN-POINTING RED TRIANGLE": "1F53B",
+ "UP-POINTING SMALL RED TRIANGLE": "1F53C",
+ "DOWN-POINTING SMALL RED TRIANGLE": "1F53D",
+ "OM SYMBOL": "1F549",
+ "DOVE OF PEACE": "1F54A",
+ "KAABA": "1F54B",
+ "MOSQUE": "1F54C",
+ "SYNAGOGUE": "1F54D",
+ "MENORAH WITH NINE BRANCHES": "1F54E",
+ "CLOCK FACE ONE OCLOCK": "1F550",
+ "CLOCK FACE TWO OCLOCK": "1F551",
+ "CLOCK FACE THREE OCLOCK": "1F552",
+ "CLOCK FACE FOUR OCLOCK": "1F553",
+ "CLOCK FACE FIVE OCLOCK": "1F554",
+ "CLOCK FACE SIX OCLOCK": "1F555",
+ "CLOCK FACE SEVEN OCLOCK": "1F556",
+ "CLOCK FACE EIGHT OCLOCK": "1F557",
+ "CLOCK FACE NINE OCLOCK": "1F558",
+ "CLOCK FACE TEN OCLOCK": "1F559",
+ "CLOCK FACE ELEVEN OCLOCK": "1F55A",
+ "CLOCK FACE TWELVE OCLOCK": "1F55B",
+ "CLOCK FACE ONE-THIRTY": "1F55C",
+ "CLOCK FACE TWO-THIRTY": "1F55D",
+ "CLOCK FACE THREE-THIRTY": "1F55E",
+ "CLOCK FACE FOUR-THIRTY": "1F55F",
+ "CLOCK FACE FIVE-THIRTY": "1F560",
+ "CLOCK FACE SIX-THIRTY": "1F561",
+ "CLOCK FACE SEVEN-THIRTY": "1F562",
+ "CLOCK FACE EIGHT-THIRTY": "1F563",
+ "CLOCK FACE NINE-THIRTY": "1F564",
+ "CLOCK FACE TEN-THIRTY": "1F565",
+ "CLOCK FACE ELEVEN-THIRTY": "1F566",
+ "CLOCK FACE TWELVE-THIRTY": "1F567",
+ "CANDLE": "1F56F",
+ "MANTELPIECE CLOCK": "1F570",
+ "HOLE": "1F573",
+ "MAN IN BUSINESS SUIT LEVITATING": "1F574",
+ "SLEUTH OR SPY": "1F575",
+ "DARK SUNGLASSES": "1F576",
+ "SPIDER": "1F577",
+ "SPIDER WEB": "1F578",
+ "JOYSTICK": "1F579",
+ "MAN DANCING": "1F57A",
+ "LINKED PAPERCLIPS": "1F587",
+ "LOWER LEFT BALLPOINT PEN": "1F58A",
+ "LOWER LEFT FOUNTAIN PEN": "1F58B",
+ "LOWER LEFT PAINTBRUSH": "1F58C",
+ "LOWER LEFT CRAYON": "1F58D",
+ "RAISED HAND WITH FINGERS SPLAYED": "1F590",
+ "REVERSED HAND WITH MIDDLE FINGER EXTENDED": "1F595",
+ "RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS": "1F596",
+ "BLACK HEART": "1F5A4",
+ "DESKTOP COMPUTER": "1F5A5",
+ "PRINTER": "1F5A8",
+ "THREE BUTTON MOUSE": "1F5B1",
+ "TRACKBALL": "1F5B2",
+ "FRAME WITH PICTURE": "1F5BC",
+ "CARD INDEX DIVIDERS": "1F5C2",
+ "CARD FILE BOX": "1F5C3",
+ "FILE CABINET": "1F5C4",
+ "WASTEBASKET": "1F5D1",
+ "SPIRAL NOTE PAD": "1F5D2",
+ "SPIRAL CALENDAR PAD": "1F5D3",
+ "COMPRESSION": "1F5DC",
+ "OLD KEY": "1F5DD",
+ "ROLLED-UP NEWSPAPER": "1F5DE",
+ "DAGGER KNIFE": "1F5E1",
+ "SPEAKING HEAD IN SILHOUETTE": "1F5E3",
+ "LEFT SPEECH BUBBLE": "1F5E8",
+ "RIGHT ANGER BUBBLE": "1F5EF",
+ "BALLOT BOX WITH BALLOT": "1F5F3",
+ "WORLD MAP": "1F5FA",
+ "MOUNT FUJI": "1F5FB",
+ "TOKYO TOWER": "1F5FC",
+ "STATUE OF LIBERTY": "1F5FD",
+ "SILHOUETTE OF JAPAN": "1F5FE",
+ "MOYAI": "1F5FF",
+ "GRINNING FACE": "1F600",
+ "GRINNING FACE WITH SMILING EYES": "1F601",
+ "FACE WITH TEARS OF JOY": "1F602",
+ "SMILING FACE WITH OPEN MOUTH": "1F603",
+ "SMILING FACE WITH OPEN MOUTH AND SMILING EYES": "1F604",
+ "SMILING FACE WITH OPEN MOUTH AND COLD SWEAT": "1F605",
+ "SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES": "1F606",
+ "SMILING FACE WITH HALO": "1F607",
+ "SMILING FACE WITH HORNS": "1F608",
+ "WINKING FACE": "1F609",
+ "SMILING FACE WITH SMILING EYES": "1F60A",
+ "FACE SAVOURING DELICIOUS FOOD": "1F60B",
+ "RELIEVED FACE": "1F60C",
+ "SMILING FACE WITH HEART-SHAPED EYES": "1F60D",
+ "SMILING FACE WITH SUNGLASSES": "1F60E",
+ "SMIRKING FACE": "1F60F",
+ "NEUTRAL FACE": "1F610",
+ "EXPRESSIONLESS FACE": "1F611",
+ "UNAMUSED FACE": "1F612",
+ "FACE WITH COLD SWEAT": "1F613",
+ "PENSIVE FACE": "1F614",
+ "CONFUSED FACE": "1F615",
+ "CONFOUNDED FACE": "1F616",
+ "KISSING FACE": "1F617",
+ "FACE THROWING A KISS": "1F618",
+ "KISSING FACE WITH SMILING EYES": "1F619",
+ "KISSING FACE WITH CLOSED EYES": "1F61A",
+ "FACE WITH STUCK-OUT TONGUE": "1F61B",
+ "FACE WITH STUCK-OUT TONGUE AND WINKING EYE": "1F61C",
+ "FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES": "1F61D",
+ "DISAPPOINTED FACE": "1F61E",
+ "WORRIED FACE": "1F61F",
+ "ANGRY FACE": "1F620",
+ "POUTING FACE": "1F621",
+ "CRYING FACE": "1F622",
+ "PERSEVERING FACE": "1F623",
+ "FACE WITH LOOK OF TRIUMPH": "1F624",
+ "DISAPPOINTED BUT RELIEVED FACE": "1F625",
+ "FROWNING FACE WITH OPEN MOUTH": "1F626",
+ "ANGUISHED FACE": "1F627",
+ "FEARFUL FACE": "1F628",
+ "WEARY FACE": "1F629",
+ "SLEEPY FACE": "1F62A",
+ "TIRED FACE": "1F62B",
+ "GRIMACING FACE": "1F62C",
+ "LOUDLY CRYING FACE": "1F62D",
+ "FACE WITH OPEN MOUTH": "1F62E",
+ "HUSHED FACE": "1F62F",
+ "FACE WITH OPEN MOUTH AND COLD SWEAT": "1F630",
+ "FACE SCREAMING IN FEAR": "1F631",
+ "ASTONISHED FACE": "1F632",
+ "FLUSHED FACE": "1F633",
+ "SLEEPING FACE": "1F634",
+ "DIZZY FACE": "1F635",
+ "FACE WITHOUT MOUTH": "1F636",
+ "FACE WITH MEDICAL MASK": "1F637",
+ "GRINNING CAT FACE WITH SMILING EYES": "1F638",
+ "CAT FACE WITH TEARS OF JOY": "1F639",
+ "SMILING CAT FACE WITH OPEN MOUTH": "1F63A",
+ "SMILING CAT FACE WITH HEART-SHAPED EYES": "1F63B",
+ "CAT FACE WITH WRY SMILE": "1F63C",
+ "KISSING CAT FACE WITH CLOSED EYES": "1F63D",
+ "POUTING CAT FACE": "1F63E",
+ "CRYING CAT FACE": "1F63F",
+ "WEARY CAT FACE": "1F640",
+ "SLIGHTLY FROWNING FACE": "1F641",
+ "SLIGHTLY SMILING FACE": "1F642",
+ "UPSIDE-DOWN FACE": "1F643",
+ "FACE WITH ROLLING EYES": "1F644",
+ "FACE WITH NO GOOD GESTURE": "1F645",
+ "FACE WITH OK GESTURE": "1F646",
+ "PERSON BOWING DEEPLY": "1F647",
+ "SEE-NO-EVIL MONKEY": "1F648",
+ "HEAR-NO-EVIL MONKEY": "1F649",
+ "SPEAK-NO-EVIL MONKEY": "1F64A",
+ "HAPPY PERSON RAISING ONE HAND": "1F64B",
+ "PERSON RAISING BOTH HANDS IN CELEBRATION": "1F64C",
+ "PERSON FROWNING": "1F64D",
+ "PERSON WITH POUTING FACE": "1F64E",
+ "PERSON WITH FOLDED HANDS": "1F64F",
+ "ROCKET": "1F680",
+ "HELICOPTER": "1F681",
+ "STEAM LOCOMOTIVE": "1F682",
+ "RAILWAY CAR": "1F683",
+ "HIGH-SPEED TRAIN": "1F684",
+ "HIGH-SPEED TRAIN WITH BULLET NOSE": "1F685",
+ "TRAIN": "1F686",
+ "METRO": "1F687",
+ "LIGHT RAIL": "1F688",
+ "STATION": "1F689",
+ "TRAM": "1F68A",
+ "TRAM CAR": "1F68B",
+ "BUS": "1F68C",
+ "ONCOMING BUS": "1F68D",
+ "TROLLEYBUS": "1F68E",
+ "BUS STOP": "1F68F",
+ "MINIBUS": "1F690",
+ "AMBULANCE": "1F691",
+ "FIRE ENGINE": "1F692",
+ "POLICE CAR": "1F693",
+ "ONCOMING POLICE CAR": "1F694",
+ "TAXI": "1F695",
+ "ONCOMING TAXI": "1F696",
+ "AUTOMOBILE": "1F697",
+ "ONCOMING AUTOMOBILE": "1F698",
+ "RECREATIONAL VEHICLE": "1F699",
+ "DELIVERY TRUCK": "1F69A",
+ "ARTICULATED LORRY": "1F69B",
+ "TRACTOR": "1F69C",
+ "MONORAIL": "1F69D",
+ "MOUNTAIN RAILWAY": "1F69E",
+ "SUSPENSION RAILWAY": "1F69F",
+ "MOUNTAIN CABLEWAY": "1F6A0",
+ "AERIAL TRAMWAY": "1F6A1",
+ "SHIP": "1F6A2",
+ "ROWBOAT": "1F6A3",
+ "SPEEDBOAT": "1F6A4",
+ "HORIZONTAL TRAFFIC LIGHT": "1F6A5",
+ "VERTICAL TRAFFIC LIGHT": "1F6A6",
+ "CONSTRUCTION SIGN": "1F6A7",
+ "POLICE CARS REVOLVING LIGHT": "1F6A8",
+ "TRIANGULAR FLAG ON POST": "1F6A9",
+ "DOOR": "1F6AA",
+ "NO ENTRY SIGN": "1F6AB",
+ "SMOKING SYMBOL": "1F6AC",
+ "NO SMOKING SYMBOL": "1F6AD",
+ "PUT LITTER IN ITS PLACE SYMBOL": "1F6AE",
+ "DO NOT LITTER SYMBOL": "1F6AF",
+ "POTABLE WATER SYMBOL": "1F6B0",
+ "NON-POTABLE WATER SYMBOL": "1F6B1",
+ "BICYCLE": "1F6B2",
+ "NO BICYCLES": "1F6B3",
+ "BICYCLIST": "1F6B4",
+ "MOUNTAIN BICYCLIST": "1F6B5",
+ "PEDESTRIAN": "1F6B6",
+ "NO PEDESTRIANS": "1F6B7",
+ "CHILDREN CROSSING": "1F6B8",
+ "MENS SYMBOL": "1F6B9",
+ "WOMENS SYMBOL": "1F6BA",
+ "RESTROOM": "1F6BB",
+ "BABY SYMBOL": "1F6BC",
+ "TOILET": "1F6BD",
+ "WATER CLOSET": "1F6BE",
+ "SHOWER": "1F6BF",
+ "BATH": "1F6C0",
+ "BATHTUB": "1F6C1",
+ "PASSPORT CONTROL": "1F6C2",
+ "CUSTOMS": "1F6C3",
+ "BAGGAGE CLAIM": "1F6C4",
+ "LEFT LUGGAGE": "1F6C5",
+ "COUCH AND LAMP": "1F6CB",
+ "SLEEPING ACCOMMODATION": "1F6CC",
+ "SHOPPING BAGS": "1F6CD",
+ "BELLHOP BELL": "1F6CE",
+ "BED": "1F6CF",
+ "PLACE OF WORSHIP": "1F6D0",
+ "OCTAGONAL SIGN": "1F6D1",
+ "SHOPPING TROLLEY": "1F6D2",
+ "HINDU TEMPLE": "1F6D5",
+ "HUT": "1F6D6",
+ "ELEVATOR": "1F6D7",
+ "HAMMER AND WRENCH": "1F6E0",
+ "SHIELD": "1F6E1",
+ "OIL DRUM": "1F6E2",
+ "MOTORWAY": "1F6E3",
+ "RAILWAY TRACK": "1F6E4",
+ "MOTOR BOAT": "1F6E5",
+ "SMALL AIRPLANE": "1F6E9",
+ "AIRPLANE DEPARTURE": "1F6EB",
+ "AIRPLANE ARRIVING": "1F6EC",
+ "SATELLITE": "1F6F0",
+ "PASSENGER SHIP": "1F6F3",
+ "SCOOTER": "1F6F4",
+ "MOTOR SCOOTER": "1F6F5",
+ "CANOE": "1F6F6",
+ "SLED": "1F6F7",
+ "FLYING SAUCER": "1F6F8",
+ "SKATEBOARD": "1F6F9",
+ "AUTO RICKSHAW": "1F6FA",
+ "PICKUP TRUCK": "1F6FB",
+ "ROLLER SKATE": "1F6FC",
+ "LARGE ORANGE CIRCLE": "1F7E0",
+ "LARGE YELLOW CIRCLE": "1F7E1",
+ "LARGE GREEN CIRCLE": "1F7E2",
+ "LARGE PURPLE CIRCLE": "1F7E3",
+ "LARGE BROWN CIRCLE": "1F7E4",
+ "LARGE RED SQUARE": "1F7E5",
+ "LARGE BLUE SQUARE": "1F7E6",
+ "LARGE ORANGE SQUARE": "1F7E7",
+ "LARGE YELLOW SQUARE": "1F7E8",
+ "LARGE GREEN SQUARE": "1F7E9",
+ "LARGE PURPLE SQUARE": "1F7EA",
+ "LARGE BROWN SQUARE": "1F7EB",
+ "PINCHED FINGERS": "1F90C",
+ "WHITE HEART": "1F90D",
+ "BROWN HEART": "1F90E",
+ "PINCHING HAND": "1F90F",
+ "ZIPPER-MOUTH FACE": "1F910",
+ "MONEY-MOUTH FACE": "1F911",
+ "FACE WITH THERMOMETER": "1F912",
+ "NERD FACE": "1F913",
+ "THINKING FACE": "1F914",
+ "FACE WITH HEAD-BANDAGE": "1F915",
+ "ROBOT FACE": "1F916",
+ "HUGGING FACE": "1F917",
+ "SIGN OF THE HORNS": "1F918",
+ "CALL ME HAND": "1F919",
+ "RAISED BACK OF HAND": "1F91A",
+ "LEFT-FACING FIST": "1F91B",
+ "RIGHT-FACING FIST": "1F91C",
+ "HANDSHAKE": "1F91D",
+ "HAND WITH INDEX AND MIDDLE FINGERS CROSSED": "1F91E",
+ "I LOVE YOU HAND SIGN": "1F91F",
+ "FACE WITH COWBOY HAT": "1F920",
+ "CLOWN FACE": "1F921",
+ "NAUSEATED FACE": "1F922",
+ "ROLLING ON THE FLOOR LAUGHING": "1F923",
+ "DROOLING FACE": "1F924",
+ "LYING FACE": "1F925",
+ "FACE PALM": "1F926",
+ "SNEEZING FACE": "1F927",
+ "FACE WITH ONE EYEBROW RAISED": "1F928",
+ "GRINNING FACE WITH STAR EYES": "1F929",
+ "GRINNING FACE WITH ONE LARGE AND ONE SMALL EYE": "1F92A",
+ "FACE WITH FINGER COVERING CLOSED LIPS": "1F92B",
+ "SERIOUS FACE WITH SYMBOLS COVERING MOUTH": "1F92C",
+ "SMILING FACE WITH SMILING EYES AND HAND COVERING MOUTH": "1F92D",
+ "FACE WITH OPEN MOUTH VOMITING": "1F92E",
+ "SHOCKED FACE WITH EXPLODING HEAD": "1F92F",
+ "PREGNANT WOMAN": "1F930",
+ "BREAST-FEEDING": "1F931",
+ "PALMS UP TOGETHER": "1F932",
+ "SELFIE": "1F933",
+ "PRINCE": "1F934",
+ "MAN IN TUXEDO": "1F935",
+ "MOTHER CHRISTMAS": "1F936",
+ "SHRUG": "1F937",
+ "PERSON DOING CARTWHEEL": "1F938",
+ "JUGGLING": "1F939",
+ "FENCER": "1F93A",
+ "WRESTLERS": "1F93C",
+ "WATER POLO": "1F93D",
+ "HANDBALL": "1F93E",
+ "DIVING MASK": "1F93F",
+ "WILTED FLOWER": "1F940",
+ "DRUM WITH DRUMSTICKS": "1F941",
+ "CLINKING GLASSES": "1F942",
+ "TUMBLER GLASS": "1F943",
+ "SPOON": "1F944",
+ "GOAL NET": "1F945",
+ "FIRST PLACE MEDAL": "1F947",
+ "SECOND PLACE MEDAL": "1F948",
+ "THIRD PLACE MEDAL": "1F949",
+ "BOXING GLOVE": "1F94A",
+ "MARTIAL ARTS UNIFORM": "1F94B",
+ "CURLING STONE": "1F94C",
+ "LACROSSE STICK AND BALL": "1F94D",
+ "SOFTBALL": "1F94E",
+ "FLYING DISC": "1F94F",
+ "CROISSANT": "1F950",
+ "AVOCADO": "1F951",
+ "CUCUMBER": "1F952",
+ "BACON": "1F953",
+ "POTATO": "1F954",
+ "CARROT": "1F955",
+ "BAGUETTE BREAD": "1F956",
+ "GREEN SALAD": "1F957",
+ "SHALLOW PAN OF FOOD": "1F958",
+ "STUFFED FLATBREAD": "1F959",
+ "EGG": "1F95A",
+ "GLASS OF MILK": "1F95B",
+ "PEANUTS": "1F95C",
+ "KIWIFRUIT": "1F95D",
+ "PANCAKES": "1F95E",
+ "DUMPLING": "1F95F",
+ "FORTUNE COOKIE": "1F960",
+ "TAKEOUT BOX": "1F961",
+ "CHOPSTICKS": "1F962",
+ "BOWL WITH SPOON": "1F963",
+ "CUP WITH STRAW": "1F964",
+ "COCONUT": "1F965",
+ "BROCCOLI": "1F966",
+ "PIE": "1F967",
+ "PRETZEL": "1F968",
+ "CUT OF MEAT": "1F969",
+ "SANDWICH": "1F96A",
+ "CANNED FOOD": "1F96B",
+ "LEAFY GREEN": "1F96C",
+ "MANGO": "1F96D",
+ "MOON CAKE": "1F96E",
+ "BAGEL": "1F96F",
+ "SMILING FACE WITH SMILING EYES AND THREE HEARTS": "1F970",
+ "YAWNING FACE": "1F971",
+ "SMILING FACE WITH TEAR": "1F972",
+ "FACE WITH PARTY HORN AND PARTY HAT": "1F973",
+ "FACE WITH UNEVEN EYES AND WAVY MOUTH": "1F974",
+ "OVERHEATED FACE": "1F975",
+ "FREEZING FACE": "1F976",
+ "NINJA": "1F977",
+ "DISGUISED FACE": "1F978",
+ "FACE WITH PLEADING EYES": "1F97A",
+ "SARI": "1F97B",
+ "LAB COAT": "1F97C",
+ "GOGGLES": "1F97D",
+ "HIKING BOOT": "1F97E",
+ "FLAT SHOE": "1F97F",
+ "CRAB": "1F980",
+ "LION FACE": "1F981",
+ "SCORPION": "1F982",
+ "TURKEY": "1F983",
+ "UNICORN FACE": "1F984",
+ "EAGLE": "1F985",
+ "DUCK": "1F986",
+ "BAT": "1F987",
+ "SHARK": "1F988",
+ "OWL": "1F989",
+ "FOX FACE": "1F98A",
+ "BUTTERFLY": "1F98B",
+ "DEER": "1F98C",
+ "GORILLA": "1F98D",
+ "LIZARD": "1F98E",
+ "RHINOCEROS": "1F98F",
+ "SHRIMP": "1F990",
+ "SQUID": "1F991",
+ "GIRAFFE FACE": "1F992",
+ "ZEBRA FACE": "1F993",
+ "HEDGEHOG": "1F994",
+ "SAUROPOD": "1F995",
+ "T-REX": "1F996",
+ "CRICKET": "1F997",
+ "KANGAROO": "1F998",
+ "LLAMA": "1F999",
+ "PEACOCK": "1F99A",
+ "HIPPOPOTAMUS": "1F99B",
+ "PARROT": "1F99C",
+ "RACCOON": "1F99D",
+ "LOBSTER": "1F99E",
+ "MOSQUITO": "1F99F",
+ "MICROBE": "1F9A0",
+ "BADGER": "1F9A1",
+ "SWAN": "1F9A2",
+ "MAMMOTH": "1F9A3",
+ "DODO": "1F9A4",
+ "SLOTH": "1F9A5",
+ "OTTER": "1F9A6",
+ "ORANGUTAN": "1F9A7",
+ "SKUNK": "1F9A8",
+ "FLAMINGO": "1F9A9",
+ "OYSTER": "1F9AA",
+ "BEAVER": "1F9AB",
+ "BISON": "1F9AC",
+ "SEAL": "1F9AD",
+ "GUIDE DOG": "1F9AE",
+ "PROBING CANE": "1F9AF",
+ "EMOJI COMPONENT RED HAIR": "1F9B0",
+ "EMOJI COMPONENT CURLY HAIR": "1F9B1",
+ "EMOJI COMPONENT BALD": "1F9B2",
+ "EMOJI COMPONENT WHITE HAIR": "1F9B3",
+ "BONE": "1F9B4",
+ "LEG": "1F9B5",
+ "FOOT": "1F9B6",
+ "TOOTH": "1F9B7",
+ "SUPERHERO": "1F9B8",
+ "SUPERVILLAIN": "1F9B9",
+ "SAFETY VEST": "1F9BA",
+ "EAR WITH HEARING AID": "1F9BB",
+ "MOTORIZED WHEELCHAIR": "1F9BC",
+ "MANUAL WHEELCHAIR": "1F9BD",
+ "MECHANICAL ARM": "1F9BE",
+ "MECHANICAL LEG": "1F9BF",
+ "CHEESE WEDGE": "1F9C0",
+ "CUPCAKE": "1F9C1",
+ "SALT SHAKER": "1F9C2",
+ "BEVERAGE BOX": "1F9C3",
+ "GARLIC": "1F9C4",
+ "ONION": "1F9C5",
+ "FALAFEL": "1F9C6",
+ "WAFFLE": "1F9C7",
+ "BUTTER": "1F9C8",
+ "MATE DRINK": "1F9C9",
+ "ICE CUBE": "1F9CA",
+ "BUBBLE TEA": "1F9CB",
+ "STANDING PERSON": "1F9CD",
+ "KNEELING PERSON": "1F9CE",
+ "DEAF PERSON": "1F9CF",
+ "FACE WITH MONOCLE": "1F9D0",
+ "ADULT": "1F9D1",
+ "CHILD": "1F9D2",
+ "OLDER ADULT": "1F9D3",
+ "BEARDED PERSON": "1F9D4",
+ "PERSON WITH HEADSCARF": "1F9D5",
+ "PERSON IN STEAMY ROOM": "1F9D6",
+ "PERSON CLIMBING": "1F9D7",
+ "PERSON IN LOTUS POSITION": "1F9D8",
+ "MAGE": "1F9D9",
+ "FAIRY": "1F9DA",
+ "VAMPIRE": "1F9DB",
+ "MERPERSON": "1F9DC",
+ "ELF": "1F9DD",
+ "GENIE": "1F9DE",
+ "ZOMBIE": "1F9DF",
+ "BRAIN": "1F9E0",
+ "ORANGE HEART": "1F9E1",
+ "BILLED CAP": "1F9E2",
+ "SCARF": "1F9E3",
+ "GLOVES": "1F9E4",
+ "COAT": "1F9E5",
+ "SOCKS": "1F9E6",
+ "RED GIFT ENVELOPE": "1F9E7",
+ "FIRECRACKER": "1F9E8",
+ "JIGSAW PUZZLE PIECE": "1F9E9",
+ "TEST TUBE": "1F9EA",
+ "PETRI DISH": "1F9EB",
+ "DNA DOUBLE HELIX": "1F9EC",
+ "COMPASS": "1F9ED",
+ "ABACUS": "1F9EE",
+ "FIRE EXTINGUISHER": "1F9EF",
+ "TOOLBOX": "1F9F0",
+ "BRICK": "1F9F1",
+ "MAGNET": "1F9F2",
+ "LUGGAGE": "1F9F3",
+ "LOTION BOTTLE": "1F9F4",
+ "SPOOL OF THREAD": "1F9F5",
+ "BALL OF YARN": "1F9F6",
+ "SAFETY PIN": "1F9F7",
+ "TEDDY BEAR": "1F9F8",
+ "BROOM": "1F9F9",
+ "BASKET": "1F9FA",
+ "ROLL OF PAPER": "1F9FB",
+ "BAR OF SOAP": "1F9FC",
+ "SPONGE": "1F9FD",
+ "RECEIPT": "1F9FE",
+ "NAZAR AMULET": "1F9FF",
+ "BALLET SHOES": "1FA70",
+ "ONE-PIECE SWIMSUIT": "1FA71",
+ "BRIEFS": "1FA72",
+ "SHORTS": "1FA73",
+ "THONG SANDAL": "1FA74",
+ "DROP OF BLOOD": "1FA78",
+ "ADHESIVE BANDAGE": "1FA79",
+ "STETHOSCOPE": "1FA7A",
+ "YO-YO": "1FA80",
+ "KITE": "1FA81",
+ "PARACHUTE": "1FA82",
+ "BOOMERANG": "1FA83",
+ "MAGIC WAND": "1FA84",
+ "PINATA": "1FA85",
+ "NESTING DOLLS": "1FA86",
+ "RINGED PLANET": "1FA90",
+ "CHAIR": "1FA91",
+ "RAZOR": "1FA92",
+ "AXE": "1FA93",
+ "DIYA LAMP": "1FA94",
+ "BANJO": "1FA95",
+ "MILITARY HELMET": "1FA96",
+ "ACCORDION": "1FA97",
+ "LONG DRUM": "1FA98",
+ "COIN": "1FA99",
+ "CARPENTRY SAW": "1FA9A",
+ "SCREWDRIVER": "1FA9B",
+ "LADDER": "1FA9C",
+ "HOOK": "1FA9D",
+ "MIRROR": "1FA9E",
+ "WINDOW": "1FA9F",
+ "PLUNGER": "1FAA0",
+ "SEWING NEEDLE": "1FAA1",
+ "KNOT": "1FAA2",
+ "BUCKET": "1FAA3",
+ "MOUSE TRAP": "1FAA4",
+ "TOOTHBRUSH": "1FAA5",
+ "HEADSTONE": "1FAA6",
+ "PLACARD": "1FAA7",
+ "ROCK": "1FAA8",
+ "FLY": "1FAB0",
+ "WORM": "1FAB1",
+ "BEETLE": "1FAB2",
+ "COCKROACH": "1FAB3",
+ "POTTED PLANT": "1FAB4",
+ "WOOD": "1FAB5",
+ "FEATHER": "1FAB6",
+ "ANATOMICAL HEART": "1FAC0",
+ "LUNGS": "1FAC1",
+ "PEOPLE HUGGING": "1FAC2",
+ "BLUEBERRIES": "1FAD0",
+ "BELL PEPPER": "1FAD1",
+ "OLIVE": "1FAD2",
+ "FLATBREAD": "1FAD3",
+ "TAMALE": "1FAD4",
+ "FONDUE": "1FAD5",
+ "TEAPOT": "1FAD6"
+}
diff --git a/lib/pleroma/web/pleroma_api/controllers/emoji_reaction_controller.ex b/lib/pleroma/web/pleroma_api/controllers/emoji_reaction_controller.ex
index dd9c746dc..c2b8d3540 100644
--- a/lib/pleroma/web/pleroma_api/controllers/emoji_reaction_controller.ex
+++ b/lib/pleroma/web/pleroma_api/controllers/emoji_reaction_controller.ex
@@ -91,4 +91,23 @@ defmodule Pleroma.Web.PleromaAPI.EmojiReactionController do
|> render("show.json", activity: activity, for: user, as: :activity)
end
end
+
+ @external_resource "lib/pleroma/web/pleroma_api/controllers/emoji.json"
+
+ @reactions_json File.read!(@external_resource)
+ |> Jason.decode!()
+ |> Enum.reduce(%{}, fn {name, codepoint}, acc ->
+ Map.put(
+ acc,
+ String.downcase(name),
+ [codepoint |> String.to_integer(16)] |> String.Chars.to_string()
+ )
+ end)
+ |> Jason.encode!()
+
+ def emoji_reactions(conn, _params) do
+ conn
+ |> put_resp_content_type("application/json")
+ |> send_resp(200, @reactions_json)
+ end
end
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex
index 75a885377..5f3c4f787 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -348,6 +348,7 @@ defmodule Pleroma.Web.Router do
scope "/api/v1/pleroma", Pleroma.Web.PleromaAPI do
pipe_through(:api)
+ get("/emoji_reactions", EmojiReactionController, :emoji_reactions)
get("/statuses/:id/reactions/:emoji", EmojiReactionController, :index)
get("/statuses/:id/reactions", EmojiReactionController, :index)
end
diff --git a/test/pleroma/web/pleroma_api/controllers/emoji_reaction_controller_test.exs b/test/pleroma/web/pleroma_api/controllers/emoji_reaction_controller_test.exs
index bda9c20c6..d7d2066aa 100644
--- a/test/pleroma/web/pleroma_api/controllers/emoji_reaction_controller_test.exs
+++ b/test/pleroma/web/pleroma_api/controllers/emoji_reaction_controller_test.exs
@@ -188,4 +188,16 @@ defmodule Pleroma.Web.PleromaAPI.EmojiReactionControllerTest do
assert represented_user["id"] == other_user.id
end
+
+ describe "/api/v1/pleroma/emoji_reactions" do
+ test "returns json with unicode emojis", %{conn: conn} do
+ emoji =
+ conn
+ |> get("/api/v1/pleroma/emoji_reactions")
+ |> json_response(200)
+
+ assert emoji["cookie"] == "🍪"
+ assert Enum.count(emoji) == 1367
+ end
+ end
end