summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Emoji.hs905
-rw-r--r--src/Text/Pandoc/Options.hs2
-rw-r--r--src/Text/Pandoc/Parsing.hs3
-rw-r--r--src/Text/Pandoc/Readers/Markdown.hs17
-rw-r--r--src/Text/Pandoc/Readers/Org.hs13
5 files changed, 935 insertions, 5 deletions
diff --git a/src/Text/Pandoc/Emoji.hs b/src/Text/Pandoc/Emoji.hs
new file mode 100644
index 000000000..2ae7962cb
--- /dev/null
+++ b/src/Text/Pandoc/Emoji.hs
@@ -0,0 +1,905 @@
+{-
+Copyright (C) 2015 John MacFarlane <jgm@berkeley.edu>
+
+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 2 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.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+-}
+
+{- |
+ Module : Text.Pandoc.Emoji
+ Copyright : Copyright (C) 2015 John MacFarlane
+ License : GNU GPL, version 2 or above
+
+ Maintainer : John MacFarlane <jgm@berkeley.edu>
+ Stability : alpha
+ Portability : portable
+
+Emoji symbol lookup from canonical string identifier.
+-}
+module Text.Pandoc.Emoji ( emojis ) where
+import qualified Data.Map as M
+
+emojis :: M.Map String String
+emojis = M.fromList
+ [ ("100", "๐Ÿ’ฏ")
+ , ("1234", "๐Ÿ”ข")
+ , ("smile", "๐Ÿ˜„")
+ , ("smiley", "๐Ÿ˜ƒ")
+ , ("grinning", "๐Ÿ˜€")
+ , ("blush", "๐Ÿ˜Š")
+ , ("relaxed", "โ˜บ๏ธ")
+ , ("wink", "๐Ÿ˜‰")
+ , ("heart_eyes", "๐Ÿ˜")
+ , ("kissing_heart", "๐Ÿ˜˜")
+ , ("kissing_closed_eyes", "๐Ÿ˜š")
+ , ("kissing", "๐Ÿ˜—")
+ , ("kissing_smiling_eyes", "๐Ÿ˜™")
+ , ("stuck_out_tongue_winking_eye", "๐Ÿ˜œ")
+ , ("stuck_out_tongue_closed_eyes", "๐Ÿ˜")
+ , ("stuck_out_tongue", "๐Ÿ˜›")
+ , ("flushed", "๐Ÿ˜ณ")
+ , ("grin", "๐Ÿ˜")
+ , ("pensive", "๐Ÿ˜”")
+ , ("relieved", "๐Ÿ˜Œ")
+ , ("unamused", "๐Ÿ˜’")
+ , ("disappointed", "๐Ÿ˜ž")
+ , ("persevere", "๐Ÿ˜ฃ")
+ , ("cry", "๐Ÿ˜ข")
+ , ("joy", "๐Ÿ˜‚")
+ , ("sob", "๐Ÿ˜ญ")
+ , ("sleepy", "๐Ÿ˜ช")
+ , ("disappointed_relieved", "๐Ÿ˜ฅ")
+ , ("cold_sweat", "๐Ÿ˜ฐ")
+ , ("sweat_smile", "๐Ÿ˜…")
+ , ("sweat", "๐Ÿ˜“")
+ , ("weary", "๐Ÿ˜ฉ")
+ , ("tired_face", "๐Ÿ˜ซ")
+ , ("fearful", "๐Ÿ˜จ")
+ , ("scream", "๐Ÿ˜ฑ")
+ , ("angry", "๐Ÿ˜ ")
+ , ("rage", "๐Ÿ˜ก")
+ , ("triumph", "๐Ÿ˜ค")
+ , ("confounded", "๐Ÿ˜–")
+ , ("laughing", "๐Ÿ˜†")
+ , ("satisfied", "๐Ÿ˜†")
+ , ("yum", "๐Ÿ˜‹")
+ , ("mask", "๐Ÿ˜ท")
+ , ("sunglasses", "๐Ÿ˜Ž")
+ , ("sleeping", "๐Ÿ˜ด")
+ , ("dizzy_face", "๐Ÿ˜ต")
+ , ("astonished", "๐Ÿ˜ฒ")
+ , ("worried", "๐Ÿ˜Ÿ")
+ , ("frowning", "๐Ÿ˜ฆ")
+ , ("anguished", "๐Ÿ˜ง")
+ , ("smiling_imp", "๐Ÿ˜ˆ")
+ , ("imp", "๐Ÿ‘ฟ")
+ , ("open_mouth", "๐Ÿ˜ฎ")
+ , ("grimacing", "๐Ÿ˜ฌ")
+ , ("neutral_face", "๐Ÿ˜")
+ , ("confused", "๐Ÿ˜•")
+ , ("hushed", "๐Ÿ˜ฏ")
+ , ("no_mouth", "๐Ÿ˜ถ")
+ , ("innocent", "๐Ÿ˜‡")
+ , ("smirk", "๐Ÿ˜")
+ , ("expressionless", "๐Ÿ˜‘")
+ , ("man_with_gua_pi_mao", "๐Ÿ‘ฒ")
+ , ("man_with_turban", "๐Ÿ‘ณ")
+ , ("cop", "๐Ÿ‘ฎ")
+ , ("construction_worker", "๐Ÿ‘ท")
+ , ("guardsman", "๐Ÿ’‚")
+ , ("baby", "๐Ÿ‘ถ")
+ , ("boy", "๐Ÿ‘ฆ")
+ , ("girl", "๐Ÿ‘ง")
+ , ("man", "๐Ÿ‘จ")
+ , ("woman", "๐Ÿ‘ฉ")
+ , ("older_man", "๐Ÿ‘ด")
+ , ("older_woman", "๐Ÿ‘ต")
+ , ("person_with_blond_hair", "๐Ÿ‘ฑ")
+ , ("angel", "๐Ÿ‘ผ")
+ , ("princess", "๐Ÿ‘ธ")
+ , ("smiley_cat", "๐Ÿ˜บ")
+ , ("smile_cat", "๐Ÿ˜ธ")
+ , ("heart_eyes_cat", "๐Ÿ˜ป")
+ , ("kissing_cat", "๐Ÿ˜ฝ")
+ , ("smirk_cat", "๐Ÿ˜ผ")
+ , ("scream_cat", "๐Ÿ™€")
+ , ("crying_cat_face", "๐Ÿ˜ฟ")
+ , ("joy_cat", "๐Ÿ˜น")
+ , ("pouting_cat", "๐Ÿ˜พ")
+ , ("japanese_ogre", "๐Ÿ‘น")
+ , ("japanese_goblin", "๐Ÿ‘บ")
+ , ("see_no_evil", "๐Ÿ™ˆ")
+ , ("hear_no_evil", "๐Ÿ™‰")
+ , ("speak_no_evil", "๐Ÿ™Š")
+ , ("skull", "๐Ÿ’€")
+ , ("alien", "๐Ÿ‘ฝ")
+ , ("hankey", "๐Ÿ’ฉ")
+ , ("poop", "๐Ÿ’ฉ")
+ , ("shit", "๐Ÿ’ฉ")
+ , ("fire", "๐Ÿ”ฅ")
+ , ("sparkles", "โœจ")
+ , ("star2", "๐ŸŒŸ")
+ , ("dizzy", "๐Ÿ’ซ")
+ , ("boom", "๐Ÿ’ฅ")
+ , ("collision", "๐Ÿ’ฅ")
+ , ("anger", "๐Ÿ’ข")
+ , ("sweat_drops", "๐Ÿ’ฆ")
+ , ("droplet", "๐Ÿ’ง")
+ , ("zzz", "๐Ÿ’ค")
+ , ("dash", "๐Ÿ’จ")
+ , ("ear", "๐Ÿ‘‚")
+ , ("eyes", "๐Ÿ‘€")
+ , ("nose", "๐Ÿ‘ƒ")
+ , ("tongue", "๐Ÿ‘…")
+ , ("lips", "๐Ÿ‘„")
+ , ("+1", "๐Ÿ‘")
+ , ("thumbsup", "๐Ÿ‘")
+ , ("-1", "๐Ÿ‘Ž")
+ , ("thumbsdown", "๐Ÿ‘Ž")
+ , ("ok_hand", "๐Ÿ‘Œ")
+ , ("facepunch", "๐Ÿ‘Š")
+ , ("punch", "๐Ÿ‘Š")
+ , ("fist", "โœŠ")
+ , ("v", "โœŒ๏ธ")
+ , ("wave", "๐Ÿ‘‹")
+ , ("hand", "โœ‹")
+ , ("raised_hand", "โœ‹")
+ , ("open_hands", "๐Ÿ‘")
+ , ("point_up_2", "๐Ÿ‘†")
+ , ("point_down", "๐Ÿ‘‡")
+ , ("point_right", "๐Ÿ‘‰")
+ , ("point_left", "๐Ÿ‘ˆ")
+ , ("raised_hands", "๐Ÿ™Œ")
+ , ("pray", "๐Ÿ™")
+ , ("point_up", "โ˜๏ธ")
+ , ("clap", "๐Ÿ‘")
+ , ("muscle", "๐Ÿ’ช")
+ , ("walking", "๐Ÿšถ")
+ , ("runner", "๐Ÿƒ")
+ , ("running", "๐Ÿƒ")
+ , ("dancer", "๐Ÿ’ƒ")
+ , ("couple", "๐Ÿ‘ซ")
+ , ("family", "๐Ÿ‘ช")
+ , ("two_men_holding_hands", "๐Ÿ‘ฌ")
+ , ("two_women_holding_hands", "๐Ÿ‘ญ")
+ , ("couplekiss", "๐Ÿ’")
+ , ("couple_with_heart", "๐Ÿ’‘")
+ , ("dancers", "๐Ÿ‘ฏ")
+ , ("ok_woman", "๐Ÿ™†")
+ , ("no_good", "๐Ÿ™…")
+ , ("information_desk_person", "๐Ÿ’")
+ , ("raising_hand", "๐Ÿ™‹")
+ , ("massage", "๐Ÿ’†")
+ , ("haircut", "๐Ÿ’‡")
+ , ("nail_care", "๐Ÿ’…")
+ , ("bride_with_veil", "๐Ÿ‘ฐ")
+ , ("person_with_pouting_face", "๐Ÿ™Ž")
+ , ("person_frowning", "๐Ÿ™")
+ , ("bow", "๐Ÿ™‡")
+ , ("tophat", "๐ŸŽฉ")
+ , ("crown", "๐Ÿ‘‘")
+ , ("womans_hat", "๐Ÿ‘’")
+ , ("athletic_shoe", "๐Ÿ‘Ÿ")
+ , ("mans_shoe", "๐Ÿ‘ž")
+ , ("shoe", "๐Ÿ‘ž")
+ , ("sandal", "๐Ÿ‘ก")
+ , ("high_heel", "๐Ÿ‘ ")
+ , ("boot", "๐Ÿ‘ข")
+ , ("shirt", "๐Ÿ‘•")
+ , ("tshirt", "๐Ÿ‘•")
+ , ("necktie", "๐Ÿ‘”")
+ , ("womans_clothes", "๐Ÿ‘š")
+ , ("dress", "๐Ÿ‘—")
+ , ("running_shirt_with_sash", "๐ŸŽฝ")
+ , ("jeans", "๐Ÿ‘–")
+ , ("kimono", "๐Ÿ‘˜")
+ , ("bikini", "๐Ÿ‘™")
+ , ("briefcase", "๐Ÿ’ผ")
+ , ("handbag", "๐Ÿ‘œ")
+ , ("pouch", "๐Ÿ‘")
+ , ("purse", "๐Ÿ‘›")
+ , ("eyeglasses", "๐Ÿ‘“")
+ , ("ribbon", "๐ŸŽ€")
+ , ("closed_umbrella", "๐ŸŒ‚")
+ , ("lipstick", "๐Ÿ’„")
+ , ("yellow_heart", "๐Ÿ’›")
+ , ("blue_heart", "๐Ÿ’™")
+ , ("purple_heart", "๐Ÿ’œ")
+ , ("green_heart", "๐Ÿ’š")
+ , ("heart", "โค๏ธ")
+ , ("broken_heart", "๐Ÿ’”")
+ , ("heartpulse", "๐Ÿ’—")
+ , ("heartbeat", "๐Ÿ’“")
+ , ("two_hearts", "๐Ÿ’•")
+ , ("sparkling_heart", "๐Ÿ’–")
+ , ("revolving_hearts", "๐Ÿ’ž")
+ , ("cupid", "๐Ÿ’˜")
+ , ("love_letter", "๐Ÿ’Œ")
+ , ("kiss", "๐Ÿ’‹")
+ , ("ring", "๐Ÿ’")
+ , ("gem", "๐Ÿ’Ž")
+ , ("bust_in_silhouette", "๐Ÿ‘ค")
+ , ("busts_in_silhouette", "๐Ÿ‘ฅ")
+ , ("speech_balloon", "๐Ÿ’ฌ")
+ , ("footprints", "๐Ÿ‘ฃ")
+ , ("thought_balloon", "๐Ÿ’ญ")
+ , ("dog", "๐Ÿถ")
+ , ("wolf", "๐Ÿบ")
+ , ("cat", "๐Ÿฑ")
+ , ("mouse", "๐Ÿญ")
+ , ("hamster", "๐Ÿน")
+ , ("rabbit", "๐Ÿฐ")
+ , ("frog", "๐Ÿธ")
+ , ("tiger", "๐Ÿฏ")
+ , ("koala", "๐Ÿจ")
+ , ("bear", "๐Ÿป")
+ , ("pig", "๐Ÿท")
+ , ("pig_nose", "๐Ÿฝ")
+ , ("cow", "๐Ÿฎ")
+ , ("boar", "๐Ÿ—")
+ , ("monkey_face", "๐Ÿต")
+ , ("monkey", "๐Ÿ’")
+ , ("horse", "๐Ÿด")
+ , ("sheep", "๐Ÿ‘")
+ , ("elephant", "๐Ÿ˜")
+ , ("panda_face", "๐Ÿผ")
+ , ("penguin", "๐Ÿง")
+ , ("bird", "๐Ÿฆ")
+ , ("baby_chick", "๐Ÿค")
+ , ("hatched_chick", "๐Ÿฅ")
+ , ("hatching_chick", "๐Ÿฃ")
+ , ("chicken", "๐Ÿ”")
+ , ("snake", "๐Ÿ")
+ , ("turtle", "๐Ÿข")
+ , ("bug", "๐Ÿ›")
+ , ("bee", "๐Ÿ")
+ , ("honeybee", "๐Ÿ")
+ , ("ant", "๐Ÿœ")
+ , ("beetle", "๐Ÿž")
+ , ("snail", "๐ŸŒ")
+ , ("octopus", "๐Ÿ™")
+ , ("shell", "๐Ÿš")
+ , ("tropical_fish", "๐Ÿ ")
+ , ("fish", "๐ŸŸ")
+ , ("dolphin", "๐Ÿฌ")
+ , ("flipper", "๐Ÿฌ")
+ , ("whale", "๐Ÿณ")
+ , ("whale2", "๐Ÿ‹")
+ , ("cow2", "๐Ÿ„")
+ , ("ram", "๐Ÿ")
+ , ("rat", "๐Ÿ€")
+ , ("water_buffalo", "๐Ÿƒ")
+ , ("tiger2", "๐Ÿ…")
+ , ("rabbit2", "๐Ÿ‡")
+ , ("dragon", "๐Ÿ‰")
+ , ("racehorse", "๐ŸŽ")
+ , ("goat", "๐Ÿ")
+ , ("rooster", "๐Ÿ“")
+ , ("dog2", "๐Ÿ•")
+ , ("pig2", "๐Ÿ–")
+ , ("mouse2", "๐Ÿ")
+ , ("ox", "๐Ÿ‚")
+ , ("dragon_face", "๐Ÿฒ")
+ , ("blowfish", "๐Ÿก")
+ , ("crocodile", "๐ŸŠ")
+ , ("camel", "๐Ÿซ")
+ , ("dromedary_camel", "๐Ÿช")
+ , ("leopard", "๐Ÿ†")
+ , ("cat2", "๐Ÿˆ")
+ , ("poodle", "๐Ÿฉ")
+ , ("feet", "๐Ÿพ")
+ , ("paw_prints", "๐Ÿพ")
+ , ("bouquet", "๐Ÿ’")
+ , ("cherry_blossom", "๐ŸŒธ")
+ , ("tulip", "๐ŸŒท")
+ , ("four_leaf_clover", "๐Ÿ€")
+ , ("rose", "๐ŸŒน")
+ , ("sunflower", "๐ŸŒป")
+ , ("hibiscus", "๐ŸŒบ")
+ , ("maple_leaf", "๐Ÿ")
+ , ("leaves", "๐Ÿƒ")
+ , ("fallen_leaf", "๐Ÿ‚")
+ , ("herb", "๐ŸŒฟ")
+ , ("ear_of_rice", "๐ŸŒพ")
+ , ("mushroom", "๐Ÿ„")
+ , ("cactus", "๐ŸŒต")
+ , ("palm_tree", "๐ŸŒด")
+ , ("evergreen_tree", "๐ŸŒฒ")
+ , ("deciduous_tree", "๐ŸŒณ")
+ , ("chestnut", "๐ŸŒฐ")
+ , ("seedling", "๐ŸŒฑ")
+ , ("blossom", "๐ŸŒผ")
+ , ("globe_with_meridians", "๐ŸŒ")
+ , ("sun_with_face", "๐ŸŒž")
+ , ("full_moon_with_face", "๐ŸŒ")
+ , ("new_moon_with_face", "๐ŸŒš")
+ , ("new_moon", "๐ŸŒ‘")
+ , ("waxing_crescent_moon", "๐ŸŒ’")
+ , ("first_quarter_moon", "๐ŸŒ“")
+ , ("moon", "๐ŸŒ”")
+ , ("waxing_gibbous_moon", "๐ŸŒ”")
+ , ("full_moon", "๐ŸŒ•")
+ , ("waning_gibbous_moon", "๐ŸŒ–")
+ , ("last_quarter_moon", "๐ŸŒ—")
+ , ("waning_crescent_moon", "๐ŸŒ˜")
+ , ("last_quarter_moon_with_face", "๐ŸŒœ")
+ , ("first_quarter_moon_with_face", "๐ŸŒ›")
+ , ("crescent_moon", "๐ŸŒ™")
+ , ("earth_africa", "๐ŸŒ")
+ , ("earth_americas", "๐ŸŒŽ")
+ , ("earth_asia", "๐ŸŒ")
+ , ("volcano", "๐ŸŒ‹")
+ , ("milky_way", "๐ŸŒŒ")
+ , ("stars", "๐ŸŒ ")
+ , ("star", "โญ")
+ , ("sunny", "โ˜€๏ธ")
+ , ("partly_sunny", "โ›…")
+ , ("cloud", "โ˜๏ธ")
+ , ("zap", "โšก")
+ , ("umbrella", "โ˜”")
+ , ("snowflake", "โ„๏ธ")
+ , ("snowman", "โ›„")
+ , ("cyclone", "๐ŸŒ€")
+ , ("foggy", "๐ŸŒ")
+ , ("rainbow", "๐ŸŒˆ")
+ , ("ocean", "๐ŸŒŠ")
+ , ("bamboo", "๐ŸŽ")
+ , ("gift_heart", "๐Ÿ’")
+ , ("dolls", "๐ŸŽŽ")
+ , ("school_satchel", "๐ŸŽ’")
+ , ("mortar_board", "๐ŸŽ“")
+ , ("flags", "๐ŸŽ")
+ , ("fireworks", "๐ŸŽ†")
+ , ("sparkler", "๐ŸŽ‡")
+ , ("wind_chime", "๐ŸŽ")
+ , ("rice_scene", "๐ŸŽ‘")
+ , ("jack_o_lantern", "๐ŸŽƒ")
+ , ("ghost", "๐Ÿ‘ป")
+ , ("santa", "๐ŸŽ…")
+ , ("christmas_tree", "๐ŸŽ„")
+ , ("gift", "๐ŸŽ")
+ , ("tanabata_tree", "๐ŸŽ‹")
+ , ("tada", "๐ŸŽ‰")
+ , ("confetti_ball", "๐ŸŽŠ")
+ , ("balloon", "๐ŸŽˆ")
+ , ("crossed_flags", "๐ŸŽŒ")
+ , ("crystal_ball", "๐Ÿ”ฎ")
+ , ("movie_camera", "๐ŸŽฅ")
+ , ("camera", "๐Ÿ“ท")
+ , ("video_camera", "๐Ÿ“น")
+ , ("vhs", "๐Ÿ“ผ")
+ , ("cd", "๐Ÿ’ฟ")
+ , ("dvd", "๐Ÿ“€")
+ , ("minidisc", "๐Ÿ’ฝ")
+ , ("floppy_disk", "๐Ÿ’พ")
+ , ("computer", "๐Ÿ’ป")
+ , ("iphone", "๐Ÿ“ฑ")
+ , ("phone", "โ˜Ž๏ธ")
+ , ("telephone", "โ˜Ž๏ธ")
+ , ("telephone_receiver", "๐Ÿ“ž")
+ , ("pager", "๐Ÿ“Ÿ")
+ , ("fax", "๐Ÿ“ ")
+ , ("satellite", "๐Ÿ“ก")
+ , ("tv", "๐Ÿ“บ")
+ , ("radio", "๐Ÿ“ป")
+ , ("loud_sound", "๐Ÿ”Š")
+ , ("sound", "๐Ÿ”‰")
+ , ("speaker", "๐Ÿ”ˆ")
+ , ("mute", "๐Ÿ”‡")
+ , ("bell", "๐Ÿ””")
+ , ("no_bell", "๐Ÿ”•")
+ , ("loudspeaker", "๐Ÿ“ข")
+ , ("mega", "๐Ÿ“ฃ")
+ , ("hourglass_flowing_sand", "โณ")
+ , ("hourglass", "โŒ›")
+ , ("alarm_clock", "โฐ")
+ , ("watch", "โŒš")
+ , ("unlock", "๐Ÿ”“")
+ , ("lock", "๐Ÿ”’")
+ , ("lock_with_ink_pen", "๐Ÿ”")
+ , ("closed_lock_with_key", "๐Ÿ”")
+ , ("key", "๐Ÿ”‘")
+ , ("mag_right", "๐Ÿ”Ž")
+ , ("bulb", "๐Ÿ’ก")
+ , ("flashlight", "๐Ÿ”ฆ")
+ , ("high_brightness", "๐Ÿ”†")
+ , ("low_brightness", "๐Ÿ”…")
+ , ("electric_plug", "๐Ÿ”Œ")
+ , ("battery", "๐Ÿ”‹")
+ , ("mag", "๐Ÿ”")
+ , ("bathtub", "๐Ÿ›")
+ , ("bath", "๐Ÿ›€")
+ , ("shower", "๐Ÿšฟ")
+ , ("toilet", "๐Ÿšฝ")
+ , ("wrench", "๐Ÿ”ง")
+ , ("nut_and_bolt", "๐Ÿ”ฉ")
+ , ("hammer", "๐Ÿ”จ")
+ , ("door", "๐Ÿšช")
+ , ("smoking", "๐Ÿšฌ")
+ , ("bomb", "๐Ÿ’ฃ")
+ , ("gun", "๐Ÿ”ซ")
+ , ("hocho", "๐Ÿ”ช")
+ , ("knife", "๐Ÿ”ช")
+ , ("pill", "๐Ÿ’Š")
+ , ("syringe", "๐Ÿ’‰")
+ , ("moneybag", "๐Ÿ’ฐ")
+ , ("yen", "๐Ÿ’ด")
+ , ("dollar", "๐Ÿ’ต")
+ , ("pound", "๐Ÿ’ท")
+ , ("euro", "๐Ÿ’ถ")
+ , ("credit_card", "๐Ÿ’ณ")
+ , ("money_with_wings", "๐Ÿ’ธ")
+ , ("calling", "๐Ÿ“ฒ")
+ , ("e-mail", "๐Ÿ“ง")
+ , ("inbox_tray", "๐Ÿ“ฅ")
+ , ("outbox_tray", "๐Ÿ“ค")
+ , ("email", "โœ‰๏ธ")
+ , ("envelope", "โœ‰๏ธ")
+ , ("envelope_with_arrow", "๐Ÿ“ฉ")
+ , ("incoming_envelope", "๐Ÿ“จ")
+ , ("postal_horn", "๐Ÿ“ฏ")
+ , ("mailbox", "๐Ÿ“ซ")
+ , ("mailbox_closed", "๐Ÿ“ช")
+ , ("mailbox_with_mail", "๐Ÿ“ฌ")
+ , ("mailbox_with_no_mail", "๐Ÿ“ญ")
+ , ("postbox", "๐Ÿ“ฎ")
+ , ("package", "๐Ÿ“ฆ")
+ , ("memo", "๐Ÿ“")
+ , ("pencil", "๐Ÿ“")
+ , ("page_facing_up", "๐Ÿ“„")
+ , ("page_with_curl", "๐Ÿ“ƒ")
+ , ("bookmark_tabs", "๐Ÿ“‘")
+ , ("bar_chart", "๐Ÿ“Š")
+ , ("chart_with_upwards_trend", "๐Ÿ“ˆ")
+ , ("chart_with_downwards_trend", "๐Ÿ“‰")
+ , ("scroll", "๐Ÿ“œ")
+ , ("clipboard", "๐Ÿ“‹")
+ , ("date", "๐Ÿ“…")
+ , ("calendar", "๐Ÿ“†")
+ , ("card_index", "๐Ÿ“‡")
+ , ("file_folder", "๐Ÿ“")
+ , ("open_file_folder", "๐Ÿ“‚")
+ , ("scissors", "โœ‚๏ธ")
+ , ("pushpin", "๐Ÿ“Œ")
+ , ("paperclip", "๐Ÿ“Ž")
+ , ("black_nib", "โœ’๏ธ")
+ , ("pencil2", "โœ๏ธ")
+ , ("straight_ruler", "๐Ÿ“")
+ , ("triangular_ruler", "๐Ÿ“")
+ , ("closed_book", "๐Ÿ“•")
+ , ("green_book", "๐Ÿ“—")
+ , ("blue_book", "๐Ÿ“˜")
+ , ("orange_book", "๐Ÿ“™")
+ , ("notebook", "๐Ÿ““")
+ , ("notebook_with_decorative_cover", "๐Ÿ“”")
+ , ("ledger", "๐Ÿ“’")
+ , ("books", "๐Ÿ“š")
+ , ("book", "๐Ÿ“–")
+ , ("open_book", "๐Ÿ“–")
+ , ("bookmark", "๐Ÿ”–")
+ , ("name_badge", "๐Ÿ“›")
+ , ("microscope", "๐Ÿ”ฌ")
+ , ("telescope", "๐Ÿ”ญ")
+ , ("newspaper", "๐Ÿ“ฐ")
+ , ("art", "๐ŸŽจ")
+ , ("clapper", "๐ŸŽฌ")
+ , ("microphone", "๐ŸŽค")
+ , ("headphones", "๐ŸŽง")
+ , ("musical_score", "๐ŸŽผ")
+ , ("musical_note", "๐ŸŽต")
+ , ("notes", "๐ŸŽถ")
+ , ("musical_keyboard", "๐ŸŽน")
+ , ("violin", "๐ŸŽป")
+ , ("trumpet", "๐ŸŽบ")
+ , ("saxophone", "๐ŸŽท")
+ , ("guitar", "๐ŸŽธ")
+ , ("space_invader", "๐Ÿ‘พ")
+ , ("video_game", "๐ŸŽฎ")
+ , ("black_joker", "๐Ÿƒ")
+ , ("flower_playing_cards", "๐ŸŽด")
+ , ("mahjong", "๐Ÿ€„")
+ , ("game_die", "๐ŸŽฒ")
+ , ("dart", "๐ŸŽฏ")
+ , ("football", "๐Ÿˆ")
+ , ("basketball", "๐Ÿ€")
+ , ("soccer", "โšฝ")
+ , ("baseball", "โšพ๏ธ")
+ , ("tennis", "๐ŸŽพ")
+ , ("8ball", "๐ŸŽฑ")
+ , ("rugby_football", "๐Ÿ‰")
+ , ("bowling", "๐ŸŽณ")
+ , ("golf", "โ›ณ")
+ , ("mountain_bicyclist", "๐Ÿšต")
+ , ("bicyclist", "๐Ÿšด")
+ , ("checkered_flag", "๐Ÿ")
+ , ("horse_racing", "๐Ÿ‡")
+ , ("trophy", "๐Ÿ†")
+ , ("ski", "๐ŸŽฟ")
+ , ("snowboarder", "๐Ÿ‚")
+ , ("swimmer", "๐ŸŠ")
+ , ("surfer", "๐Ÿ„")
+ , ("fishing_pole_and_fish", "๐ŸŽฃ")
+ , ("coffee", "โ˜•")
+ , ("tea", "๐Ÿต")
+ , ("sake", "๐Ÿถ")
+ , ("baby_bottle", "๐Ÿผ")
+ , ("beer", "๐Ÿบ")
+ , ("beers", "๐Ÿป")
+ , ("cocktail", "๐Ÿธ")
+ , ("tropical_drink", "๐Ÿน")
+ , ("wine_glass", "๐Ÿท")
+ , ("fork_and_knife", "๐Ÿด")
+ , ("pizza", "๐Ÿ•")
+ , ("hamburger", "๐Ÿ”")
+ , ("fries", "๐ŸŸ")
+ , ("poultry_leg", "๐Ÿ—")
+ , ("meat_on_bone", "๐Ÿ–")
+ , ("spaghetti", "๐Ÿ")
+ , ("curry", "๐Ÿ›")
+ , ("fried_shrimp", "๐Ÿค")
+ , ("bento", "๐Ÿฑ")
+ , ("sushi", "๐Ÿฃ")
+ , ("fish_cake", "๐Ÿฅ")
+ , ("rice_ball", "๐Ÿ™")
+ , ("rice_cracker", "๐Ÿ˜")
+ , ("rice", "๐Ÿš")
+ , ("ramen", "๐Ÿœ")
+ , ("stew", "๐Ÿฒ")
+ , ("oden", "๐Ÿข")
+ , ("dango", "๐Ÿก")
+ , ("egg", "๐Ÿณ")
+ , ("bread", "๐Ÿž")
+ , ("doughnut", "๐Ÿฉ")
+ , ("custard", "๐Ÿฎ")
+ , ("icecream", "๐Ÿฆ")
+ , ("ice_cream", "๐Ÿจ")
+ , ("shaved_ice", "๐Ÿง")
+ , ("birthday", "๐ŸŽ‚")
+ , ("cake", "๐Ÿฐ")
+ , ("cookie", "๐Ÿช")
+ , ("chocolate_bar", "๐Ÿซ")
+ , ("candy", "๐Ÿฌ")
+ , ("lollipop", "๐Ÿญ")
+ , ("honey_pot", "๐Ÿฏ")
+ , ("apple", "๐ŸŽ")
+ , ("green_apple", "๐Ÿ")
+ , ("tangerine", "๐ŸŠ")
+ , ("lemon", "๐Ÿ‹")
+ , ("cherries", "๐Ÿ’")
+ , ("grapes", "๐Ÿ‡")
+ , ("watermelon", "๐Ÿ‰")
+ , ("strawberry", "๐Ÿ“")
+ , ("peach", "๐Ÿ‘")
+ , ("melon", "๐Ÿˆ")
+ , ("banana", "๐ŸŒ")
+ , ("pear", "๐Ÿ")
+ , ("pineapple", "๐Ÿ")
+ , ("sweet_potato", "๐Ÿ ")
+ , ("eggplant", "๐Ÿ†")
+ , ("tomato", "๐Ÿ…")
+ , ("corn", "๐ŸŒฝ")
+ , ("house", "๐Ÿ ")
+ , ("house_with_garden", "๐Ÿก")
+ , ("school", "๐Ÿซ")
+ , ("office", "๐Ÿข")
+ , ("post_office", "๐Ÿฃ")
+ , ("hospital", "๐Ÿฅ")
+ , ("bank", "๐Ÿฆ")
+ , ("convenience_store", "๐Ÿช")
+ , ("love_hotel", "๐Ÿฉ")
+ , ("hotel", "๐Ÿจ")
+ , ("wedding", "๐Ÿ’’")
+ , ("church", "โ›ช")
+ , ("department_store", "๐Ÿฌ")
+ , ("european_post_office", "๐Ÿค")
+ , ("city_sunrise", "๐ŸŒ‡")
+ , ("city_sunset", "๐ŸŒ†")
+ , ("japanese_castle", "๐Ÿฏ")
+ , ("european_castle", "๐Ÿฐ")
+ , ("tent", "โ›บ")
+ , ("factory", "๐Ÿญ")
+ , ("tokyo_tower", "๐Ÿ—ผ")
+ , ("japan", "๐Ÿ—พ")
+ , ("mount_fuji", "๐Ÿ—ป")
+ , ("sunrise_over_mountains", "๐ŸŒ„")
+ , ("sunrise", "๐ŸŒ…")
+ , ("night_with_stars", "๐ŸŒƒ")
+ , ("statue_of_liberty", "๐Ÿ—ฝ")
+ , ("bridge_at_night", "๐ŸŒ‰")
+ , ("carousel_horse", "๐ŸŽ ")
+ , ("ferris_wheel", "๐ŸŽก")
+ , ("fountain", "โ›ฒ")
+ , ("roller_coaster", "๐ŸŽข")
+ , ("ship", "๐Ÿšข")
+ , ("boat", "โ›ต")
+ , ("sailboat", "โ›ต")
+ , ("speedboat", "๐Ÿšค")
+ , ("rowboat", "๐Ÿšฃ")
+ , ("anchor", "โš“")
+ , ("rocket", "๐Ÿš€")
+ , ("airplane", "โœˆ๏ธ")
+ , ("seat", "๐Ÿ’บ")
+ , ("helicopter", "๐Ÿš")
+ , ("steam_locomotive", "๐Ÿš‚")
+ , ("tram", "๐ŸšŠ")
+ , ("station", "๐Ÿš‰")
+ , ("mountain_railway", "๐Ÿšž")
+ , ("train2", "๐Ÿš†")
+ , ("bullettrain_side", "๐Ÿš„")
+ , ("bullettrain_front", "๐Ÿš…")
+ , ("light_rail", "๐Ÿšˆ")
+ , ("metro", "๐Ÿš‡")
+ , ("monorail", "๐Ÿš")
+ , ("train", "๐Ÿš‹")
+ , ("railway_car", "๐Ÿšƒ")
+ , ("trolleybus", "๐ŸšŽ")
+ , ("bus", "๐ŸšŒ")
+ , ("oncoming_bus", "๐Ÿš")
+ , ("blue_car", "๐Ÿš™")
+ , ("oncoming_automobile", "๐Ÿš˜")
+ , ("car", "๐Ÿš—")
+ , ("red_car", "๐Ÿš—")
+ , ("taxi", "๐Ÿš•")
+ , ("oncoming_taxi", "๐Ÿš–")
+ , ("articulated_lorry", "๐Ÿš›")
+ , ("truck", "๐Ÿšš")
+ , ("rotating_light", "๐Ÿšจ")
+ , ("police_car", "๐Ÿš“")
+ , ("oncoming_police_car", "๐Ÿš”")
+ , ("fire_engine", "๐Ÿš’")
+ , ("ambulance", "๐Ÿš‘")
+ , ("minibus", "๐Ÿš")
+ , ("bike", "๐Ÿšฒ")
+ , ("aerial_tramway", "๐Ÿšก")
+ , ("suspension_railway", "๐ŸšŸ")
+ , ("mountain_cableway", "๐Ÿš ")
+ , ("tractor", "๐Ÿšœ")
+ , ("barber", "๐Ÿ’ˆ")
+ , ("busstop", "๐Ÿš")
+ , ("ticket", "๐ŸŽซ")
+ , ("vertical_traffic_light", "๐Ÿšฆ")
+ , ("traffic_light", "๐Ÿšฅ")
+ , ("warning", "โš ๏ธ")
+ , ("construction", "๐Ÿšง")
+ , ("beginner", "๐Ÿ”ฐ")
+ , ("fuelpump", "โ›ฝ")
+ , ("izakaya_lantern", "๐Ÿฎ")
+ , ("lantern", "๐Ÿฎ")
+ , ("slot_machine", "๐ŸŽฐ")
+ , ("hotsprings", "โ™จ๏ธ")
+ , ("moyai", "๐Ÿ—ฟ")
+ , ("circus_tent", "๐ŸŽช")
+ , ("performing_arts", "๐ŸŽญ")
+ , ("round_pushpin", "๐Ÿ“")
+ , ("triangular_flag_on_post", "๐Ÿšฉ")
+ , ("jp", "๐Ÿ‡ฏ๐Ÿ‡ต")
+ , ("kr", "๐Ÿ‡ฐ๐Ÿ‡ท")
+ , ("de", "๐Ÿ‡ฉ๐Ÿ‡ช")
+ , ("cn", "๐Ÿ‡จ๐Ÿ‡ณ")
+ , ("us", "๐Ÿ‡บ๐Ÿ‡ธ")
+ , ("fr", "๐Ÿ‡ซ๐Ÿ‡ท")
+ , ("es", "๐Ÿ‡ช๐Ÿ‡ธ")
+ , ("it", "๐Ÿ‡ฎ๐Ÿ‡น")
+ , ("ru", "๐Ÿ‡ท๐Ÿ‡บ")
+ , ("gb", "๐Ÿ‡ฌ๐Ÿ‡ง")
+ , ("uk", "๐Ÿ‡ฌ๐Ÿ‡ง")
+ , ("one", "1๏ธโƒฃ")
+ , ("two", "2๏ธโƒฃ")
+ , ("three", "3๏ธโƒฃ")
+ , ("four", "4๏ธโƒฃ")
+ , ("five", "5๏ธโƒฃ")
+ , ("six", "6๏ธโƒฃ")
+ , ("seven", "7๏ธโƒฃ")
+ , ("eight", "8๏ธโƒฃ")
+ , ("nine", "9๏ธโƒฃ")
+ , ("zero", "0๏ธโƒฃ")
+ , ("keycap_ten", "๐Ÿ”Ÿ")
+ , ("hash", "#๏ธโƒฃ")
+ , ("symbols", "๐Ÿ”ฃ")
+ , ("arrow_up", "โฌ†๏ธ")
+ , ("arrow_down", "โฌ‡๏ธ")
+ , ("arrow_left", "โฌ…๏ธ")
+ , ("arrow_right", "โžก๏ธ")
+ , ("capital_abcd", "๐Ÿ” ")
+ , ("abcd", "๐Ÿ”ก")
+ , ("abc", "๐Ÿ”ค")
+ , ("arrow_upper_right", "โ†—๏ธ")
+ , ("arrow_upper_left", "โ†–๏ธ")
+ , ("arrow_lower_right", "โ†˜๏ธ")
+ , ("arrow_lower_left", "โ†™๏ธ")
+ , ("left_right_arrow", "โ†”๏ธ")
+ , ("arrow_up_down", "โ†•๏ธ")
+ , ("arrows_counterclockwise", "๐Ÿ”„")
+ , ("arrow_backward", "โ—€๏ธ")
+ , ("arrow_forward", "โ–ถ๏ธ")
+ , ("arrow_up_small", "๐Ÿ”ผ")
+ , ("arrow_down_small", "๐Ÿ”ฝ")
+ , ("leftwards_arrow_with_hook", "โ†ฉ๏ธ")
+ , ("arrow_right_hook", "โ†ช๏ธ")
+ , ("information_source", "โ„น๏ธ")
+ , ("rewind", "โช")
+ , ("fast_forward", "โฉ")
+ , ("arrow_double_up", "โซ")
+ , ("arrow_double_down", "โฌ")
+ , ("arrow_heading_down", "โคต๏ธ")
+ , ("arrow_heading_up", "โคด๏ธ")
+ , ("ok", "๐Ÿ†—")
+ , ("twisted_rightwards_arrows", "๐Ÿ”€")
+ , ("repeat", "๐Ÿ”")
+ , ("repeat_one", "๐Ÿ”‚")
+ , ("new", "๐Ÿ†•")
+ , ("up", "๐Ÿ†™")
+ , ("cool", "๐Ÿ†’")
+ , ("free", "๐Ÿ†“")
+ , ("ng", "๐Ÿ†–")
+ , ("signal_strength", "๐Ÿ“ถ")
+ , ("cinema", "๐ŸŽฆ")
+ , ("koko", "๐Ÿˆ")
+ , ("u6307", "๐Ÿˆฏ")
+ , ("u7a7a", "๐Ÿˆณ")
+ , ("u6e80", "๐Ÿˆต")
+ , ("u5408", "๐Ÿˆด")
+ , ("u7981", "๐Ÿˆฒ")
+ , ("ideograph_advantage", "๐Ÿ‰")
+ , ("u5272", "๐Ÿˆน")
+ , ("u55b6", "๐Ÿˆบ")
+ , ("u6709", "๐Ÿˆถ")
+ , ("u7121", "๐Ÿˆš")
+ , ("restroom", "๐Ÿšป")
+ , ("mens", "๐Ÿšน")
+ , ("womens", "๐Ÿšบ")
+ , ("baby_symbol", "๐Ÿšผ")
+ , ("wc", "๐Ÿšพ")
+ , ("potable_water", "๐Ÿšฐ")
+ , ("put_litter_in_its_place", "๐Ÿšฎ")
+ , ("parking", "๐Ÿ…ฟ๏ธ")
+ , ("wheelchair", "โ™ฟ")
+ , ("no_smoking", "๐Ÿšญ")
+ , ("u6708", "๐Ÿˆท๏ธ")
+ , ("u7533", "๐Ÿˆธ")
+ , ("sa", "๐Ÿˆ‚๏ธ")
+ , ("m", "โ“‚๏ธ")
+ , ("passport_control", "๐Ÿ›‚")
+ , ("baggage_claim", "๐Ÿ›„")
+ , ("left_luggage", "๐Ÿ›…")
+ , ("customs", "๐Ÿ›ƒ")
+ , ("accept", "๐Ÿ‰‘")
+ , ("secret", "ใŠ™๏ธ")
+ , ("congratulations", "ใŠ—๏ธ")
+ , ("cl", "๐Ÿ†‘")
+ , ("sos", "๐Ÿ†˜")
+ , ("id", "๐Ÿ†”")
+ , ("no_entry_sign", "๐Ÿšซ")
+ , ("underage", "๐Ÿ”ž")
+ , ("no_mobile_phones", "๐Ÿ“ต")
+ , ("do_not_litter", "๐Ÿšฏ")
+ , ("non-potable_water", "๐Ÿšฑ")
+ , ("no_bicycles", "๐Ÿšณ")
+ , ("no_pedestrians", "๐Ÿšท")
+ , ("children_crossing", "๐Ÿšธ")
+ , ("no_entry", "โ›”")
+ , ("eight_spoked_asterisk", "โœณ๏ธ")
+ , ("sparkle", "โ‡๏ธ")
+ , ("negative_squared_cross_mark", "โŽ")
+ , ("white_check_mark", "โœ…")
+ , ("eight_pointed_black_star", "โœด๏ธ")
+ , ("heart_decoration", "๐Ÿ’Ÿ")
+ , ("vs", "๐Ÿ†š")
+ , ("vibration_mode", "๐Ÿ“ณ")
+ , ("mobile_phone_off", "๐Ÿ“ด")
+ , ("a", "๐Ÿ…ฐ๏ธ")
+ , ("b", "๐Ÿ…ฑ๏ธ")
+ , ("ab", "๐Ÿ†Ž")
+ , ("o2", "๐Ÿ…พ๏ธ")
+ , ("diamond_shape_with_a_dot_inside", "๐Ÿ’ ")
+ , ("loop", "โžฟ")
+ , ("recycle", "โ™ป๏ธ")
+ , ("aries", "โ™ˆ")
+ , ("taurus", "โ™‰")
+ , ("gemini", "โ™Š")
+ , ("cancer", "โ™‹")
+ , ("leo", "โ™Œ")
+ , ("virgo", "โ™")
+ , ("libra", "โ™Ž")
+ , ("scorpius", "โ™")
+ , ("sagittarius", "โ™")
+ , ("capricorn", "โ™‘")
+ , ("aquarius", "โ™’")
+ , ("pisces", "โ™“")
+ , ("ophiuchus", "โ›Ž")
+ , ("six_pointed_star", "๐Ÿ”ฏ")
+ , ("atm", "๐Ÿง")
+ , ("chart", "๐Ÿ’น")
+ , ("heavy_dollar_sign", "๐Ÿ’ฒ")
+ , ("currency_exchange", "๐Ÿ’ฑ")
+ , ("copyright", "ยฉ๏ธ")
+ , ("registered", "ยฎ๏ธ")
+ , ("tm", "โ„ข๏ธ")
+ , ("x", "โŒ")
+ , ("bangbang", "โ€ผ๏ธ")
+ , ("interrobang", "โ‰๏ธ")
+ , ("exclamation", "โ—")
+ , ("heavy_exclamation_mark", "โ—")
+ , ("question", "โ“")
+ , ("grey_exclamation", "โ•")
+ , ("grey_question", "โ”")
+ , ("o", "โญ•")
+ , ("top", "๐Ÿ”")
+ , ("end", "๐Ÿ”š")
+ , ("back", "๐Ÿ”™")
+ , ("on", "๐Ÿ”›")
+ , ("soon", "๐Ÿ”œ")
+ , ("arrows_clockwise", "๐Ÿ”ƒ")
+ , ("clock12", "๐Ÿ•›")
+ , ("clock1230", "๐Ÿ•ง")
+ , ("clock1", "๐Ÿ•")
+ , ("clock130", "๐Ÿ•œ")
+ , ("clock2", "๐Ÿ•‘")
+ , ("clock230", "๐Ÿ•")
+ , ("clock3", "๐Ÿ•’")
+ , ("clock330", "๐Ÿ•ž")
+ , ("clock4", "๐Ÿ•“")
+ , ("clock430", "๐Ÿ•Ÿ")
+ , ("clock5", "๐Ÿ•”")
+ , ("clock530", "๐Ÿ• ")
+ , ("clock6", "๐Ÿ••")
+ , ("clock7", "๐Ÿ•–")
+ , ("clock8", "๐Ÿ•—")
+ , ("clock9", "๐Ÿ•˜")
+ , ("clock10", "๐Ÿ•™")
+ , ("clock11", "๐Ÿ•š")
+ , ("clock630", "๐Ÿ•ก")
+ , ("clock730", "๐Ÿ•ข")
+ , ("clock830", "๐Ÿ•ฃ")
+ , ("clock930", "๐Ÿ•ค")
+ , ("clock1030", "๐Ÿ•ฅ")
+ , ("clock1130", "๐Ÿ•ฆ")
+ , ("heavy_multiplication_x", "โœ–๏ธ")
+ , ("heavy_plus_sign", "โž•")
+ , ("heavy_minus_sign", "โž–")
+ , ("heavy_division_sign", "โž—")
+ , ("spades", "โ™ ๏ธ")
+ , ("hearts", "โ™ฅ๏ธ")
+ , ("clubs", "โ™ฃ๏ธ")
+ , ("diamonds", "โ™ฆ๏ธ")
+ , ("white_flower", "๐Ÿ’ฎ")
+ , ("heavy_check_mark", "โœ”๏ธ")
+ , ("ballot_box_with_check", "โ˜‘๏ธ")
+ , ("radio_button", "๐Ÿ”˜")
+ , ("link", "๐Ÿ”—")
+ , ("curly_loop", "โžฐ")
+ , ("wavy_dash", "ใ€ฐ๏ธ")
+ , ("part_alternation_mark", "ใ€ฝ๏ธ")
+ , ("trident", "๐Ÿ”ฑ")
+ , ("black_medium_square", "โ—ผ๏ธ")
+ , ("white_medium_square", "โ—ป๏ธ")
+ , ("black_medium_small_square", "โ—พ")
+ , ("white_medium_small_square", "โ—ฝ")
+ , ("black_small_square", "โ–ช๏ธ")
+ , ("white_small_square", "โ–ซ๏ธ")
+ , ("small_red_triangle", "๐Ÿ”บ")
+ , ("black_square_button", "๐Ÿ”ฒ")
+ , ("white_square_button", "๐Ÿ”ณ")
+ , ("black_circle", "โšซ")
+ , ("white_circle", "โšช")
+ , ("red_circle", "๐Ÿ”ด")
+ , ("large_blue_circle", "๐Ÿ”ต")
+ , ("small_red_triangle_down", "๐Ÿ”ป")
+ , ("white_large_square", "โฌœ")
+ , ("black_large_square", "โฌ›")
+ , ("large_orange_diamond", "๐Ÿ”ถ")
+ , ("large_blue_diamond", "๐Ÿ”ท")
+ , ("small_orange_diamond", "๐Ÿ”ธ")
+ , ("small_blue_diamond", "๐Ÿ”น")
+ ]
diff --git a/src/Text/Pandoc/Options.hs b/src/Text/Pandoc/Options.hs
index 20c842e0d..b7d268a65 100644
--- a/src/Text/Pandoc/Options.hs
+++ b/src/Text/Pandoc/Options.hs
@@ -105,6 +105,7 @@ data Extension =
| Ext_ignore_line_breaks -- ^ Newlines in paragraphs are ignored
| Ext_literate_haskell -- ^ Enable literate Haskell conventions
| Ext_abbreviations -- ^ PHP markdown extra abbreviation definitions
+ | Ext_emoji -- ^ Support emoji like :smile:
| Ext_auto_identifiers -- ^ Automatic identifiers for headers
| Ext_ascii_identifiers -- ^ ascii-only identifiers for headers
| Ext_header_attributes -- ^ Explicit header attributes {#id .class k=v}
@@ -203,6 +204,7 @@ githubMarkdownExtensions = Set.fromList
, Ext_intraword_underscores
, Ext_strikeout
, Ext_hard_line_breaks
+ , Ext_emoji
, Ext_lists_without_preceding_blankline
, Ext_shortcut_reference_links
]
diff --git a/src/Text/Pandoc/Parsing.hs b/src/Text/Pandoc/Parsing.hs
index c64860ad9..02d114e0f 100644
--- a/src/Text/Pandoc/Parsing.hs
+++ b/src/Text/Pandoc/Parsing.hs
@@ -1211,7 +1211,8 @@ citeKey = try $ do
firstChar <- alphaNum <|> char '_' <|> char '*' -- @* for wildcard in nocite
let regchar = satisfy (\c -> isAlphaNum c || c == '_')
let internal p = try $ p <* lookAhead regchar
- rest <- many $ regchar <|> internal (oneOf ":.#$%&-+?<>~/")
+ rest <- many $ regchar <|> internal (oneOf ":.#$%&-+?<>~/") <|>
+ (oneOf ":/" <* lookAhead (char '/'))
let key = firstChar:rest
return (suppress_author, key)
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs
index d73b92fbd..7e811a966 100644
--- a/src/Text/Pandoc/Readers/Markdown.hs
+++ b/src/Text/Pandoc/Readers/Markdown.hs
@@ -39,6 +39,7 @@ import Data.Ord ( comparing )
import Data.Char ( isSpace, isAlphaNum, toLower )
import Data.Maybe
import Text.Pandoc.Definition
+import Text.Pandoc.Emoji (emojis)
import qualified Data.Text as T
import Data.Text (Text)
import qualified Data.Yaml as Yaml
@@ -1467,6 +1468,7 @@ inline = choice [ whitespace
, exampleRef
, smart
, return . B.singleton <$> charRef
+ , emoji
, symbol
, ltSign
] <?> "inline"
@@ -1898,6 +1900,21 @@ rawHtmlInline = do
else not . isTextTag
return $ return $ B.rawInline "html" result
+-- Emoji
+
+emojiChars :: [Char]
+emojiChars = ['a'..'z'] ++ ['0'..'9'] ++ ['_','+','-']
+
+emoji :: MarkdownParser (F Inlines)
+emoji = try $ do
+ guardEnabled Ext_emoji
+ char ':'
+ emojikey <- many1 (oneOf emojiChars)
+ char ':'
+ case M.lookup emojikey emojis of
+ Just s -> return (return (B.str s))
+ Nothing -> mzero
+
-- Citations
cite :: MarkdownParser (F Inlines)
diff --git a/src/Text/Pandoc/Readers/Org.hs b/src/Text/Pandoc/Readers/Org.hs
index 44474a37a..3be47cfd4 100644
--- a/src/Text/Pandoc/Readers/Org.hs
+++ b/src/Text/Pandoc/Readers/Org.hs
@@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
{- |
Module : Text.Pandoc.Readers.Org
- Copyright : Copyright (C) 2014 Albert Krewinkel
+ Copyright : Copyright (C) 2014-2015 Albert Krewinkel
License : GNU GPL, version 2 or above
Maintainer : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
@@ -1588,8 +1588,11 @@ smart :: OrgParser (F Inlines)
smart = do
getOption readerSmart >>= guard
doubleQuoted <|> singleQuoted <|>
- choice (map (return <$>) [orgApostrophe, dash, ellipses])
- where orgApostrophe =
+ choice (map (return <$>) [orgApostrophe, orgDash, orgEllipses])
+ where
+ orgDash = dash <* updatePositions '-'
+ orgEllipses = ellipses <* updatePositions '.'
+ orgApostrophe =
(char '\'' <|> char '\8217') <* updateLastPreCharPos
<* updateLastForbiddenCharPos
*> return (B.str "\x2019")
@@ -1597,9 +1600,10 @@ smart = do
singleQuoted :: OrgParser (F Inlines)
singleQuoted = try $ do
singleQuoteStart
+ updatePositions '\''
withQuoteContext InSingleQuote $
fmap B.singleQuoted . trimInlinesF . mconcat <$>
- many1Till inline singleQuoteEnd
+ many1Till inline (singleQuoteEnd <* updatePositions '\'')
-- doubleQuoted will handle regular double-quoted sections, as well
-- as dialogues with an open double-quote without a close double-quote
@@ -1607,6 +1611,7 @@ singleQuoted = try $ do
doubleQuoted :: OrgParser (F Inlines)
doubleQuoted = try $ do
doubleQuoteStart
+ updatePositions '"'
contents <- mconcat <$> many (try $ notFollowedBy doubleQuoteEnd >> inline)
(withQuoteContext InDoubleQuote $ (doubleQuoteEnd <* updateLastForbiddenCharPos) >> return
(fmap B.doubleQuoted . trimInlinesF $ contents))