diff options
Diffstat (limited to 'lisp/leim')
-rw-r--r-- | lisp/leim/quail/compose.el | 6 | ||||
-rw-r--r-- | lisp/leim/quail/emoji.el | 2003 | ||||
-rw-r--r-- | lisp/leim/quail/hangul.el | 4 | ||||
-rw-r--r-- | lisp/leim/quail/indian.el | 1163 | ||||
-rw-r--r-- | lisp/leim/quail/indonesian.el | 557 | ||||
-rw-r--r-- | lisp/leim/quail/ipa.el | 10 | ||||
-rw-r--r-- | lisp/leim/quail/latin-post.el | 18 | ||||
-rw-r--r-- | lisp/leim/quail/latin-pre.el | 18 | ||||
-rw-r--r-- | lisp/leim/quail/misc-lang.el | 101 | ||||
-rw-r--r-- | lisp/leim/quail/philippine.el | 152 | ||||
-rw-r--r-- | lisp/leim/quail/symbol-ksc.el | 4 |
11 files changed, 3994 insertions, 42 deletions
diff --git a/lisp/leim/quail/compose.el b/lisp/leim/quail/compose.el index 2aa8ae78fe7..60c73d7dff8 100644 --- a/lisp/leim/quail/compose.el +++ b/lisp/leim/quail/compose.el @@ -464,9 +464,9 @@ Examples: ("2^" ?²) ("^3" ?³) ("3^" ?³) - ("mu" ?µ) - ("/u" ?µ) - ("u/" ?µ) + ("mu" ?μ) + ("/u" ?μ) + ("u/" ?μ) ("^1" ?¹) ("1^" ?¹) ("^_o" ?º) diff --git a/lisp/leim/quail/emoji.el b/lisp/leim/quail/emoji.el new file mode 100644 index 00000000000..f9d3e170be5 --- /dev/null +++ b/lisp/leim/quail/emoji.el @@ -0,0 +1,2003 @@ +;;; emoji.el --- Quail package for emoji character composition -*- lexical-binding: t -*- + +;; Copyright (C) 2022 Free Software Foundation, Inc. + +;; Author: Juri Linkov <juri@linkov.net> +;; Keywords: multilingual, input method, i18n + +;; This file is part of GNU Emacs. + +;; GNU Emacs 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. + +;; GNU Emacs 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 GNU Emacs. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; This input method supports the same key sequences as the names +;; defined by the `C-x 8 e s' completions in emoji.el. Also it adds +;; more emoji that enclosed in double colons. + +;; You can enable this input method transiently with `C-u C-x \ emoji RET'. +;; Then typing `C-x \' will enable this input method temporarily, and +;; after typing a key sequence it will be disabled. So typing +;; e.g. `C-x \ : )' will insert the smiling character, and disable +;; this input method automatically afterwards. + +;;; Code: + +(require 'quail) + +(quail-define-package + "emoji" "UTF-8" "🙂" t + "Emoji input method for inserting emoji characters. +Examples: + slightly smiling face -> 🙂 + :slightly_smiling_face: -> 🙂 + :-) -> 🙂" + '(("\t" . quail-completion)) + t nil nil nil nil nil nil nil nil t) + +(eval-when-compile + (require 'emoji) + (emoji--init) + (defmacro emoji--define-rules () + `(quail-define-rules + ,@(let ((rules nil)) + (maphash (lambda (from to) + (push (list from (if (stringp to) + (vector to) + to)) + rules)) + emoji--all-bases) + (append + rules + '((":hash:" ["#️⃣"]) + (":keycap_star:" ["*️⃣"]) + (":zero:" ["0️⃣"]) + (":one:" ["1️⃣"]) + (":two:" ["2️⃣"]) + (":three:" ["3️⃣"]) + (":four:" ["4️⃣"]) + (":five:" ["5️⃣"]) + (":six:" ["6️⃣"]) + (":seven:" ["7️⃣"]) + (":eight:" ["8️⃣"]) + (":nine:" ["9️⃣"]) + (":copyright:" ["©️"]) + (":registered:" ["®️"]) + (":mahjong:" ["🀄"]) + (":black_joker:" ["🃏"]) + (":a:" ["🅰️"]) + (":b:" ["🅱️"]) + (":o2:" ["🅾️"]) + (":parking:" ["🅿️"]) + (":ab:" ["🆎"]) + (":cl:" ["🆑"]) + (":cool:" ["🆒"]) + (":free:" ["🆓"]) + (":id:" ["🆔"]) + (":new:" ["🆕"]) + (":ng:" ["🆖"]) + (":ok:" ["🆗"]) + (":sos:" ["🆘"]) + (":up:" ["🆙"]) + (":vs:" ["🆚"]) + (":flag-ac:" ["🇦🇨"]) + (":flag-ad:" ["🇦🇩"]) + (":flag-ae:" ["🇦🇪"]) + (":flag-af:" ["🇦🇫"]) + (":flag-ag:" ["🇦🇬"]) + (":flag-ai:" ["🇦🇮"]) + (":flag-al:" ["🇦🇱"]) + (":flag-am:" ["🇦🇲"]) + (":flag-ao:" ["🇦🇴"]) + (":flag-aq:" ["🇦🇶"]) + (":flag-ar:" ["🇦🇷"]) + (":flag-as:" ["🇦🇸"]) + (":flag-at:" ["🇦🇹"]) + (":flag-au:" ["🇦🇺"]) + (":flag-aw:" ["🇦🇼"]) + (":flag-ax:" ["🇦🇽"]) + (":flag-az:" ["🇦🇿"]) + (":flag-ba:" ["🇧🇦"]) + (":flag-bb:" ["🇧🇧"]) + (":flag-bd:" ["🇧🇩"]) + (":flag-be:" ["🇧🇪"]) + (":flag-bf:" ["🇧🇫"]) + (":flag-bg:" ["🇧🇬"]) + (":flag-bh:" ["🇧🇭"]) + (":flag-bi:" ["🇧🇮"]) + (":flag-bj:" ["🇧🇯"]) + (":flag-bl:" ["🇧🇱"]) + (":flag-bm:" ["🇧🇲"]) + (":flag-bn:" ["🇧🇳"]) + (":flag-bo:" ["🇧🇴"]) + (":flag-bq:" ["🇧🇶"]) + (":flag-br:" ["🇧🇷"]) + (":flag-bs:" ["🇧🇸"]) + (":flag-bt:" ["🇧🇹"]) + (":flag-bv:" ["🇧🇻"]) + (":flag-bw:" ["🇧🇼"]) + (":flag-by:" ["🇧🇾"]) + (":flag-bz:" ["🇧🇿"]) + (":flag-ca:" ["🇨🇦"]) + (":flag-cc:" ["🇨🇨"]) + (":flag-cd:" ["🇨🇩"]) + (":flag-cf:" ["🇨🇫"]) + (":flag-cg:" ["🇨🇬"]) + (":flag-ch:" ["🇨🇭"]) + (":flag-ci:" ["🇨🇮"]) + (":flag-ck:" ["🇨🇰"]) + (":flag-cl:" ["🇨🇱"]) + (":flag-cm:" ["🇨🇲"]) + (":cn:" ["🇨🇳"]) + (":flag-cn:" ["🇨🇳"]) + (":flag-co:" ["🇨🇴"]) + (":flag-cp:" ["🇨🇵"]) + (":flag-cr:" ["🇨🇷"]) + (":flag-cu:" ["🇨🇺"]) + (":flag-cv:" ["🇨🇻"]) + (":flag-cw:" ["🇨🇼"]) + (":flag-cx:" ["🇨🇽"]) + (":flag-cy:" ["🇨🇾"]) + (":flag-cz:" ["🇨🇿"]) + (":de:" ["🇩🇪"]) + (":flag-de:" ["🇩🇪"]) + (":flag-dg:" ["🇩🇬"]) + (":flag-dj:" ["🇩🇯"]) + (":flag-dk:" ["🇩🇰"]) + (":flag-dm:" ["🇩🇲"]) + (":flag-do:" ["🇩🇴"]) + (":flag-dz:" ["🇩🇿"]) + (":flag-ea:" ["🇪🇦"]) + (":flag-ec:" ["🇪🇨"]) + (":flag-ee:" ["🇪🇪"]) + (":flag-eg:" ["🇪🇬"]) + (":flag-eh:" ["🇪🇭"]) + (":flag-er:" ["🇪🇷"]) + (":es:" ["🇪🇸"]) + (":flag-es:" ["🇪🇸"]) + (":flag-et:" ["🇪🇹"]) + (":flag-eu:" ["🇪🇺"]) + (":flag-fi:" ["🇫🇮"]) + (":flag-fj:" ["🇫🇯"]) + (":flag-fk:" ["🇫🇰"]) + (":flag-fm:" ["🇫🇲"]) + (":flag-fo:" ["🇫🇴"]) + (":fr:" ["🇫🇷"]) + (":flag-fr:" ["🇫🇷"]) + (":flag-ga:" ["🇬🇦"]) + (":gb:" ["🇬🇧"]) + (":uk:" ["🇬🇧"]) + (":flag-gb:" ["🇬🇧"]) + (":flag-gd:" ["🇬🇩"]) + (":flag-ge:" ["🇬🇪"]) + (":flag-gf:" ["🇬🇫"]) + (":flag-gg:" ["🇬🇬"]) + (":flag-gh:" ["🇬🇭"]) + (":flag-gi:" ["🇬🇮"]) + (":flag-gl:" ["🇬🇱"]) + (":flag-gm:" ["🇬🇲"]) + (":flag-gn:" ["🇬🇳"]) + (":flag-gp:" ["🇬🇵"]) + (":flag-gq:" ["🇬🇶"]) + (":flag-gr:" ["🇬🇷"]) + (":flag-gs:" ["🇬🇸"]) + (":flag-gt:" ["🇬🇹"]) + (":flag-gu:" ["🇬🇺"]) + (":flag-gw:" ["🇬🇼"]) + (":flag-gy:" ["🇬🇾"]) + (":flag-hk:" ["🇭🇰"]) + (":flag-hm:" ["🇭🇲"]) + (":flag-hn:" ["🇭🇳"]) + (":flag-hr:" ["🇭🇷"]) + (":flag-ht:" ["🇭🇹"]) + (":flag-hu:" ["🇭🇺"]) + (":flag-ic:" ["🇮🇨"]) + (":flag-id:" ["🇮🇩"]) + (":flag-ie:" ["🇮🇪"]) + (":flag-il:" ["🇮🇱"]) + (":flag-im:" ["🇮🇲"]) + (":flag-in:" ["🇮🇳"]) + (":flag-io:" ["🇮🇴"]) + (":flag-iq:" ["🇮🇶"]) + (":flag-ir:" ["🇮🇷"]) + (":flag-is:" ["🇮🇸"]) + (":it:" ["🇮🇹"]) + (":flag-it:" ["🇮🇹"]) + (":flag-je:" ["🇯🇪"]) + (":flag-jm:" ["🇯🇲"]) + (":flag-jo:" ["🇯🇴"]) + (":jp:" ["🇯🇵"]) + (":flag-jp:" ["🇯🇵"]) + (":flag-ke:" ["🇰🇪"]) + (":flag-kg:" ["🇰🇬"]) + (":flag-kh:" ["🇰🇭"]) + (":flag-ki:" ["🇰🇮"]) + (":flag-km:" ["🇰🇲"]) + (":flag-kn:" ["🇰🇳"]) + (":flag-kp:" ["🇰🇵"]) + (":kr:" ["🇰🇷"]) + (":flag-kr:" ["🇰🇷"]) + (":flag-kw:" ["🇰🇼"]) + (":flag-ky:" ["🇰🇾"]) + (":flag-kz:" ["🇰🇿"]) + (":flag-la:" ["🇱🇦"]) + (":flag-lb:" ["🇱🇧"]) + (":flag-lc:" ["🇱🇨"]) + (":flag-li:" ["🇱🇮"]) + (":flag-lk:" ["🇱🇰"]) + (":flag-lr:" ["🇱🇷"]) + (":flag-ls:" ["🇱🇸"]) + (":flag-lt:" ["🇱🇹"]) + (":flag-lu:" ["🇱🇺"]) + (":flag-lv:" ["🇱🇻"]) + (":flag-ly:" ["🇱🇾"]) + (":flag-ma:" ["🇲🇦"]) + (":flag-mc:" ["🇲🇨"]) + (":flag-md:" ["🇲🇩"]) + (":flag-me:" ["🇲🇪"]) + (":flag-mf:" ["🇲🇫"]) + (":flag-mg:" ["🇲🇬"]) + (":flag-mh:" ["🇲🇭"]) + (":flag-mk:" ["🇲🇰"]) + (":flag-ml:" ["🇲🇱"]) + (":flag-mm:" ["🇲🇲"]) + (":flag-mn:" ["🇲🇳"]) + (":flag-mo:" ["🇲🇴"]) + (":flag-mp:" ["🇲🇵"]) + (":flag-mq:" ["🇲🇶"]) + (":flag-mr:" ["🇲🇷"]) + (":flag-ms:" ["🇲🇸"]) + (":flag-mt:" ["🇲🇹"]) + (":flag-mu:" ["🇲🇺"]) + (":flag-mv:" ["🇲🇻"]) + (":flag-mw:" ["🇲🇼"]) + (":flag-mx:" ["🇲🇽"]) + (":flag-my:" ["🇲🇾"]) + (":flag-mz:" ["🇲🇿"]) + (":flag-na:" ["🇳🇦"]) + (":flag-nc:" ["🇳🇨"]) + (":flag-ne:" ["🇳🇪"]) + (":flag-nf:" ["🇳🇫"]) + (":flag-ng:" ["🇳🇬"]) + (":flag-ni:" ["🇳🇮"]) + (":flag-nl:" ["🇳🇱"]) + (":flag-no:" ["🇳🇴"]) + (":flag-np:" ["🇳🇵"]) + (":flag-nr:" ["🇳🇷"]) + (":flag-nu:" ["🇳🇺"]) + (":flag-nz:" ["🇳🇿"]) + (":flag-om:" ["🇴🇲"]) + (":flag-pa:" ["🇵🇦"]) + (":flag-pe:" ["🇵🇪"]) + (":flag-pf:" ["🇵🇫"]) + (":flag-pg:" ["🇵🇬"]) + (":flag-ph:" ["🇵🇭"]) + (":flag-pk:" ["🇵🇰"]) + (":flag-pl:" ["🇵🇱"]) + (":flag-pm:" ["🇵🇲"]) + (":flag-pn:" ["🇵🇳"]) + (":flag-pr:" ["🇵🇷"]) + (":flag-ps:" ["🇵🇸"]) + (":flag-pt:" ["🇵🇹"]) + (":flag-pw:" ["🇵🇼"]) + (":flag-py:" ["🇵🇾"]) + (":flag-qa:" ["🇶🇦"]) + (":flag-re:" ["🇷🇪"]) + (":flag-ro:" ["🇷🇴"]) + (":flag-rs:" ["🇷🇸"]) + (":ru:" ["🇷🇺"]) + (":flag-ru:" ["🇷🇺"]) + (":flag-rw:" ["🇷🇼"]) + (":flag-sa:" ["🇸🇦"]) + (":flag-sb:" ["🇸🇧"]) + (":flag-sc:" ["🇸🇨"]) + (":flag-sd:" ["🇸🇩"]) + (":flag-se:" ["🇸🇪"]) + (":flag-sg:" ["🇸🇬"]) + (":flag-sh:" ["🇸🇭"]) + (":flag-si:" ["🇸🇮"]) + (":flag-sj:" ["🇸🇯"]) + (":flag-sk:" ["🇸🇰"]) + (":flag-sl:" ["🇸🇱"]) + (":flag-sm:" ["🇸🇲"]) + (":flag-sn:" ["🇸🇳"]) + (":flag-so:" ["🇸🇴"]) + (":flag-sr:" ["🇸🇷"]) + (":flag-ss:" ["🇸🇸"]) + (":flag-st:" ["🇸🇹"]) + (":flag-sv:" ["🇸🇻"]) + (":flag-sx:" ["🇸🇽"]) + (":flag-sy:" ["🇸🇾"]) + (":flag-sz:" ["🇸🇿"]) + (":flag-ta:" ["🇹🇦"]) + (":flag-tc:" ["🇹🇨"]) + (":flag-td:" ["🇹🇩"]) + (":flag-tf:" ["🇹🇫"]) + (":flag-tg:" ["🇹🇬"]) + (":flag-th:" ["🇹🇭"]) + (":flag-tj:" ["🇹🇯"]) + (":flag-tk:" ["🇹🇰"]) + (":flag-tl:" ["🇹🇱"]) + (":flag-tm:" ["🇹🇲"]) + (":flag-tn:" ["🇹🇳"]) + (":flag-to:" ["🇹🇴"]) + (":flag-tr:" ["🇹🇷"]) + (":flag-tt:" ["🇹🇹"]) + (":flag-tv:" ["🇹🇻"]) + (":flag-tw:" ["🇹🇼"]) + (":flag-tz:" ["🇹🇿"]) + (":flag-ua:" ["🇺🇦"]) + (":flag-ug:" ["🇺🇬"]) + (":flag-um:" ["🇺🇲"]) + (":flag-un:" ["🇺🇳"]) + (":us:" ["🇺🇸"]) + (":flag-us:" ["🇺🇸"]) + (":flag-uy:" ["🇺🇾"]) + (":flag-uz:" ["🇺🇿"]) + (":flag-va:" ["🇻🇦"]) + (":flag-vc:" ["🇻🇨"]) + (":flag-ve:" ["🇻🇪"]) + (":flag-vg:" ["🇻🇬"]) + (":flag-vi:" ["🇻🇮"]) + (":flag-vn:" ["🇻🇳"]) + (":flag-vu:" ["🇻🇺"]) + (":flag-wf:" ["🇼🇫"]) + (":flag-ws:" ["🇼🇸"]) + (":flag-xk:" ["🇽🇰"]) + (":flag-ye:" ["🇾🇪"]) + (":flag-yt:" ["🇾🇹"]) + (":flag-za:" ["🇿🇦"]) + (":flag-zm:" ["🇿🇲"]) + (":flag-zw:" ["🇿🇼"]) + (":koko:" ["🈁"]) + (":sa:" ["🈂️"]) + (":u7121:" ["🈚"]) + (":u6307:" ["🈯"]) + (":u7981:" ["🈲"]) + (":u7a7a:" ["🈳"]) + (":u5408:" ["🈴"]) + (":u6e80:" ["🈵"]) + (":u6709:" ["🈶"]) + (":u6708:" ["🈷️"]) + (":u7533:" ["🈸"]) + (":u5272:" ["🈹"]) + (":u55b6:" ["🈺"]) + (":ideograph_advantage:" ["🉐"]) + (":accept:" ["🉑"]) + (":cyclone:" ["🌀"]) + (":foggy:" ["🌁"]) + (":closed_umbrella:" ["🌂"]) + (":night_with_stars:" ["🌃"]) + (":sunrise_over_mountains:" ["🌄"]) + (":sunrise:" ["🌅"]) + (":city_sunset:" ["🌆"]) + (":city_sunrise:" ["🌇"]) + (":rainbow:" ["🌈"]) + (":bridge_at_night:" ["🌉"]) + (":ocean:" ["🌊"]) + (":volcano:" ["🌋"]) + (":milky_way:" ["🌌"]) + (":earth_africa:" ["🌍"]) + (":earth_americas:" ["🌎"]) + (":earth_asia:" ["🌏"]) + (":globe_with_meridians:" ["🌐"]) + (":new_moon:" ["🌑"]) + (":waxing_crescent_moon:" ["🌒"]) + (":first_quarter_moon:" ["🌓"]) + (":moon:" ["🌔"]) + (":waxing_gibbous_moon:" ["🌔"]) + (":full_moon:" ["🌕"]) + (":waning_gibbous_moon:" ["🌖"]) + (":last_quarter_moon:" ["🌗"]) + (":waning_crescent_moon:" ["🌘"]) + (":crescent_moon:" ["🌙"]) + (":new_moon_with_face:" ["🌚"]) + (":first_quarter_moon_with_face:" ["🌛"]) + (":last_quarter_moon_with_face:" ["🌜"]) + (":full_moon_with_face:" ["🌝"]) + (":sun_with_face:" ["🌞"]) + (":star2:" ["🌟"]) + (":stars:" ["🌠"]) + (":thermometer:" ["🌡️"]) + (":mostly_sunny:" ["🌤️"]) + (":sun_small_cloud:" ["🌤️"]) + (":barely_sunny:" ["🌥️"]) + (":sun_behind_cloud:" ["🌥️"]) + (":partly_sunny_rain:" ["🌦️"]) + (":sun_behind_rain_cloud:" ["🌦️"]) + (":rain_cloud:" ["🌧️"]) + (":snow_cloud:" ["🌨️"]) + (":lightning:" ["🌩️"]) + (":lightning_cloud:" ["🌩️"]) + (":tornado:" ["🌪️"]) + (":tornado_cloud:" ["🌪️"]) + (":fog:" ["🌫️"]) + (":wind_blowing_face:" ["🌬️"]) + (":hotdog:" ["🌭"]) + (":taco:" ["🌮"]) + (":burrito:" ["🌯"]) + (":chestnut:" ["🌰"]) + (":seedling:" ["🌱"]) + (":evergreen_tree:" ["🌲"]) + (":deciduous_tree:" ["🌳"]) + (":palm_tree:" ["🌴"]) + (":cactus:" ["🌵"]) + (":hot_pepper:" ["🌶️"]) + (":tulip:" ["🌷"]) + (":cherry_blossom:" ["🌸"]) + (":rose:" ["🌹"]) + (":hibiscus:" ["🌺"]) + (":sunflower:" ["🌻"]) + (":blossom:" ["🌼"]) + (":corn:" ["🌽"]) + (":ear_of_rice:" ["🌾"]) + (":herb:" ["🌿"]) + (":four_leaf_clover:" ["🍀"]) + (":maple_leaf:" ["🍁"]) + (":fallen_leaf:" ["🍂"]) + (":leaves:" ["🍃"]) + (":mushroom:" ["🍄"]) + (":tomato:" ["🍅"]) + (":eggplant:" ["🍆"]) + (":grapes:" ["🍇"]) + (":melon:" ["🍈"]) + (":watermelon:" ["🍉"]) + (":tangerine:" ["🍊"]) + (":lemon:" ["🍋"]) + (":banana:" ["🍌"]) + (":pineapple:" ["🍍"]) + (":apple:" ["🍎"]) + (":green_apple:" ["🍏"]) + (":pear:" ["🍐"]) + (":peach:" ["🍑"]) + (":cherries:" ["🍒"]) + (":strawberry:" ["🍓"]) + (":hamburger:" ["🍔"]) + (":pizza:" ["🍕"]) + (":meat_on_bone:" ["🍖"]) + (":poultry_leg:" ["🍗"]) + (":rice_cracker:" ["🍘"]) + (":rice_ball:" ["🍙"]) + (":rice:" ["🍚"]) + (":curry:" ["🍛"]) + (":ramen:" ["🍜"]) + (":spaghetti:" ["🍝"]) + (":bread:" ["🍞"]) + (":fries:" ["🍟"]) + (":sweet_potato:" ["🍠"]) + (":dango:" ["🍡"]) + (":oden:" ["🍢"]) + (":sushi:" ["🍣"]) + (":fried_shrimp:" ["🍤"]) + (":fish_cake:" ["🍥"]) + (":icecream:" ["🍦"]) + (":shaved_ice:" ["🍧"]) + (":ice_cream:" ["🍨"]) + (":doughnut:" ["🍩"]) + (":cookie:" ["🍪"]) + (":chocolate_bar:" ["🍫"]) + (":candy:" ["🍬"]) + (":lollipop:" ["🍭"]) + (":custard:" ["🍮"]) + (":honey_pot:" ["🍯"]) + (":cake:" ["🍰"]) + (":bento:" ["🍱"]) + (":stew:" ["🍲"]) + (":fried_egg:" ["🍳"]) + (":cooking:" ["🍳"]) + (":fork_and_knife:" ["🍴"]) + (":tea:" ["🍵"]) + (":sake:" ["🍶"]) + (":wine_glass:" ["🍷"]) + (":cocktail:" ["🍸"]) + (":tropical_drink:" ["🍹"]) + (":beer:" ["🍺"]) + (":beers:" ["🍻"]) + (":baby_bottle:" ["🍼"]) + (":knife_fork_plate:" ["🍽️"]) + (":champagne:" ["🍾"]) + (":popcorn:" ["🍿"]) + (":ribbon:" ["🎀"]) + (":gift:" ["🎁"]) + (":birthday:" ["🎂"]) + (":jack_o_lantern:" ["🎃"]) + (":christmas_tree:" ["🎄"]) + (":santa:" ["🎅"]) + (":fireworks:" ["🎆"]) + (":sparkler:" ["🎇"]) + (":balloon:" ["🎈"]) + (":tada:" ["🎉"]) + (":confetti_ball:" ["🎊"]) + (":tanabata_tree:" ["🎋"]) + (":crossed_flags:" ["🎌"]) + (":bamboo:" ["🎍"]) + (":dolls:" ["🎎"]) + (":flags:" ["🎏"]) + (":wind_chime:" ["🎐"]) + (":rice_scene:" ["🎑"]) + (":school_satchel:" ["🎒"]) + (":mortar_board:" ["🎓"]) + (":medal:" ["🎖️"]) + (":reminder_ribbon:" ["🎗️"]) + (":studio_microphone:" ["🎙️"]) + (":level_slider:" ["🎚️"]) + (":control_knobs:" ["🎛️"]) + (":film_frames:" ["🎞️"]) + (":admission_tickets:" ["🎟️"]) + (":carousel_horse:" ["🎠"]) + (":ferris_wheel:" ["🎡"]) + (":roller_coaster:" ["🎢"]) + (":fishing_pole_and_fish:" ["🎣"]) + (":microphone:" ["🎤"]) + (":movie_camera:" ["🎥"]) + (":cinema:" ["🎦"]) + (":headphones:" ["🎧"]) + (":art:" ["🎨"]) + (":tophat:" ["🎩"]) + (":circus_tent:" ["🎪"]) + (":ticket:" ["🎫"]) + (":clapper:" ["🎬"]) + (":performing_arts:" ["🎭"]) + (":video_game:" ["🎮"]) + (":dart:" ["🎯"]) + (":slot_machine:" ["🎰"]) + (":8ball:" ["🎱"]) + (":game_die:" ["🎲"]) + (":bowling:" ["🎳"]) + (":flower_playing_cards:" ["🎴"]) + (":musical_note:" ["🎵"]) + (":notes:" ["🎶"]) + (":saxophone:" ["🎷"]) + (":guitar:" ["🎸"]) + (":musical_keyboard:" ["🎹"]) + (":trumpet:" ["🎺"]) + (":violin:" ["🎻"]) + (":musical_score:" ["🎼"]) + (":running_shirt_with_sash:" ["🎽"]) + (":tennis:" ["🎾"]) + (":ski:" ["🎿"]) + (":basketball:" ["🏀"]) + (":checkered_flag:" ["🏁"]) + (":snowboarder:" ["🏂"]) + (":woman-running:" ["🏃♀️"]) + (":man-running:" ["🏃♂️"]) + (":runner:" ["🏃"]) + (":running:" ["🏃"]) + (":woman-surfing:" ["🏄♀️"]) + (":man-surfing:" ["🏄♂️"]) + (":surfer:" ["🏄"]) + (":sports_medal:" ["🏅"]) + (":trophy:" ["🏆"]) + (":horse_racing:" ["🏇"]) + (":football:" ["🏈"]) + (":rugby_football:" ["🏉"]) + (":woman-swimming:" ["🏊♀️"]) + (":man-swimming:" ["🏊♂️"]) + (":swimmer:" ["🏊"]) + (":woman-lifting-weights:" ["🏋️♀️"]) + (":man-lifting-weights:" ["🏋️♂️"]) + (":weight_lifter:" ["🏋️"]) + (":woman-golfing:" ["🏌️♀️"]) + (":man-golfing:" ["🏌️♂️"]) + (":golfer:" ["🏌️"]) + (":racing_motorcycle:" ["🏍️"]) + (":racing_car:" ["🏎️"]) + (":cricket_bat_and_ball:" ["🏏"]) + (":volleyball:" ["🏐"]) + (":field_hockey_stick_and_ball:" ["🏑"]) + (":ice_hockey_stick_and_puck:" ["🏒"]) + (":table_tennis_paddle_and_ball:" ["🏓"]) + (":snow_capped_mountain:" ["🏔️"]) + (":camping:" ["🏕️"]) + (":beach_with_umbrella:" ["🏖️"]) + (":building_construction:" ["🏗️"]) + (":house_buildings:" ["🏘️"]) + (":cityscape:" ["🏙️"]) + (":derelict_house_building:" ["🏚️"]) + (":classical_building:" ["🏛️"]) + (":desert:" ["🏜️"]) + (":desert_island:" ["🏝️"]) + (":national_park:" ["🏞️"]) + (":stadium:" ["🏟️"]) + (":house:" ["🏠"]) + (":house_with_garden:" ["🏡"]) + (":office:" ["🏢"]) + (":post_office:" ["🏣"]) + (":european_post_office:" ["🏤"]) + (":hospital:" ["🏥"]) + (":bank:" ["🏦"]) + (":atm:" ["🏧"]) + (":hotel:" ["🏨"]) + (":love_hotel:" ["🏩"]) + (":convenience_store:" ["🏪"]) + (":school:" ["🏫"]) + (":department_store:" ["🏬"]) + (":factory:" ["🏭"]) + (":izakaya_lantern:" ["🏮"]) + (":lantern:" ["🏮"]) + (":japanese_castle:" ["🏯"]) + (":european_castle:" ["🏰"]) + (":rainbow-flag:" ["🏳️🌈"]) + (":transgender_flag:" ["🏳️⚧️"]) + (":waving_white_flag:" ["🏳️"]) + (":pirate_flag:" ["🏴☠️"]) + (":flag-england:" ["🏴"]) + (":flag-scotland:" ["🏴"]) + (":flag-wales:" ["🏴"]) + (":waving_black_flag:" ["🏴"]) + (":rosette:" ["🏵️"]) + (":label:" ["🏷️"]) + (":badminton_racquet_and_shuttlecock:" ["🏸"]) + (":bow_and_arrow:" ["🏹"]) + (":amphora:" ["🏺"]) + (":skin-tone-2:" ["🏻"]) + (":skin-tone-3:" ["🏼"]) + (":skin-tone-4:" ["🏽"]) + (":skin-tone-5:" ["🏾"]) + (":skin-tone-6:" ["🏿"]) + (":rat:" ["🐀"]) + (":mouse2:" ["🐁"]) + (":ox:" ["🐂"]) + (":water_buffalo:" ["🐃"]) + (":cow2:" ["🐄"]) + (":tiger2:" ["🐅"]) + (":leopard:" ["🐆"]) + (":rabbit2:" ["🐇"]) + (":black_cat:" ["🐈⬛"]) + (":cat2:" ["🐈"]) + (":dragon:" ["🐉"]) + (":crocodile:" ["🐊"]) + (":whale2:" ["🐋"]) + (":snail:" ["🐌"]) + (":snake:" ["🐍"]) + (":racehorse:" ["🐎"]) + (":ram:" ["🐏"]) + (":goat:" ["🐐"]) + (":sheep:" ["🐑"]) + (":monkey:" ["🐒"]) + (":rooster:" ["🐓"]) + (":chicken:" ["🐔"]) + (":service_dog:" ["🐕🦺"]) + (":dog2:" ["🐕"]) + (":pig2:" ["🐖"]) + (":boar:" ["🐗"]) + (":elephant:" ["🐘"]) + (":octopus:" ["🐙"]) + (":shell:" ["🐚"]) + (":bug:" ["🐛"]) + (":ant:" ["🐜"]) + (":bee:" ["🐝"]) + (":honeybee:" ["🐝"]) + (":ladybug:" ["🐞"]) + (":lady_beetle:" ["🐞"]) + (":fish:" ["🐟"]) + (":tropical_fish:" ["🐠"]) + (":blowfish:" ["🐡"]) + (":turtle:" ["🐢"]) + (":hatching_chick:" ["🐣"]) + (":baby_chick:" ["🐤"]) + (":hatched_chick:" ["🐥"]) + (":bird:" ["🐦"]) + (":penguin:" ["🐧"]) + (":koala:" ["🐨"]) + (":poodle:" ["🐩"]) + (":dromedary_camel:" ["🐪"]) + (":camel:" ["🐫"]) + (":dolphin:" ["🐬"]) + (":flipper:" ["🐬"]) + (":mouse:" ["🐭"]) + (":cow:" ["🐮"]) + (":tiger:" ["🐯"]) + (":rabbit:" ["🐰"]) + (":cat:" ["🐱"]) + (":dragon_face:" ["🐲"]) + (":whale:" ["🐳"]) + (":horse:" ["🐴"]) + (":monkey_face:" ["🐵"]) + (":o)" ["🐵"]) + (":dog:" ["🐶"]) + (":pig:" ["🐷"]) + (":frog:" ["🐸"]) + (":hamster:" ["🐹"]) + (":wolf:" ["🐺"]) + (":polar_bear:" ["🐻❄️"]) + (":bear:" ["🐻"]) + (":panda_face:" ["🐼"]) + (":pig_nose:" ["🐽"]) + (":feet:" ["🐾"]) + (":paw_prints:" ["🐾"]) + (":chipmunk:" ["🐿️"]) + (":eyes:" ["👀"]) + (":eye-in-speech-bubble:" ["👁️🗨️"]) + (":eye:" ["👁️"]) + (":ear:" ["👂"]) + (":nose:" ["👃"]) + (":lips:" ["👄"]) + (":tongue:" ["👅"]) + (":point_up_2:" ["👆"]) + (":point_down:" ["👇"]) + (":point_left:" ["👈"]) + (":point_right:" ["👉"]) + (":facepunch:" ["👊"]) + (":punch:" ["👊"]) + (":wave:" ["👋"]) + (":ok_hand:" ["👌"]) + (":+1:" ["👍"]) + (":thumbsup:" ["👍"]) + (":-1:" ["👎"]) + (":thumbsdown:" ["👎"]) + (":clap:" ["👏"]) + (":open_hands:" ["👐"]) + (":crown:" ["👑"]) + (":womans_hat:" ["👒"]) + (":eyeglasses:" ["👓"]) + (":necktie:" ["👔"]) + (":shirt:" ["👕"]) + (":tshirt:" ["👕"]) + (":jeans:" ["👖"]) + (":dress:" ["👗"]) + (":kimono:" ["👘"]) + (":bikini:" ["👙"]) + (":womans_clothes:" ["👚"]) + (":purse:" ["👛"]) + (":handbag:" ["👜"]) + (":pouch:" ["👝"]) + (":mans_shoe:" ["👞"]) + (":shoe:" ["👞"]) + (":athletic_shoe:" ["👟"]) + (":high_heel:" ["👠"]) + (":sandal:" ["👡"]) + (":boot:" ["👢"]) + (":footprints:" ["👣"]) + (":bust_in_silhouette:" ["👤"]) + (":busts_in_silhouette:" ["👥"]) + (":boy:" ["👦"]) + (":girl:" ["👧"]) + (":male-farmer:" ["👨🌾"]) + (":male-cook:" ["👨🍳"]) + (":man_feeding_baby:" ["👨🍼"]) + (":male-student:" ["👨🎓"]) + (":male-singer:" ["👨🎤"]) + (":male-artist:" ["👨🎨"]) + (":male-teacher:" ["👨🏫"]) + (":male-factory-worker:" ["👨🏭"]) + (":man-boy-boy:" ["👨👦👦"]) + (":man-boy:" ["👨👦"]) + (":man-girl-boy:" ["👨👧👦"]) + (":man-girl-girl:" ["👨👧👧"]) + (":man-girl:" ["👨👧"]) + (":man-man-boy:" ["👨👨👦"]) + (":man-man-boy-boy:" ["👨👨👦👦"]) + (":man-man-girl:" ["👨👨👧"]) + (":man-man-girl-boy:" ["👨👨👧👦"]) + (":man-man-girl-girl:" ["👨👨👧👧"]) + (":man-woman-boy:" ["👨👩👦"]) + (":man-woman-boy-boy:" ["👨👩👦👦"]) + (":man-woman-girl:" ["👨👩👧"]) + (":man-woman-girl-boy:" ["👨👩👧👦"]) + (":man-woman-girl-girl:" ["👨👩👧👧"]) + (":male-technologist:" ["👨💻"]) + (":male-office-worker:" ["👨💼"]) + (":male-mechanic:" ["👨🔧"]) + (":male-scientist:" ["👨🔬"]) + (":male-astronaut:" ["👨🚀"]) + (":male-firefighter:" ["👨🚒"]) + (":man_with_probing_cane:" ["👨🦯"]) + (":red_haired_man:" ["👨🦰"]) + (":curly_haired_man:" ["👨🦱"]) + (":bald_man:" ["👨🦲"]) + (":white_haired_man:" ["👨🦳"]) + (":man_in_motorized_wheelchair:" ["👨🦼"]) + (":man_in_manual_wheelchair:" ["👨🦽"]) + (":male-doctor:" ["👨⚕️"]) + (":male-judge:" ["👨⚖️"]) + (":male-pilot:" ["👨✈️"]) + (":man-heart-man:" ["👨❤️👨"]) + (":man-kiss-man:" ["👨❤️💋👨"]) + (":man:" ["👨"]) + (":female-farmer:" ["👩🌾"]) + (":female-cook:" ["👩🍳"]) + (":woman_feeding_baby:" ["👩🍼"]) + (":female-student:" ["👩🎓"]) + (":female-singer:" ["👩🎤"]) + (":female-artist:" ["👩🎨"]) + (":female-teacher:" ["👩🏫"]) + (":female-factory-worker:" ["👩🏭"]) + (":woman-boy-boy:" ["👩👦👦"]) + (":woman-boy:" ["👩👦"]) + (":woman-girl-boy:" ["👩👧👦"]) + (":woman-girl-girl:" ["👩👧👧"]) + (":woman-girl:" ["👩👧"]) + (":woman-woman-boy:" ["👩👩👦"]) + (":woman-woman-boy-boy:" ["👩👩👦👦"]) + (":woman-woman-girl:" ["👩👩👧"]) + (":woman-woman-girl-boy:" ["👩👩👧👦"]) + (":woman-woman-girl-girl:" ["👩👩👧👧"]) + (":female-technologist:" ["👩💻"]) + (":female-office-worker:" ["👩💼"]) + (":female-mechanic:" ["👩🔧"]) + (":female-scientist:" ["👩🔬"]) + (":female-astronaut:" ["👩🚀"]) + (":female-firefighter:" ["👩🚒"]) + (":woman_with_probing_cane:" ["👩🦯"]) + (":red_haired_woman:" ["👩🦰"]) + (":curly_haired_woman:" ["👩🦱"]) + (":bald_woman:" ["👩🦲"]) + (":white_haired_woman:" ["👩🦳"]) + (":woman_in_motorized_wheelchair:" ["👩🦼"]) + (":woman_in_manual_wheelchair:" ["👩🦽"]) + (":female-doctor:" ["👩⚕️"]) + (":female-judge:" ["👩⚖️"]) + (":female-pilot:" ["👩✈️"]) + (":woman-heart-man:" ["👩❤️👨"]) + (":woman-heart-woman:" ["👩❤️👩"]) + (":woman-kiss-man:" ["👩❤️💋👨"]) + (":woman-kiss-woman:" ["👩❤️💋👩"]) + (":woman:" ["👩"]) + (":family:" ["👪"]) + (":man_and_woman_holding_hands:" ["👫"]) + (":woman_and_man_holding_hands:" ["👫"]) + (":couple:" ["👫"]) + (":two_men_holding_hands:" ["👬"]) + (":men_holding_hands:" ["👬"]) + (":two_women_holding_hands:" ["👭"]) + (":women_holding_hands:" ["👭"]) + (":female-police-officer:" ["👮♀️"]) + (":male-police-officer:" ["👮♂️"]) + (":cop:" ["👮"]) + (":women-with-bunny-ears-partying:" ["👯♀️"]) + (":woman-with-bunny-ears-partying:" ["👯♀️"]) + (":men-with-bunny-ears-partying:" ["👯♂️"]) + (":man-with-bunny-ears-partying:" ["👯♂️"]) + (":dancers:" ["👯"]) + (":woman_with_veil:" ["👰♀️"]) + (":man_with_veil:" ["👰♂️"]) + (":bride_with_veil:" ["👰"]) + (":blond-haired-woman:" ["👱♀️"]) + (":blond-haired-man:" ["👱♂️"]) + (":person_with_blond_hair:" ["👱"]) + (":man_with_gua_pi_mao:" ["👲"]) + (":woman-wearing-turban:" ["👳♀️"]) + (":man-wearing-turban:" ["👳♂️"]) + (":man_with_turban:" ["👳"]) + (":older_man:" ["👴"]) + (":older_woman:" ["👵"]) + (":baby:" ["👶"]) + (":female-construction-worker:" ["👷♀️"]) + (":male-construction-worker:" ["👷♂️"]) + (":construction_worker:" ["👷"]) + (":princess:" ["👸"]) + (":japanese_ogre:" ["👹"]) + (":japanese_goblin:" ["👺"]) + (":ghost:" ["👻"]) + (":angel:" ["👼"]) + (":alien:" ["👽"]) + (":space_invader:" ["👾"]) + (":imp:" ["👿"]) + (":skull:" ["💀"]) + (":woman-tipping-hand:" ["💁♀️"]) + (":man-tipping-hand:" ["💁♂️"]) + (":information_desk_person:" ["💁"]) + (":female-guard:" ["💂♀️"]) + (":male-guard:" ["💂♂️"]) + (":guardsman:" ["💂"]) + (":dancer:" ["💃"]) + (":lipstick:" ["💄"]) + (":nail_care:" ["💅"]) + (":woman-getting-massage:" ["💆♀️"]) + (":man-getting-massage:" ["💆♂️"]) + (":massage:" ["💆"]) + (":woman-getting-haircut:" ["💇♀️"]) + (":man-getting-haircut:" ["💇♂️"]) + (":haircut:" ["💇"]) + (":barber:" ["💈"]) + (":syringe:" ["💉"]) + (":pill:" ["💊"]) + (":kiss:" ["💋"]) + (":love_letter:" ["💌"]) + (":ring:" ["💍"]) + (":gem:" ["💎"]) + (":couplekiss:" ["💏"]) + (":bouquet:" ["💐"]) + (":couple_with_heart:" ["💑"]) + (":wedding:" ["💒"]) + (":heartbeat:" ["💓"]) + (":broken_heart:" ["💔"]) + ("</3" ["💔"]) + (":two_hearts:" ["💕"]) + (":sparkling_heart:" ["💖"]) + (":heartpulse:" ["💗"]) + (":cupid:" ["💘"]) + (":blue_heart:" ["💙"]) + ("<3" ["💙"]) + (":green_heart:" ["💚"]) + ("<3" ["💚"]) + (":yellow_heart:" ["💛"]) + ("<3" ["💛"]) + (":purple_heart:" ["💜"]) + ("<3" ["💜"]) + (":gift_heart:" ["💝"]) + (":revolving_hearts:" ["💞"]) + (":heart_decoration:" ["💟"]) + (":diamond_shape_with_a_dot_inside:" ["💠"]) + (":bulb:" ["💡"]) + (":anger:" ["💢"]) + (":bomb:" ["💣"]) + (":zzz:" ["💤"]) + (":boom:" ["💥"]) + (":collision:" ["💥"]) + (":sweat_drops:" ["💦"]) + (":droplet:" ["💧"]) + (":dash:" ["💨"]) + (":hankey:" ["💩"]) + (":poop:" ["💩"]) + (":shit:" ["💩"]) + (":muscle:" ["💪"]) + (":dizzy:" ["💫"]) + (":speech_balloon:" ["💬"]) + (":thought_balloon:" ["💭"]) + (":white_flower:" ["💮"]) + (":100:" ["💯"]) + (":moneybag:" ["💰"]) + (":currency_exchange:" ["💱"]) + (":heavy_dollar_sign:" ["💲"]) + (":credit_card:" ["💳"]) + (":yen:" ["💴"]) + (":dollar:" ["💵"]) + (":euro:" ["💶"]) + (":pound:" ["💷"]) + (":money_with_wings:" ["💸"]) + (":chart:" ["💹"]) + (":seat:" ["💺"]) + (":computer:" ["💻"]) + (":briefcase:" ["💼"]) + (":minidisc:" ["💽"]) + (":floppy_disk:" ["💾"]) + (":cd:" ["💿"]) + (":dvd:" ["📀"]) + (":file_folder:" ["📁"]) + (":open_file_folder:" ["📂"]) + (":page_with_curl:" ["📃"]) + (":page_facing_up:" ["📄"]) + (":date:" ["📅"]) + (":calendar:" ["📆"]) + (":card_index:" ["📇"]) + (":chart_with_upwards_trend:" ["📈"]) + (":chart_with_downwards_trend:" ["📉"]) + (":bar_chart:" ["📊"]) + (":clipboard:" ["📋"]) + (":pushpin:" ["📌"]) + (":round_pushpin:" ["📍"]) + (":paperclip:" ["📎"]) + (":straight_ruler:" ["📏"]) + (":triangular_ruler:" ["📐"]) + (":bookmark_tabs:" ["📑"]) + (":ledger:" ["📒"]) + (":notebook:" ["📓"]) + (":notebook_with_decorative_cover:" ["📔"]) + (":closed_book:" ["📕"]) + (":book:" ["📖"]) + (":open_book:" ["📖"]) + (":green_book:" ["📗"]) + (":blue_book:" ["📘"]) + (":orange_book:" ["📙"]) + (":books:" ["📚"]) + (":name_badge:" ["📛"]) + (":scroll:" ["📜"]) + (":memo:" ["📝"]) + (":pencil:" ["📝"]) + (":telephone_receiver:" ["📞"]) + (":pager:" ["📟"]) + (":fax:" ["📠"]) + (":satellite_antenna:" ["📡"]) + (":loudspeaker:" ["📢"]) + (":mega:" ["📣"]) + (":outbox_tray:" ["📤"]) + (":inbox_tray:" ["📥"]) + (":package:" ["📦"]) + (":e-mail:" ["📧"]) + (":incoming_envelope:" ["📨"]) + (":envelope_with_arrow:" ["📩"]) + (":mailbox_closed:" ["📪"]) + (":mailbox:" ["📫"]) + (":mailbox_with_mail:" ["📬"]) + (":mailbox_with_no_mail:" ["📭"]) + (":postbox:" ["📮"]) + (":postal_horn:" ["📯"]) + (":newspaper:" ["📰"]) + (":iphone:" ["📱"]) + (":calling:" ["📲"]) + (":vibration_mode:" ["📳"]) + (":mobile_phone_off:" ["📴"]) + (":no_mobile_phones:" ["📵"]) + (":signal_strength:" ["📶"]) + (":camera:" ["📷"]) + (":camera_with_flash:" ["📸"]) + (":video_camera:" ["📹"]) + (":tv:" ["📺"]) + (":radio:" ["📻"]) + (":vhs:" ["📼"]) + (":film_projector:" ["📽️"]) + (":prayer_beads:" ["📿"]) + (":twisted_rightwards_arrows:" ["🔀"]) + (":repeat:" ["🔁"]) + (":repeat_one:" ["🔂"]) + (":arrows_clockwise:" ["🔃"]) + (":arrows_counterclockwise:" ["🔄"]) + (":low_brightness:" ["🔅"]) + (":high_brightness:" ["🔆"]) + (":mute:" ["🔇"]) + (":speaker:" ["🔈"]) + (":sound:" ["🔉"]) + (":loud_sound:" ["🔊"]) + (":battery:" ["🔋"]) + (":electric_plug:" ["🔌"]) + (":mag:" ["🔍"]) + (":mag_right:" ["🔎"]) + (":lock_with_ink_pen:" ["🔏"]) + (":closed_lock_with_key:" ["🔐"]) + (":key:" ["🔑"]) + (":lock:" ["🔒"]) + (":unlock:" ["🔓"]) + (":bell:" ["🔔"]) + (":no_bell:" ["🔕"]) + (":bookmark:" ["🔖"]) + (":link:" ["🔗"]) + (":radio_button:" ["🔘"]) + (":back:" ["🔙"]) + (":end:" ["🔚"]) + (":on:" ["🔛"]) + (":soon:" ["🔜"]) + (":top:" ["🔝"]) + (":underage:" ["🔞"]) + (":keycap_ten:" ["🔟"]) + (":capital_abcd:" ["🔠"]) + (":abcd:" ["🔡"]) + (":1234:" ["🔢"]) + (":symbols:" ["🔣"]) + (":abc:" ["🔤"]) + (":fire:" ["🔥"]) + (":flashlight:" ["🔦"]) + (":wrench:" ["🔧"]) + (":hammer:" ["🔨"]) + (":nut_and_bolt:" ["🔩"]) + (":hocho:" ["🔪"]) + (":knife:" ["🔪"]) + (":gun:" ["🔫"]) + (":microscope:" ["🔬"]) + (":telescope:" ["🔭"]) + (":crystal_ball:" ["🔮"]) + (":six_pointed_star:" ["🔯"]) + (":beginner:" ["🔰"]) + (":trident:" ["🔱"]) + (":black_square_button:" ["🔲"]) + (":white_square_button:" ["🔳"]) + (":red_circle:" ["🔴"]) + (":large_blue_circle:" ["🔵"]) + (":large_orange_diamond:" ["🔶"]) + (":large_blue_diamond:" ["🔷"]) + (":small_orange_diamond:" ["🔸"]) + (":small_blue_diamond:" ["🔹"]) + (":small_red_triangle:" ["🔺"]) + (":small_red_triangle_down:" ["🔻"]) + (":arrow_up_small:" ["🔼"]) + (":arrow_down_small:" ["🔽"]) + (":om_symbol:" ["🕉️"]) + (":dove_of_peace:" ["🕊️"]) + (":kaaba:" ["🕋"]) + (":mosque:" ["🕌"]) + (":synagogue:" ["🕍"]) + (":menorah_with_nine_branches:" ["🕎"]) + (":clock1:" ["🕐"]) + (":clock2:" ["🕑"]) + (":clock3:" ["🕒"]) + (":clock4:" ["🕓"]) + (":clock5:" ["🕔"]) + (":clock6:" ["🕕"]) + (":clock7:" ["🕖"]) + (":clock8:" ["🕗"]) + (":clock9:" ["🕘"]) + (":clock10:" ["🕙"]) + (":clock11:" ["🕚"]) + (":clock12:" ["🕛"]) + (":clock130:" ["🕜"]) + (":clock230:" ["🕝"]) + (":clock330:" ["🕞"]) + (":clock430:" ["🕟"]) + (":clock530:" ["🕠"]) + (":clock630:" ["🕡"]) + (":clock730:" ["🕢"]) + (":clock830:" ["🕣"]) + (":clock930:" ["🕤"]) + (":clock1030:" ["🕥"]) + (":clock1130:" ["🕦"]) + (":clock1230:" ["🕧"]) + (":candle:" ["🕯️"]) + (":mantelpiece_clock:" ["🕰️"]) + (":hole:" ["🕳️"]) + (":man_in_business_suit_levitating:" ["🕴️"]) + (":female-detective:" ["🕵️♀️"]) + (":male-detective:" ["🕵️♂️"]) + (":sleuth_or_spy:" ["🕵️"]) + (":dark_sunglasses:" ["🕶️"]) + (":spider:" ["🕷️"]) + (":spider_web:" ["🕸️"]) + (":joystick:" ["🕹️"]) + (":man_dancing:" ["🕺"]) + (":linked_paperclips:" ["🖇️"]) + (":lower_left_ballpoint_pen:" ["🖊️"]) + (":lower_left_fountain_pen:" ["🖋️"]) + (":lower_left_paintbrush:" ["🖌️"]) + (":lower_left_crayon:" ["🖍️"]) + (":raised_hand_with_fingers_splayed:" ["🖐️"]) + (":middle_finger:" ["🖕"]) + (":reversed_hand_with_middle_finger_extended:" ["🖕"]) + (":spock-hand:" ["🖖"]) + (":black_heart:" ["🖤"]) + (":desktop_computer:" ["🖥️"]) + (":printer:" ["🖨️"]) + (":three_button_mouse:" ["🖱️"]) + (":trackball:" ["🖲️"]) + (":frame_with_picture:" ["🖼️"]) + (":card_index_dividers:" ["🗂️"]) + (":card_file_box:" ["🗃️"]) + (":file_cabinet:" ["🗄️"]) + (":wastebasket:" ["🗑️"]) + (":spiral_note_pad:" ["🗒️"]) + (":spiral_calendar_pad:" ["🗓️"]) + (":compression:" ["🗜️"]) + (":old_key:" ["🗝️"]) + (":rolled_up_newspaper:" ["🗞️"]) + (":dagger_knife:" ["🗡️"]) + (":speaking_head_in_silhouette:" ["🗣️"]) + (":left_speech_bubble:" ["🗨️"]) + (":right_anger_bubble:" ["🗯️"]) + (":ballot_box_with_ballot:" ["🗳️"]) + (":world_map:" ["🗺️"]) + (":mount_fuji:" ["🗻"]) + (":tokyo_tower:" ["🗼"]) + (":statue_of_liberty:" ["🗽"]) + (":japan:" ["🗾"]) + (":moyai:" ["🗿"]) + (":grinning:" ["😀"]) + (":D" ["😀"]) + (":grin:" ["😁"]) + (":joy:" ["😂"]) + (":smiley:" ["😃"]) + (":)" ["😃"]) + ("=)" ["😃"]) + ("=-)" ["😃"]) + (":smile:" ["😄"]) + (":)" ["😄"]) + ("C:" ["😄"]) + ("c:" ["😄"]) + (":D" ["😄"]) + (":-D" ["😄"]) + (":sweat_smile:" ["😅"]) + (":laughing:" ["😆"]) + (":satisfied:" ["😆"]) + (":>" ["😆"]) + (":->" ["😆"]) + (":innocent:" ["😇"]) + (":smiling_imp:" ["😈"]) + (":wink:" ["😉"]) + (";)" ["😉"]) + (";-)" ["😉"]) + (":blush:" ["😊"]) + (":)" ["😊"]) + (":yum:" ["😋"]) + (":relieved:" ["😌"]) + (":heart_eyes:" ["😍"]) + (":sunglasses:" ["😎"]) + ("8)" ["😎"]) + (":smirk:" ["😏"]) + (":neutral_face:" ["😐"]) + (":|" ["😐"]) + (":-|" ["😐"]) + (":expressionless:" ["😑"]) + (":unamused:" ["😒"]) + (":(" ["😒"]) + (":sweat:" ["😓"]) + (":pensive:" ["😔"]) + (":confused:" ["😕"]) + (":\\" ["😕"]) + (":-\\" ["😕"]) + (":/" ["😕"]) + (":-/" ["😕"]) + (":confounded:" ["😖"]) + (":kissing:" ["😗"]) + (":kissing_heart:" ["😘"]) + (":*" ["😘"]) + (":-*" ["😘"]) + (":kissing_smiling_eyes:" ["😙"]) + (":kissing_closed_eyes:" ["😚"]) + (":stuck_out_tongue:" ["😛"]) + (":p" ["😛"]) + (":-p" ["😛"]) + (":P" ["😛"]) + (":-P" ["😛"]) + (":b" ["😛"]) + (":-b" ["😛"]) + (":stuck_out_tongue_winking_eye:" ["😜"]) + (";p" ["😜"]) + (";-p" ["😜"]) + (";b" ["😜"]) + (";-b" ["😜"]) + (";P" ["😜"]) + (";-P" ["😜"]) + (":stuck_out_tongue_closed_eyes:" ["😝"]) + (":disappointed:" ["😞"]) + (":(" ["😞"]) + ("):" ["😞"]) + (":-(" ["😞"]) + (":worried:" ["😟"]) + (":angry:" ["😠"]) + (">:(" ["😠"]) + (">:-(" ["😠"]) + (":rage:" ["😡"]) + (":cry:" ["😢"]) + (":'(" ["😢"]) + (":persevere:" ["😣"]) + (":triumph:" ["😤"]) + (":disappointed_relieved:" ["😥"]) + (":frowning:" ["😦"]) + (":anguished:" ["😧"]) + ("D:" ["😧"]) + (":fearful:" ["😨"]) + (":weary:" ["😩"]) + (":sleepy:" ["😪"]) + (":tired_face:" ["😫"]) + (":grimacing:" ["😬"]) + (":sob:" ["😭"]) + (":'(" ["😭"]) + (":face_exhaling:" ["😮💨"]) + (":open_mouth:" ["😮"]) + (":o" ["😮"]) + (":-o" ["😮"]) + (":O" ["😮"]) + (":-O" ["😮"]) + (":hushed:" ["😯"]) + (":cold_sweat:" ["😰"]) + (":scream:" ["😱"]) + (":astonished:" ["😲"]) + (":flushed:" ["😳"]) + (":sleeping:" ["😴"]) + (":face_with_spiral_eyes:" ["😵💫"]) + (":dizzy_face:" ["😵"]) + (":face_in_clouds:" ["😶🌫️"]) + (":no_mouth:" ["😶"]) + (":mask:" ["😷"]) + (":smile_cat:" ["😸"]) + (":joy_cat:" ["😹"]) + (":smiley_cat:" ["😺"]) + (":heart_eyes_cat:" ["😻"]) + (":smirk_cat:" ["😼"]) + (":kissing_cat:" ["😽"]) + (":pouting_cat:" ["😾"]) + (":crying_cat_face:" ["😿"]) + (":scream_cat:" ["🙀"]) + (":slightly_frowning_face:" ["🙁"]) + (":slightly_smiling_face:" ["🙂"]) + (":)" ["🙂"]) + ("(:" ["🙂"]) + (":-)" ["🙂"]) + (":upside_down_face:" ["🙃"]) + (":face_with_rolling_eyes:" ["🙄"]) + (":woman-gesturing-no:" ["🙅♀️"]) + (":man-gesturing-no:" ["🙅♂️"]) + (":no_good:" ["🙅"]) + (":woman-gesturing-ok:" ["🙆♀️"]) + (":man-gesturing-ok:" ["🙆♂️"]) + (":ok_woman:" ["🙆"]) + (":woman-bowing:" ["🙇♀️"]) + (":man-bowing:" ["🙇♂️"]) + (":bow:" ["🙇"]) + (":see_no_evil:" ["🙈"]) + (":hear_no_evil:" ["🙉"]) + (":speak_no_evil:" ["🙊"]) + (":woman-raising-hand:" ["🙋♀️"]) + (":man-raising-hand:" ["🙋♂️"]) + (":raising_hand:" ["🙋"]) + (":raised_hands:" ["🙌"]) + (":woman-frowning:" ["🙍♀️"]) + (":man-frowning:" ["🙍♂️"]) + (":person_frowning:" ["🙍"]) + (":woman-pouting:" ["🙎♀️"]) + (":man-pouting:" ["🙎♂️"]) + (":person_with_pouting_face:" ["🙎"]) + (":pray:" ["🙏"]) + (":rocket:" ["🚀"]) + (":helicopter:" ["🚁"]) + (":steam_locomotive:" ["🚂"]) + (":railway_car:" ["🚃"]) + (":bullettrain_side:" ["🚄"]) + (":bullettrain_front:" ["🚅"]) + (":train2:" ["🚆"]) + (":metro:" ["🚇"]) + (":light_rail:" ["🚈"]) + (":station:" ["🚉"]) + (":tram:" ["🚊"]) + (":train:" ["🚋"]) + (":bus:" ["🚌"]) + (":oncoming_bus:" ["🚍"]) + (":trolleybus:" ["🚎"]) + (":busstop:" ["🚏"]) + (":minibus:" ["🚐"]) + (":ambulance:" ["🚑"]) + (":fire_engine:" ["🚒"]) + (":police_car:" ["🚓"]) + (":oncoming_police_car:" ["🚔"]) + (":taxi:" ["🚕"]) + (":oncoming_taxi:" ["🚖"]) + (":car:" ["🚗"]) + (":red_car:" ["🚗"]) + (":oncoming_automobile:" ["🚘"]) + (":blue_car:" ["🚙"]) + (":truck:" ["🚚"]) + (":articulated_lorry:" ["🚛"]) + (":tractor:" ["🚜"]) + (":monorail:" ["🚝"]) + (":mountain_railway:" ["🚞"]) + (":suspension_railway:" ["🚟"]) + (":mountain_cableway:" ["🚠"]) + (":aerial_tramway:" ["🚡"]) + (":ship:" ["🚢"]) + (":woman-rowing-boat:" ["🚣♀️"]) + (":man-rowing-boat:" ["🚣♂️"]) + (":rowboat:" ["🚣"]) + (":speedboat:" ["🚤"]) + (":traffic_light:" ["🚥"]) + (":vertical_traffic_light:" ["🚦"]) + (":construction:" ["🚧"]) + (":rotating_light:" ["🚨"]) + (":triangular_flag_on_post:" ["🚩"]) + (":door:" ["🚪"]) + (":no_entry_sign:" ["🚫"]) + (":smoking:" ["🚬"]) + (":no_smoking:" ["🚭"]) + (":put_litter_in_its_place:" ["🚮"]) + (":do_not_litter:" ["🚯"]) + (":potable_water:" ["🚰"]) + (":non-potable_water:" ["🚱"]) + (":bike:" ["🚲"]) + (":no_bicycles:" ["🚳"]) + (":woman-biking:" ["🚴♀️"]) + (":man-biking:" ["🚴♂️"]) + (":bicyclist:" ["🚴"]) + (":woman-mountain-biking:" ["🚵♀️"]) + (":man-mountain-biking:" ["🚵♂️"]) + (":mountain_bicyclist:" ["🚵"]) + (":woman-walking:" ["🚶♀️"]) + (":man-walking:" ["🚶♂️"]) + (":walking:" ["🚶"]) + (":no_pedestrians:" ["🚷"]) + (":children_crossing:" ["🚸"]) + (":mens:" ["🚹"]) + (":womens:" ["🚺"]) + (":restroom:" ["🚻"]) + (":baby_symbol:" ["🚼"]) + (":toilet:" ["🚽"]) + (":wc:" ["🚾"]) + (":shower:" ["🚿"]) + (":bath:" ["🛀"]) + (":bathtub:" ["🛁"]) + (":passport_control:" ["🛂"]) + (":customs:" ["🛃"]) + (":baggage_claim:" ["🛄"]) + (":left_luggage:" ["🛅"]) + (":couch_and_lamp:" ["🛋️"]) + (":sleeping_accommodation:" ["🛌"]) + (":shopping_bags:" ["🛍️"]) + (":bellhop_bell:" ["🛎️"]) + (":bed:" ["🛏️"]) + (":place_of_worship:" ["🛐"]) + (":octagonal_sign:" ["🛑"]) + (":shopping_trolley:" ["🛒"]) + (":hindu_temple:" ["🛕"]) + (":hut:" ["🛖"]) + (":elevator:" ["🛗"]) + (":hammer_and_wrench:" ["🛠️"]) + (":shield:" ["🛡️"]) + (":oil_drum:" ["🛢️"]) + (":motorway:" ["🛣️"]) + (":railway_track:" ["🛤️"]) + (":motor_boat:" ["🛥️"]) + (":small_airplane:" ["🛩️"]) + (":airplane_departure:" ["🛫"]) + (":airplane_arriving:" ["🛬"]) + (":satellite:" ["🛰️"]) + (":passenger_ship:" ["🛳️"]) + (":scooter:" ["🛴"]) + (":motor_scooter:" ["🛵"]) + (":canoe:" ["🛶"]) + (":sled:" ["🛷"]) + (":flying_saucer:" ["🛸"]) + (":skateboard:" ["🛹"]) + (":auto_rickshaw:" ["🛺"]) + (":pickup_truck:" ["🛻"]) + (":roller_skate:" ["🛼"]) + (":large_orange_circle:" ["🟠"]) + (":large_yellow_circle:" ["🟡"]) + (":large_green_circle:" ["🟢"]) + (":large_purple_circle:" ["🟣"]) + (":large_brown_circle:" ["🟤"]) + (":large_red_square:" ["🟥"]) + (":large_blue_square:" ["🟦"]) + (":large_orange_square:" ["🟧"]) + (":large_yellow_square:" ["🟨"]) + (":large_green_square:" ["🟩"]) + (":large_purple_square:" ["🟪"]) + (":large_brown_square:" ["🟫"]) + (":pinched_fingers:" ["🤌"]) + (":white_heart:" ["🤍"]) + (":brown_heart:" ["🤎"]) + (":pinching_hand:" ["🤏"]) + (":zipper_mouth_face:" ["🤐"]) + (":money_mouth_face:" ["🤑"]) + (":face_with_thermometer:" ["🤒"]) + (":nerd_face:" ["🤓"]) + (":thinking_face:" ["🤔"]) + (":face_with_head_bandage:" ["🤕"]) + (":robot_face:" ["🤖"]) + (":hugging_face:" ["🤗"]) + (":the_horns:" ["🤘"]) + (":sign_of_the_horns:" ["🤘"]) + (":call_me_hand:" ["🤙"]) + (":raised_back_of_hand:" ["🤚"]) + (":left-facing_fist:" ["🤛"]) + (":right-facing_fist:" ["🤜"]) + (":handshake:" ["🤝"]) + (":crossed_fingers:" ["🤞"]) + (":hand_with_index_and_middle_fingers_crossed:" ["🤞"]) + (":i_love_you_hand_sign:" ["🤟"]) + (":face_with_cowboy_hat:" ["🤠"]) + (":clown_face:" ["🤡"]) + (":nauseated_face:" ["🤢"]) + (":rolling_on_the_floor_laughing:" ["🤣"]) + (":drooling_face:" ["🤤"]) + (":lying_face:" ["🤥"]) + (":woman-facepalming:" ["🤦♀️"]) + (":man-facepalming:" ["🤦♂️"]) + (":face_palm:" ["🤦"]) + (":sneezing_face:" ["🤧"]) + (":face_with_raised_eyebrow:" ["🤨"]) + (":face_with_one_eyebrow_raised:" ["🤨"]) + (":star-struck:" ["🤩"]) + (":grinning_face_with_star_eyes:" ["🤩"]) + (":zany_face:" ["🤪"]) + (":grinning_face_with_one_large_and_one_small_eye:" ["🤪"]) + (":shushing_face:" ["🤫"]) + (":face_with_finger_covering_closed_lips:" ["🤫"]) + (":face_with_symbols_on_mouth:" ["🤬"]) + (":serious_face_with_symbols_covering_mouth:" ["🤬"]) + (":face_with_hand_over_mouth:" ["🤭"]) + (":smiling_face_with_smiling_eyes_and_hand_covering_mouth:" ["🤭"]) + (":face_vomiting:" ["🤮"]) + (":face_with_open_mouth_vomiting:" ["🤮"]) + (":exploding_head:" ["🤯"]) + (":shocked_face_with_exploding_head:" ["🤯"]) + (":pregnant_woman:" ["🤰"]) + (":breast-feeding:" ["🤱"]) + (":palms_up_together:" ["🤲"]) + (":selfie:" ["🤳"]) + (":prince:" ["🤴"]) + (":woman_in_tuxedo:" ["🤵♀️"]) + (":man_in_tuxedo:" ["🤵♂️"]) + (":person_in_tuxedo:" ["🤵"]) + (":mrs_claus:" ["🤶"]) + (":mother_christmas:" ["🤶"]) + (":woman-shrugging:" ["🤷♀️"]) + (":man-shrugging:" ["🤷♂️"]) + (":shrug:" ["🤷"]) + (":woman-cartwheeling:" ["🤸♀️"]) + (":man-cartwheeling:" ["🤸♂️"]) + (":person_doing_cartwheel:" ["🤸"]) + (":woman-juggling:" ["🤹♀️"]) + (":man-juggling:" ["🤹♂️"]) + (":juggling:" ["🤹"]) + (":fencer:" ["🤺"]) + (":woman-wrestling:" ["🤼♀️"]) + (":man-wrestling:" ["🤼♂️"]) + (":wrestlers:" ["🤼"]) + (":woman-playing-water-polo:" ["🤽♀️"]) + (":man-playing-water-polo:" ["🤽♂️"]) + (":water_polo:" ["🤽"]) + (":woman-playing-handball:" ["🤾♀️"]) + (":man-playing-handball:" ["🤾♂️"]) + (":handball:" ["🤾"]) + (":diving_mask:" ["🤿"]) + (":wilted_flower:" ["🥀"]) + (":drum_with_drumsticks:" ["🥁"]) + (":clinking_glasses:" ["🥂"]) + (":tumbler_glass:" ["🥃"]) + (":spoon:" ["🥄"]) + (":goal_net:" ["🥅"]) + (":first_place_medal:" ["🥇"]) + (":second_place_medal:" ["🥈"]) + (":third_place_medal:" ["🥉"]) + (":boxing_glove:" ["🥊"]) + (":martial_arts_uniform:" ["🥋"]) + (":curling_stone:" ["🥌"]) + (":lacrosse:" ["🥍"]) + (":softball:" ["🥎"]) + (":flying_disc:" ["🥏"]) + (":croissant:" ["🥐"]) + (":avocado:" ["🥑"]) + (":cucumber:" ["🥒"]) + (":bacon:" ["🥓"]) + (":potato:" ["🥔"]) + (":carrot:" ["🥕"]) + (":baguette_bread:" ["🥖"]) + (":green_salad:" ["🥗"]) + (":shallow_pan_of_food:" ["🥘"]) + (":stuffed_flatbread:" ["🥙"]) + (":egg:" ["🥚"]) + (":glass_of_milk:" ["🥛"]) + (":peanuts:" ["🥜"]) + (":kiwifruit:" ["🥝"]) + (":pancakes:" ["🥞"]) + (":dumpling:" ["🥟"]) + (":fortune_cookie:" ["🥠"]) + (":takeout_box:" ["🥡"]) + (":chopsticks:" ["🥢"]) + (":bowl_with_spoon:" ["🥣"]) + (":cup_with_straw:" ["🥤"]) + (":coconut:" ["🥥"]) + (":broccoli:" ["🥦"]) + (":pie:" ["🥧"]) + (":pretzel:" ["🥨"]) + (":cut_of_meat:" ["🥩"]) + (":sandwich:" ["🥪"]) + (":canned_food:" ["🥫"]) + (":leafy_green:" ["🥬"]) + (":mango:" ["🥭"]) + (":moon_cake:" ["🥮"]) + (":bagel:" ["🥯"]) + (":smiling_face_with_3_hearts:" ["🥰"]) + (":yawning_face:" ["🥱"]) + (":smiling_face_with_tear:" ["🥲"]) + (":partying_face:" ["🥳"]) + (":woozy_face:" ["🥴"]) + (":hot_face:" ["🥵"]) + (":cold_face:" ["🥶"]) + (":ninja:" ["🥷"]) + (":disguised_face:" ["🥸"]) + (":pleading_face:" ["🥺"]) + (":sari:" ["🥻"]) + (":lab_coat:" ["🥼"]) + (":goggles:" ["🥽"]) + (":hiking_boot:" ["🥾"]) + (":womans_flat_shoe:" ["🥿"]) + (":crab:" ["🦀"]) + (":lion_face:" ["🦁"]) + (":scorpion:" ["🦂"]) + (":turkey:" ["🦃"]) + (":unicorn_face:" ["🦄"]) + (":eagle:" ["🦅"]) + (":duck:" ["🦆"]) + (":bat:" ["🦇"]) + (":shark:" ["🦈"]) + (":owl:" ["🦉"]) + (":fox_face:" ["🦊"]) + (":butterfly:" ["🦋"]) + (":deer:" ["🦌"]) + (":gorilla:" ["🦍"]) + (":lizard:" ["🦎"]) + (":rhinoceros:" ["🦏"]) + (":shrimp:" ["🦐"]) + (":squid:" ["🦑"]) + (":giraffe_face:" ["🦒"]) + (":zebra_face:" ["🦓"]) + (":hedgehog:" ["🦔"]) + (":sauropod:" ["🦕"]) + (":t-rex:" ["🦖"]) + (":cricket:" ["🦗"]) + (":kangaroo:" ["🦘"]) + (":llama:" ["🦙"]) + (":peacock:" ["🦚"]) + (":hippopotamus:" ["🦛"]) + (":parrot:" ["🦜"]) + (":raccoon:" ["🦝"]) + (":lobster:" ["🦞"]) + (":mosquito:" ["🦟"]) + (":microbe:" ["🦠"]) + (":badger:" ["🦡"]) + (":swan:" ["🦢"]) + (":mammoth:" ["🦣"]) + (":dodo:" ["🦤"]) + (":sloth:" ["🦥"]) + (":otter:" ["🦦"]) + (":orangutan:" ["🦧"]) + (":skunk:" ["🦨"]) + (":flamingo:" ["🦩"]) + (":oyster:" ["🦪"]) + (":beaver:" ["🦫"]) + (":bison:" ["🦬"]) + (":seal:" ["🦭"]) + (":guide_dog:" ["🦮"]) + (":probing_cane:" ["🦯"]) + (":bone:" ["🦴"]) + (":leg:" ["🦵"]) + (":foot:" ["🦶"]) + (":tooth:" ["🦷"]) + (":female_superhero:" ["🦸♀️"]) + (":male_superhero:" ["🦸♂️"]) + (":superhero:" ["🦸"]) + (":female_supervillain:" ["🦹♀️"]) + (":male_supervillain:" ["🦹♂️"]) + (":supervillain:" ["🦹"]) + (":safety_vest:" ["🦺"]) + (":ear_with_hearing_aid:" ["🦻"]) + (":motorized_wheelchair:" ["🦼"]) + (":manual_wheelchair:" ["🦽"]) + (":mechanical_arm:" ["🦾"]) + (":mechanical_leg:" ["🦿"]) + (":cheese_wedge:" ["🧀"]) + (":cupcake:" ["🧁"]) + (":salt:" ["🧂"]) + (":beverage_box:" ["🧃"]) + (":garlic:" ["🧄"]) + (":onion:" ["🧅"]) + (":falafel:" ["🧆"]) + (":waffle:" ["🧇"]) + (":butter:" ["🧈"]) + (":mate_drink:" ["🧉"]) + (":ice_cube:" ["🧊"]) + (":bubble_tea:" ["🧋"]) + (":woman_standing:" ["🧍♀️"]) + (":man_standing:" ["🧍♂️"]) + (":standing_person:" ["🧍"]) + (":woman_kneeling:" ["🧎♀️"]) + (":man_kneeling:" ["🧎♂️"]) + (":kneeling_person:" ["🧎"]) + (":deaf_woman:" ["🧏♀️"]) + (":deaf_man:" ["🧏♂️"]) + (":deaf_person:" ["🧏"]) + (":face_with_monocle:" ["🧐"]) + (":farmer:" ["🧑🌾"]) + (":cook:" ["🧑🍳"]) + (":person_feeding_baby:" ["🧑🍼"]) + (":mx_claus:" ["🧑🎄"]) + (":student:" ["🧑🎓"]) + (":singer:" ["🧑🎤"]) + (":artist:" ["🧑🎨"]) + (":teacher:" ["🧑🏫"]) + (":factory_worker:" ["🧑🏭"]) + (":technologist:" ["🧑💻"]) + (":office_worker:" ["🧑💼"]) + (":mechanic:" ["🧑🔧"]) + (":scientist:" ["🧑🔬"]) + (":astronaut:" ["🧑🚀"]) + (":firefighter:" ["🧑🚒"]) + (":people_holding_hands:" ["🧑🤝🧑"]) + (":person_with_probing_cane:" ["🧑🦯"]) + (":red_haired_person:" ["🧑🦰"]) + (":curly_haired_person:" ["🧑🦱"]) + (":bald_person:" ["🧑🦲"]) + (":white_haired_person:" ["🧑🦳"]) + (":person_in_motorized_wheelchair:" ["🧑🦼"]) + (":person_in_manual_wheelchair:" ["🧑🦽"]) + (":health_worker:" ["🧑⚕️"]) + (":judge:" ["🧑⚖️"]) + (":pilot:" ["🧑✈️"]) + (":adult:" ["🧑"]) + (":child:" ["🧒"]) + (":older_adult:" ["🧓"]) + (":woman_with_beard:" ["🧔♀️"]) + (":man_with_beard:" ["🧔♂️"]) + (":bearded_person:" ["🧔"]) + (":person_with_headscarf:" ["🧕"]) + (":woman_in_steamy_room:" ["🧖♀️"]) + (":man_in_steamy_room:" ["🧖♂️"]) + (":person_in_steamy_room:" ["🧖"]) + (":woman_climbing:" ["🧗♀️"]) + (":man_climbing:" ["🧗♂️"]) + (":person_climbing:" ["🧗"]) + (":woman_in_lotus_position:" ["🧘♀️"]) + (":man_in_lotus_position:" ["🧘♂️"]) + (":person_in_lotus_position:" ["🧘"]) + (":female_mage:" ["🧙♀️"]) + (":male_mage:" ["🧙♂️"]) + (":mage:" ["🧙"]) + (":female_fairy:" ["🧚♀️"]) + (":male_fairy:" ["🧚♂️"]) + (":fairy:" ["🧚"]) + (":female_vampire:" ["🧛♀️"]) + (":male_vampire:" ["🧛♂️"]) + (":vampire:" ["🧛"]) + (":mermaid:" ["🧜♀️"]) + (":merman:" ["🧜♂️"]) + (":merperson:" ["🧜"]) + (":female_elf:" ["🧝♀️"]) + (":male_elf:" ["🧝♂️"]) + (":elf:" ["🧝"]) + (":female_genie:" ["🧞♀️"]) + (":male_genie:" ["🧞♂️"]) + (":genie:" ["🧞"]) + (":female_zombie:" ["🧟♀️"]) + (":male_zombie:" ["🧟♂️"]) + (":zombie:" ["🧟"]) + (":brain:" ["🧠"]) + (":orange_heart:" ["🧡"]) + (":billed_cap:" ["🧢"]) + (":scarf:" ["🧣"]) + (":gloves:" ["🧤"]) + (":coat:" ["🧥"]) + (":socks:" ["🧦"]) + (":red_envelope:" ["🧧"]) + (":firecracker:" ["🧨"]) + (":jigsaw:" ["🧩"]) + (":test_tube:" ["🧪"]) + (":petri_dish:" ["🧫"]) + (":dna:" ["🧬"]) + (":compass:" ["🧭"]) + (":abacus:" ["🧮"]) + (":fire_extinguisher:" ["🧯"]) + (":toolbox:" ["🧰"]) + (":bricks:" ["🧱"]) + (":magnet:" ["🧲"]) + (":luggage:" ["🧳"]) + (":lotion_bottle:" ["🧴"]) + (":thread:" ["🧵"]) + (":yarn:" ["🧶"]) + (":safety_pin:" ["🧷"]) + (":teddy_bear:" ["🧸"]) + (":broom:" ["🧹"]) + (":basket:" ["🧺"]) + (":roll_of_paper:" ["🧻"]) + (":soap:" ["🧼"]) + (":sponge:" ["🧽"]) + (":receipt:" ["🧾"]) + (":nazar_amulet:" ["🧿"]) + (":ballet_shoes:" ["🩰"]) + (":one-piece_swimsuit:" ["🩱"]) + (":briefs:" ["🩲"]) + (":shorts:" ["🩳"]) + (":thong_sandal:" ["🩴"]) + (":drop_of_blood:" ["🩸"]) + (":adhesive_bandage:" ["🩹"]) + (":stethoscope:" ["🩺"]) + (":yo-yo:" ["🪀"]) + (":kite:" ["🪁"]) + (":parachute:" ["🪂"]) + (":boomerang:" ["🪃"]) + (":magic_wand:" ["🪄"]) + (":pinata:" ["🪅"]) + (":nesting_dolls:" ["🪆"]) + (":ringed_planet:" ["🪐"]) + (":chair:" ["🪑"]) + (":razor:" ["🪒"]) + (":axe:" ["🪓"]) + (":diya_lamp:" ["🪔"]) + (":banjo:" ["🪕"]) + (":military_helmet:" ["🪖"]) + (":accordion:" ["🪗"]) + (":long_drum:" ["🪘"]) + (":coin:" ["🪙"]) + (":carpentry_saw:" ["🪚"]) + (":screwdriver:" ["🪛"]) + (":ladder:" ["🪜"]) + (":hook:" ["🪝"]) + (":mirror:" ["🪞"]) + (":window:" ["🪟"]) + (":plunger:" ["🪠"]) + (":sewing_needle:" ["🪡"]) + (":knot:" ["🪢"]) + (":bucket:" ["🪣"]) + (":mouse_trap:" ["🪤"]) + (":toothbrush:" ["🪥"]) + (":headstone:" ["🪦"]) + (":placard:" ["🪧"]) + (":rock:" ["🪨"]) + (":fly:" ["🪰"]) + (":worm:" ["🪱"]) + (":beetle:" ["🪲"]) + (":cockroach:" ["🪳"]) + (":potted_plant:" ["🪴"]) + (":wood:" ["🪵"]) + (":feather:" ["🪶"]) + (":anatomical_heart:" ["🫀"]) + (":lungs:" ["🫁"]) + (":people_hugging:" ["🫂"]) + (":blueberries:" ["🫐"]) + (":bell_pepper:" ["🫑"]) + (":olive:" ["🫒"]) + (":flatbread:" ["🫓"]) + (":tamale:" ["🫔"]) + (":fondue:" ["🫕"]) + (":teapot:" ["🫖"]) + (":bangbang:" ["‼️"]) + (":interrobang:" ["⁉️"]) + (":tm:" ["™️"]) + (":information_source:" ["ℹ️"]) + (":left_right_arrow:" ["↔️"]) + (":arrow_up_down:" ["↕️"]) + (":arrow_upper_left:" ["↖️"]) + (":arrow_upper_right:" ["↗️"]) + (":arrow_lower_right:" ["↘️"]) + (":arrow_lower_left:" ["↙️"]) + (":leftwards_arrow_with_hook:" ["↩️"]) + (":arrow_right_hook:" ["↪️"]) + (":watch:" ["⌚"]) + (":hourglass:" ["⌛"]) + (":keyboard:" ["⌨️"]) + (":eject:" ["⏏️"]) + (":fast_forward:" ["⏩"]) + (":rewind:" ["⏪"]) + (":arrow_double_up:" ["⏫"]) + (":arrow_double_down:" ["⏬"]) + (":black_right_pointing_double_triangle_with_vertical_bar:" ["⏭️"]) + (":black_left_pointing_double_triangle_with_vertical_bar:" ["⏮️"]) + (":black_right_pointing_triangle_with_double_vertical_bar:" ["⏯️"]) + (":alarm_clock:" ["⏰"]) + (":stopwatch:" ["⏱️"]) + (":timer_clock:" ["⏲️"]) + (":hourglass_flowing_sand:" ["⏳"]) + (":double_vertical_bar:" ["⏸️"]) + (":black_square_for_stop:" ["⏹️"]) + (":black_circle_for_record:" ["⏺️"]) + (":m:" ["Ⓜ️"]) + (":black_small_square:" ["▪️"]) + (":white_small_square:" ["▫️"]) + (":arrow_forward:" ["▶️"]) + (":arrow_backward:" ["◀️"]) + (":white_medium_square:" ["◻️"]) + (":black_medium_square:" ["◼️"]) + (":white_medium_small_square:" ["◽"]) + (":black_medium_small_square:" ["◾"]) + (":sunny:" ["☀️"]) + (":cloud:" ["☁️"]) + (":umbrella:" ["☂️"]) + (":snowman:" ["☃️"]) + (":comet:" ["☄️"]) + (":phone:" ["☎️"]) + (":telephone:" ["☎️"]) + (":ballot_box_with_check:" ["☑️"]) + (":umbrella_with_rain_drops:" ["☔"]) + (":coffee:" ["☕"]) + (":shamrock:" ["☘️"]) + (":point_up:" ["☝️"]) + (":skull_and_crossbones:" ["☠️"]) + (":radioactive_sign:" ["☢️"]) + (":biohazard_sign:" ["☣️"]) + (":orthodox_cross:" ["☦️"]) + (":star_and_crescent:" ["☪️"]) + (":peace_symbol:" ["☮️"]) + (":yin_yang:" ["☯️"]) + (":wheel_of_dharma:" ["☸️"]) + (":white_frowning_face:" ["☹️"]) + (":relaxed:" ["☺️"]) + (":female_sign:" ["♀️"]) + (":male_sign:" ["♂️"]) + (":aries:" ["♈"]) + (":taurus:" ["♉"]) + (":gemini:" ["♊"]) + (":cancer:" ["♋"]) + (":leo:" ["♌"]) + (":virgo:" ["♍"]) + (":libra:" ["♎"]) + (":scorpius:" ["♏"]) + (":sagittarius:" ["♐"]) + (":capricorn:" ["♑"]) + (":aquarius:" ["♒"]) + (":pisces:" ["♓"]) + (":chess_pawn:" ["♟️"]) + (":spades:" ["♠️"]) + (":clubs:" ["♣️"]) + (":hearts:" ["♥️"]) + (":diamonds:" ["♦️"]) + (":hotsprings:" ["♨️"]) + (":recycle:" ["♻️"]) + (":infinity:" ["♾️"]) + (":wheelchair:" ["♿"]) + (":hammer_and_pick:" ["⚒️"]) + (":anchor:" ["⚓"]) + (":crossed_swords:" ["⚔️"]) + (":medical_symbol:" ["⚕️"]) + (":staff_of_aesculapius:" ["⚕️"]) + (":scales:" ["⚖️"]) + (":alembic:" ["⚗️"]) + (":gear:" ["⚙️"]) + (":atom_symbol:" ["⚛️"]) + (":fleur_de_lis:" ["⚜️"]) + (":warning:" ["⚠️"]) + (":zap:" ["⚡"]) + (":transgender_symbol:" ["⚧️"]) + (":white_circle:" ["⚪"]) + (":black_circle:" ["⚫"]) + (":coffin:" ["⚰️"]) + (":funeral_urn:" ["⚱️"]) + (":soccer:" ["⚽"]) + (":baseball:" ["⚾"]) + (":snowman_without_snow:" ["⛄"]) + (":partly_sunny:" ["⛅"]) + (":thunder_cloud_and_rain:" ["⛈️"]) + (":ophiuchus:" ["⛎"]) + (":pick:" ["⛏️"]) + (":helmet_with_white_cross:" ["⛑️"]) + (":chains:" ["⛓️"]) + (":no_entry:" ["⛔"]) + (":shinto_shrine:" ["⛩️"]) + (":church:" ["⛪"]) + (":mountain:" ["⛰️"]) + (":umbrella_on_ground:" ["⛱️"]) + (":fountain:" ["⛲"]) + (":golf:" ["⛳"]) + (":ferry:" ["⛴️"]) + (":boat:" ["⛵"]) + (":sailboat:" ["⛵"]) + (":skier:" ["⛷️"]) + (":ice_skate:" ["⛸️"]) + (":woman-bouncing-ball:" ["⛹️♀️"]) + (":man-bouncing-ball:" ["⛹️♂️"]) + (":person_with_ball:" ["⛹️"]) + (":tent:" ["⛺"]) + (":fuelpump:" ["⛽"]) + (":scissors:" ["✂️"]) + (":white_check_mark:" ["✅"]) + (":airplane:" ["✈️"]) + (":email:" ["✉️"]) + (":envelope:" ["✉️"]) + (":fist:" ["✊"]) + (":hand:" ["✋"]) + (":raised_hand:" ["✋"]) + (":v:" ["✌️"]) + (":writing_hand:" ["✍️"]) + (":pencil2:" ["✏️"]) + (":black_nib:" ["✒️"]) + (":heavy_check_mark:" ["✔️"]) + (":heavy_multiplication_x:" ["✖️"]) + (":latin_cross:" ["✝️"]) + (":star_of_david:" ["✡️"]) + (":sparkles:" ["✨"]) + (":eight_spoked_asterisk:" ["✳️"]) + (":eight_pointed_black_star:" ["✴️"]) + (":snowflake:" ["❄️"]) + (":sparkle:" ["❇️"]) + (":x:" ["❌"]) + (":negative_squared_cross_mark:" ["❎"]) + (":question:" ["❓"]) + (":grey_question:" ["❔"]) + (":grey_exclamation:" ["❕"]) + (":exclamation:" ["❗"]) + (":heavy_exclamation_mark:" ["❗"]) + (":heavy_heart_exclamation_mark_ornament:" ["❣️"]) + (":heart_on_fire:" ["❤️🔥"]) + (":mending_heart:" ["❤️🩹"]) + (":heart:" ["❤️"]) + ("<3" ["❤️"]) + (":heavy_plus_sign:" ["➕"]) + (":heavy_minus_sign:" ["➖"]) + (":heavy_division_sign:" ["➗"]) + (":arrow_right:" ["➡️"]) + (":curly_loop:" ["➰"]) + (":loop:" ["➿"]) + (":arrow_heading_up:" ["⤴️"]) + (":arrow_heading_down:" ["⤵️"]) + (":arrow_left:" ["⬅️"]) + (":arrow_up:" ["⬆️"]) + (":arrow_down:" ["⬇️"]) + (":black_large_square:" ["⬛"]) + (":white_large_square:" ["⬜"]) + (":star:" ["⭐"]) + (":o:" ["⭕"]) + (":wavy_dash:" ["〰️"]) + (":part_alternation_mark:" ["〽️"]) + (":congratulations:" ["㊗️"]) + (":secret:" ["㊙️"]))))))) + +(emoji--define-rules) + +(provide 'emoji) +;;; emoji.el ends here diff --git a/lisp/leim/quail/hangul.el b/lisp/leim/quail/hangul.el index 39e83f6c331..0ef5b2d5c72 100644 --- a/lisp/leim/quail/hangul.el +++ b/lisp/leim/quail/hangul.el @@ -429,7 +429,7 @@ When a Korean input method is off, convert the following hangul character." (hangul3-input-method-jong char)) (t (setq hangul-queue (make-vector 6 0)) - (insert (decode-char 'ucs char)) + (insert char) (move-overlay quail-overlay (point) (point)))))) (defun hangul3-input-method (key) @@ -476,7 +476,7 @@ When a Korean input method is off, convert the following hangul character." (hangul3-input-method-jong char)) (t (setq hangul-queue (make-vector 6 0)) - (insert (decode-char 'ucs char)) + (insert char) (move-overlay quail-overlay (point) (point)))))) (defun hangul390-input-method (key) diff --git a/lisp/leim/quail/indian.el b/lisp/leim/quail/indian.el index 23204c0cd3e..6a3582e83d0 100644 --- a/lisp/leim/quail/indian.el +++ b/lisp/leim/quail/indian.el @@ -171,7 +171,7 @@ clm) (with-temp-buffer (insert "\n") - (insert " +") + (insert "----+") (insert-char ?- 74) (insert "\n |") (setq clm 6) @@ -244,19 +244,27 @@ (insert "\n") (buffer-string)))) -(defvar quail-tamil-itrans-various-signs-and-digits-table +(defun quail-tamil-itrans-compute-signs-table (digitp) + "Compute the signs table for the tamil-itrans input method. +If DIGITP is non-nil, include the digits translation as well." (let ((various '((?ஃ . "H") ("ஸ்ரீ" . "srii") (?ௐ))) (digits "௦௧௨௩௪௫௬௭௮௯") (width 6) clm) (with-temp-buffer - (insert "\n" (make-string 18 ?-) "+" (make-string 60 ?-) "\n") + (insert "\n" (make-string 18 ?-) "+") + (when digitp (insert (make-string 60 ?-))) + (insert "\n") (insert (propertize "\t" 'display '(space :align-to 5)) "various" - (propertize "\t" 'display '(space :align-to 18)) "|" - (propertize "\t" 'display '(space :align-to 45)) "digits") - - (insert "\n" (make-string 18 ?-) "+" (make-string 60 ?-) "\n") - (setq clm 0 ) + (propertize "\t" 'display '(space :align-to 18)) "|") + (when digitp + (insert + (propertize "\t" 'display '(space :align-to 45)) "digits")) + (insert "\n" (make-string 18 ?-) "+") + (when digitp + (insert (make-string 60 ?-))) + (insert "\n") + (setq clm 0) (dotimes (i (length various)) (insert (propertize "\t" 'display (list 'space :align-to clm)) @@ -264,10 +272,11 @@ (setq clm (+ clm width))) (insert (propertize "\t" 'display '(space :align-to 18)) "|") (setq clm 20) - (dotimes (i 10) - (insert (propertize "\t" 'display (list 'space :align-to clm)) - (aref digits i)) - (setq clm (+ clm width))) + (when digitp + (dotimes (i 10) + (insert (propertize "\t" 'display (list 'space :align-to clm)) + (aref digits i)) + (setq clm (+ clm width)))) (insert "\n") (setq clm 0) (dotimes (i (length various)) @@ -276,13 +285,22 @@ (setq clm (+ clm width))) (insert (propertize "\t" 'display '(space :align-to 18)) "|") (setq clm 20) - (dotimes (i 10) - (insert (propertize "\t" 'display (list 'space :align-to clm)) - (format "%d" i)) - (setq clm (+ clm width))) - (insert "\n" (make-string 18 ?-) "+" (make-string 60 ?-) "\n") + (when digitp + (dotimes (i 10) + (insert (propertize "\t" 'display (list 'space :align-to clm)) + (format "%d" i)) + (setq clm (+ clm width)))) + (insert "\n" (make-string 18 ?-) "+") + (when digitp + (insert (make-string 60 ?-) "\n")) (buffer-string)))) +(defvar quail-tamil-itrans-various-signs-and-digits-table + (quail-tamil-itrans-compute-signs-table t)) + +(defvar quail-tamil-itrans-various-signs-table + (quail-tamil-itrans-compute-signs-table nil)) + (if nil (quail-define-package "tamil-itrans" "Tamil" "TmlIT" t "Tamil ITRANS")) (quail-define-indian-trans-package @@ -293,16 +311,39 @@ You can input characters using the following mapping tables. Example: To enter வணக்கம், type vaNakkam. ### Basic syllables (consonants + vowels) ### -\\<quail-tamil-itrans-syllable-table> +\\=\\<quail-tamil-itrans-syllable-table> + +### Miscellaneous (various signs) ### +\\=\\<quail-tamil-itrans-various-signs-table> + +### Others (numerics + symbols) ### + +Characters below have no ITRANS method associated with them. +Their descriptions are included for easy reference. +\\=\\<quail-tamil-itrans-numerics-and-symbols-table> + +Full key sequences are listed below:") + +(if nil + (quail-define-package "tamil-itrans-digits" "Tamil" "TmlITD" t "Tamil ITRANS with digits")) +(quail-define-indian-trans-package + indian-tml-itrans-digits-v5-hash "tamil-itrans-digits" "Tamil" "TmlITD" + "Tamil transliteration by ITRANS method with Tamil digits support. + +You can input characters using the following mapping tables. + Example: To enter வணக்கம், type vaNakkam. + +### Basic syllables (consonants + vowels) ### +\\=\\<quail-tamil-itrans-syllable-table> ### Miscellaneous (various signs + digits) ### -\\<quail-tamil-itrans-various-signs-and-digits-table> +\\=\\<quail-tamil-itrans-various-signs-and-digits-table> ### Others (numerics + symbols) ### Characters below have no ITRANS method associated with them. Their descriptions are included for easy reference. -\\<quail-tamil-itrans-numerics-and-symbols-table> +\\=\\<quail-tamil-itrans-numerics-and-symbols-table> Full key sequences are listed below:") @@ -479,6 +520,13 @@ Full key sequences are listed below:") "tamil-inscript" "Tamil" "TmlIS" "Tamil keyboard Inscript.") +(if nil + (quail-define-package "tamil-inscript-digits" "Tamil" "TmlISD" t "Tamil keyboard Inscript with digits.")) +(quail-define-inscript-package + indian-tml-base-digits-table inscript-tml-keytable + "tamil-inscript-digits" "Tamil" "TmlISD" + "Tamil keyboard Inscript with Tamil digits support.") + ;; Probhat Input Method (quail-define-package "bengali-probhat" "Bengali" "BngPB" t @@ -648,4 +696,1079 @@ Full key sequences are listed below:") (quail-defrule "|" ?) (quail-defrule "||" ?) +(quail-define-package + "brahmi" "Brahmi" "𑀲" t "Brahmi phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("``" ?₹) + ("1" ?𑁧) + ("`1" ?1) + ("`!" ?𑁒) + ("2" ?𑁨) + ("`2" ?2) + ("`@" ?𑁓) + ("3" ?𑁩) + ("`3" ?3) + ("`#" ?𑁔) + ("4" ?𑁪) + ("`4" ?4) + ("`$" ?𑁕) + ("5" ?𑁫) + ("`5" ?5) + ("`%" ?𑁖) + ("6" ?𑁬) + ("`6" ?6) + ("`^" ?𑁗) + ("7" ?𑁭) + ("`7" ?7) + ("`&" ?𑁘) + ("8" ?𑁮) + ("`8" ?8) + ("`*" ?𑁙) + ("9" ?𑁯) + ("`9" ?9) + ("`(" ?𑁚) + ("0" ?𑁦) + ("`0" ?0) + ("`)" ?𑁛) + ("`-" ?𑁜) + ("`_" ?𑁝) + ("`=" ?𑁞) + ("`+" ?𑁟) + ("`\\" ?𑁇) + ("`|" ?𑁈) + ("`" ?𑀝) + ("q" ?𑀝) + ("Q" ?𑀞) + ("`q" ?𑀃) + ("`Q" ?𑁠) + ("w" ?𑀟) + ("W" ?𑀠) + ("`w" ?𑀄) + ("`W" ?𑁡) + ("e" ?𑁂) + ("E" ?𑁃) + ("`e" ?𑀏) + ("`E" ?𑀐) + ("r" ?𑀭) + ("R" ?𑀾) + ("`r" ?𑀋) + ("`R" ?𑀶) + ("t" ?𑀢) + ("T" ?𑀣) + ("`t" ?𑁢) + ("y" ?𑀬) + ("Y" ?𑁣) + ("`y" ?𑁤) + ("`Y" ?𑁥) + ("u" ?𑀼) + ("U" ?𑀽) + ("`u" ?𑀉) + ("`U" ?𑀊) + ("i" ?𑀺) + ("I" ?𑀻) + ("`i" ?𑀇) + ("`I" ?𑀈) + ("o" ?𑁄) + ("O" ?𑁅) + ("`o" ?𑀑) + ("`O" ?𑀒) + ("p" ?𑀧) + ("P" ?𑀨) + ("`p" ?𑁳) + ("`P" ?𑁱) + ("`[" ?𑁴) + ("`{" ?𑁲) + ("a" ?𑀸) + ("A" ?𑀆) + ("`a" ?𑀅) + ("`A" ?𑀹) + ("s" ?𑀲) + ("S" ?𑀰) + ("`s" ?𑀱) + ("d" ?𑀤) + ("D" ?𑀥) + ("`d" ?𑀶) + ("f" ?𑁆) + ("F" ?𑀿) + ("`f" ?𑀌) + ("`F" ?𑁰) + ("g" ?𑀕) + ("G" ?𑀖) + ("h" ?𑀳) + ("H" ?𑀂) + ("j" ?𑀚) + ("J" ?𑀛) + ("k" ?𑀓) + ("K" ?𑀔) + ("l" ?𑀮) + ("L" ?𑀴) + ("`l" ?𑀵) + ("`L" ?𑁵) + ("z" ?𑁀) + ("Z" ?𑀍) + ("`z" ?𑁁) + ("`Z" ?𑀎) + ("x" ?𑁉) + ("X" ?𑁊) + ("`x" ?𑁋) + ("`X" ?𑁌) + ("c" ?𑀘) + ("C" ?𑀙) + ("`c" #x200C) ; ZWNJ + ("`C" #x200D) ; ZWJ + ("v" ?𑀯) + ("V" ?𑀷) + ("b" ?𑀩) + ("B" ?𑀪) + ("n" ?𑀦) + ("N" ?𑀡) + ("`n" ?𑀗) + ("`N" ?𑀜) + ("m" ?𑀫) + ("M" ?𑀁) + ("`m" ?𑀀) + ("<" ?𑁍) + ("`/" ?𑁿) + ) + +(quail-define-package + "kaithi" "Kaithi" "𑂍𑂶" t "Kaithi phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules +("``" ?₹) +("1" ?१) +("`1" ?1) +("2" ?२) +("`2" ?2) +("3" ?३) +("`3" ?3) +("4" ?४) +("`4" ?4) +("5" ?५) +("`5" ?5) +("6" ?६) +("`6" ?6) +("7" ?७) +("`7" ?7) +("8" ?८) +("`8" ?8) +("9" ?९) +("`9" ?9) +("0" ?०) +("`0" ?0) +("`)" ?𑂻) +("`\\" ?𑃀) +("`|" ?𑃁) +("`" ?𑂗) +("q" ?𑂗) +("Q" ?𑂘) +("w" ?𑂙) +("W" ?𑂛) +("`w" ?𑂚) +("`W" ?𑂜) +("e" ?𑂵) +("E" ?𑂶) +("`e" ?𑂉) +("`E" ?𑂊) +("r" ?𑂩) +("R" ?𑃂) +("t" ?𑂞) +("T" ?𑂟) +("y" ?𑂨) +("Y" ?⸱) +("u" ?𑂳) +("U" ?𑂴) +("`u" ?𑂇) +("`U" ?𑂈) +("i" ?𑂱) +("I" ?𑂲) +("`i" ?𑂅) +("`I" ?𑂆) +("o" ?𑂷) +("O" ?𑂸) +("`o" ?𑂋) +("`O" ?𑂌) +("p" ?𑂣) +("P" ?𑂤) +("a" ?𑂰) +("A" ?𑂄) +("`a" ?𑂃) +("s" ?𑂮) +("S" ?𑂬) +("d" ?𑂠) +("D" ?𑂡) +("`d" ?𑂼) +("`D" #x110BD) ; Kaithi Number Sign +("f" ?𑂹) +("F" #x110CD) ; Kaithi Number Sign Above +("`f" ?𑂾) +("`F" ?𑂿) +("g" ?𑂏) +("G" ?𑂐) +("h" ?𑂯) +("H" ?𑂂) +("j" ?𑂔) +("J" ?𑂕) +("k" ?𑂍) +("K" ?𑂎) +("l" ?𑂪) +("z" ?𑂖) +("Z" ?𑂑) +("x" ?𑂭) +("X" ?𑂺) +("c" ?𑂒) +("C" ?𑂓) +("`c" #x200C) ; ZWNJ +("`C" #x200D) ; ZWJ +("v" ?𑂫) +("b" ?𑂥) +("B" ?𑂦) +("n" ?𑂢) +("N" ?𑂝) +("m" ?𑂧) +("M" ?𑂁) +("`m" ?𑂀) +) + +(quail-define-package + "tirhuta" "Tirhuta" "𑒞𑒱" t "Tirhuta phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules +("``" ?₹) +("1" ?𑓑) +("`1" ?1) +("2" ?𑓒) +("`2" ?2) +("3" ?𑓓) +("`3" ?3) +("4" ?𑓔) +("`4" ?4) +("5" ?𑓕) +("`5" ?5) +("6" ?𑓖) +("`6" ?6) +("7" ?𑓗) +("`7" ?7) +("8" ?𑓘) +("`8" ?8) +("9" ?𑓙) +("`9" ?9) +("0" ?𑓐) +("`0" ?0) +("`)" ?𑓆) +("`\\" ?।) +("`|" ?॥) +("`" ?𑒙) +("q" ?𑒙) +("Q" ?𑒚) +("w" ?𑒛) +("W" ?𑒜) +("e" ?𑒺) +("E" ?𑒹) +("`e" ?𑒋) +("r" ?𑒩) +("R" ?𑒵) +("`r" ?𑒇) +("t" ?𑒞) +("T" ?𑒟) +("y" ?𑒨) +("Y" ?𑒻) +("`y" ?𑒌) +("u" ?𑒳) +("U" ?𑒴) +("`u" ?𑒅) +("`U" ?𑒆) +("i" ?𑒱) +("I" ?𑒲) +("`i" ?𑒃) +("`I" ?𑒄) +("o" ?𑒽) +("O" ?𑒼) +("`o" ?𑒍) +("p" ?𑒣) +("P" ?𑒤) +("a" ?𑒰) +("A" ?𑒂) +("`a" ?𑒁) +("s" ?𑒮) +("S" ?𑒬) +("d" ?𑒠) +("D" ?𑒡) +("f" ?𑓂) +("F" ?𑒶) +("`f" ?𑒈) +("g" ?𑒑) +("G" ?𑒒) +("h" ?𑒯) +("H" ?𑓁) +("j" ?𑒖) +("J" ?𑒗) +("k" ?𑒏) +("K" ?𑒐) +("l" ?𑒪) +("L" ?𑒷) +("`l" ?𑒉) +("z" ?𑒘) +("Z" ?𑒓) +("`z" ?𑒸) +("`Z" ?𑒊) +("x" ?𑒭) +("X" ?𑓃) +("c" ?𑒔) +("C" ?𑒕) +("`c" #x200C) ; ZWNJ +("v" ?𑒫) +("V" ?𑒾) +("`v" ?𑒎) +("b" ?𑒥) +("B" ?𑒦) +("`b" ?𑒀) +("`B" ?𑓄) +("n" ?𑒢) +("N" ?𑒝) +("`n" ?𑓇) +("`N" ?𑓅) +("m" ?𑒧) +("M" ?𑓀) +("`m" ?𑒿) +) + +(quail-define-package + "sharada" "Sharada" "𑆯𑆳" t "Sharada phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules +("``" ?₹) +("1" ?𑇑) +("`1" ?1) +("2" ?𑇒) +("`2" ?2) +("3" ?𑇓) +("`3" ?3) +("4" ?𑇔) +("`4" ?4) +("5" ?𑇕) +("`5" ?5) +("6" ?𑇖) +("`6" ?6) +("7" ?𑇗) +("`7" ?7) +("8" ?𑇘) +("`8" ?8) +("9" ?𑇙) +("`9" ?9) +("0" ?𑇐) +("`0" ?0) +("`)" ?𑇇) +("`\\" ?𑇅) +("`|" ?𑇆) +("`" ?𑆛) +("q" ?𑆛) +("Q" ?𑆜) +("`q" ?𑇈) +("`Q" ?𑇉) +("w" ?𑆝) +("W" ?𑆞) +("`w" ?𑇋) +("`W" ?𑇍) +("e" ?𑆼) +("E" ?𑆽) +("`e" ?𑆍) +("`E" ?𑆎) +("r" ?𑆫) +("R" ?𑆸) +("`r" ?𑆉) +("`R" ?𑇎) +("t" ?𑆠) +("T" ?𑆡) +("y" ?𑆪) +("u" ?𑆶) +("U" ?𑆷) +("`u" ?𑆇) +("`U" ?𑆈) +("i" ?𑆴) +("I" ?𑆵) +("`i" ?𑆅) +("`I" ?𑆆) +("o" ?𑆾) +("O" ?𑆿) +("`o" ?𑆏) +("`O" ?𑆐) +("p" ?𑆥) +("P" ?𑆦) +("`p" ?𑇃) +("a" ?𑆳) +("A" ?𑆄) +("`a" ?𑆃) +("s" ?𑆱) +("S" ?𑆯) +("d" ?𑆢) +("D" ?𑆣) +("`d" ?𑇚) +("`D" ?𑇛) +("f" ?𑇀) +("F" ?𑆹) +("`f" ?𑆊) +("`F" ?𑇌) +("g" ?𑆓) +("G" ?𑆔) +("`g" ?𑇜) +("`G" ?𑇝) +("h" ?𑆲) +("H" ?𑆂) +("`h" ?𑇞) +("`H" ?𑇟) +("j" ?𑆘) +("J" ?𑆙) +("`j" ?᳘) +("`J" ?᳕) +("k" ?𑆑) +("K" ?𑆒) +("`k" ?𑇂) +("l" ?𑆬) +("L" ?𑆭) +("`l" ?𑆺) +("`L" ?𑆋) +("z" ?𑆚) +("Z" ?𑆕) +("`z" ?𑆻) +("`Z" ?𑆌) +("x" ?𑆰) +("X" ?𑇊) +("c" ?𑆖) +("C" ?𑆗) +("`c" #x200C) ; ZWNJ +("v" ?𑆮) +("b" ?𑆧) +("B" ?𑆨) +("n" ?𑆤) +("N" ?𑆟) +("`n" ?𑇄) +("`N" ?𑇁) +("m" ?𑆩) +("M" ?𑆁) +("`m" ?𑆀) +("`M" ?𑇏) +) + +(quail-define-package + "siddham" "Sharada" "𑖭𑖰" t "Siddham phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules +("``" ?₹) +("`1" ?𑗊) +("`!" ?𑗔) +("`2" ?𑗋) +("`@" ?𑗕) +("`3" ?𑗌) +("`#" ?𑗖) +("`4" ?𑗍) +("`$" ?𑗗) +("`5" ?𑗎) +("`%" ?𑗅) +("`6" ?𑗏) +("`^" ?𑗆) +("`7" ?𑗐) +("`&" ?𑗇) +("`8" ?𑗑) +("`*" ?𑗈) +("`9" ?𑗒) +("`(" ?𑗉) +("`0" ?𑗓) +("`)" ?𑗄) +("`\\" ?𑗂) +("`|" ?𑗃) +("`" ?𑖘) +("q" ?𑖘) +("Q" ?𑖙) +("`q" ?𑗘) +("`Q" ?𑗙) +("w" ?𑖚) +("W" ?𑖛) +("`w" ?𑗚) +("`W" ?𑗛) +("e" ?𑖸) +("E" ?𑖹) +("`e" ?𑖊) +("`E" ?𑖋) +("r" ?𑖨) +("R" ?𑖴) +("`r" ?𑖆) +("t" ?𑖝) +("T" ?𑖞) +("`t" ?𑗜) +("`T" ?𑗝) +("y" ?𑖧) +("u" ?𑖲) +("U" ?𑖳) +("`u" ?𑖄) +("`U" ?𑖅) +("i" ?𑖰) +("I" ?𑖱) +("`i" ?𑖂) +("`I" ?𑖃) +("o" ?𑖺) +("O" ?𑖻) +("`o" ?𑖌) +("`O" ?𑖍) +("p" ?𑖢) +("P" ?𑖣) +("a" ?𑖯) +("A" ?𑖁) +("`a" ?𑖀) +("s" ?𑖭) +("S" ?𑖫) +("d" ?𑖟) +("D" ?𑖠) +("`d" ?𑗁) +("f" ?𑖿) +("F" ?𑖵) +("`f" ?𑖇) +("g" ?𑖐) +("G" ?𑖑) +("h" ?𑖮) +("H" ?𑖾) +("j" ?𑖕) +("J" ?𑖖) +("k" ?𑖎) +("K" ?𑖏) +("l" ?𑖩) +("L" ?𑖈) +("`l" ?𑖉) +("z" ?𑖗) +("Z" ?𑖒) +("x" ?𑖬) +("X" ?𑗀) +("c" ?𑖓) +("C" ?𑖔) +("`c" #x200C) ; ZWNJ +("v" ?𑖪) +("b" ?𑖤) +("B" ?𑖥) +("n" ?𑖡) +("N" ?𑖜) +("m" ?𑖦) +("M" ?𑖽) +("`m" ?𑖼) +) + + +(quail-define-package + "syloti-nagri" "Syloti Nagri" "ꠍꠤ" t "Syloti Nagri phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules +("``" ?₹) +("`~" ?৳) +("1" ?১) +("`1" ?1) +("2" ?২) +("`2" ?2) +("3" ?৩) +("`3" ?3) +("4" ?৪) +("`4" ?4) +("5" ?৫) +("`5" ?5) +("6" ?৬) +("`6" ?6) +("7" ?৭) +("`7" ?7) +("8" ?৮) +("`8" ?8) +("9" ?৯) +("`9" ?9) +("0" ?০) +("`0" ?0) +("`\\" ?𑇅) +("`|" ?𑇆) +("`" ?ꠐ) +("q" ?ꠐ) +("Q" ?ꠑ) +("`q" ?꠨) +("`Q" ?꠩) +("w" ?ꠒ) +("W" ?ꠓ) +("`w" ?꠪) +("`W" ?꠫) +("e" ?ꠦ) +("E" ?ꠄ) +("r" ?ꠞ) +("R" ?ꠠ) +("t" ?ꠔ) +("T" ?ꠕ) +("y" ?ꠂ) +("u" ?ꠥ) +("U" ?ꠃ) +("i" ?ꠤ) +("I" ?ꠁ) +("o" ?ꠧ) +("O" ?ꠅ) +("p" ?ꠙ) +("P" ?ꠚ) +("a" ?ꠣ) +("A" ?ꠀ) +("s" ?ꠡ) +("d" ?ꠖ) +("D" ?ꠗ) +("f" ?꠆) +("F" ?꠬) +("g" ?ꠉ) +("G" ?ꠊ) +("h" ?ꠢ) +("j" ?ꠎ) +("J" ?ꠏ) +("k" ?ꠇ) +("K" ?ꠈ) +("l" ?ꠟ) +("c" ?ꠌ) +("C" ?ꠍ) +("`c" #x200C) ; ZWNJ +("b" ?ꠛ) +("B" ?ꠜ) +("n" ?ꠘ) +("m" ?ꠝ) +("M" ?ꠋ) +) + +(quail-define-package + "modi" "Modi" "𑘦𑘻" t "Modi phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules +("``" ?₹) +("1" ?𑙑) +("`1" ?1) +("2" ?𑙒) +("`2" ?2) +("3" ?𑙓) +("`3" ?3) +("4" ?𑙔) +("`4" ?4) +("5" ?𑙕) +("`5" ?5) +("6" ?𑙖) +("`6" ?6) +("7" ?𑙗) +("`7" ?7) +("8" ?𑙘) +("`8" ?8) +("9" ?𑙙) +("`9" ?9) +("0" ?𑙐) +("`0" ?0) +("`)" ?𑙃) +("`\\" ?𑙁) +("`|" ?𑙂) +("`" ?𑘘) +("q" ?𑘘) +("Q" ?𑘙) +("`q" ?𑙄) +("w" ?𑘚) +("W" ?𑘛) +("e" ?𑘹) +("E" ?𑘺) +("`e" ?𑘊) +("`E" ?𑘋) +("r" ?𑘨) +("R" ?𑘵) +("`r" ?𑘆) +("t" ?𑘝) +("T" ?𑘞) +("y" ?𑘧) +("u" ?𑘳) +("U" ?𑘴) +("`u" ?𑘄) +("`U" ?𑘅) +("i" ?𑘱) +("I" ?𑘲) +("`i" ?𑘂) +("`I" ?𑘃) +("o" ?𑘻) +("O" ?𑘼) +("`o" ?𑘌) +("`O" ?𑘍) +("p" ?𑘢) +("P" ?𑘣) +("a" ?𑘰) +("A" ?𑘁) +("`a" ?𑘀) +("s" ?𑘭) +("S" ?𑘫) +("d" ?𑘟) +("D" ?𑘠) +("f" ?𑘿) +("F" ?𑘶) +("`f" ?𑘇) +("g" ?𑘐) +("G" ?𑘑) +("h" ?𑘮) +("H" ?𑘾) +("j" ?𑘕) +("J" ?𑘖) +("k" ?𑘎) +("K" ?𑘏) +("l" ?𑘩) +("L" ?𑘯) +("`l" ?𑘷) +("`L" ?𑘈) +("z" ?𑘗) +("Z" ?𑘒) +("`z" ?𑘸) +("`Z" ?𑘉) +("x" ?𑘬) +("X" ?𑙀) +("c" ?𑘓) +("C" ?𑘔) +("`c" #x200C) ; ZWNJ +("v" ?𑘪) +("b" ?𑘤) +("B" ?𑘥) +("n" ?𑘡) +("N" ?𑘜) +("m" ?𑘦) +("M" ?𑘽) +) + +(quail-define-package + "odia" "Odia" "ଓ" t "Odia phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules +("``" ?₹) +("1" ?୧) +("`1" ?1) +("`!" ?୲) +("2" ?୨) +("`2" ?2) +("`@" ?୳) +("3" ?୩) +("`3" ?3) +("`#" ?୴) +("4" ?୪) +("`4" ?4) +("`$" ?୵) +("5" ?୫) +("`5" ?5) +("`%" ?୶) +("6" ?୬) +("`6" ?6) +("`^" ?୷) +("7" ?୭) +("`7" ?7) +("8" ?୮) +("`8" ?8) +("9" ?୯) +("`9" ?9) +("0" ?୦) +("`0" ?0) +("`\\" ?।) +("`|" ?॥) +("`" ?ଟ) +("q" ?ଟ) +("Q" ?ଠ) +("`q" ?୰) +("`Q" ?୕) +("w" ?ଡ) +("W" ?ଢ) +("`w" ?ଡ଼) +("`W" ?ଢ଼) +("e" ?େ) +("E" ?ୈ) +("`e" ?ଏ) +("`E" ?ଐ) +("r" ?ର) +("R" ?ୃ) +("`r" ?ଋ) +("t" ?ତ) +("T" ?ଥ) +("`t" ?ୖ) +("`T" ?ୗ) +("y" ?ଯ) +("Y" ?ୟ) +("u" ?ୁ) +("U" ?ୂ) +("`u" ?ଉ) +("`U" ?ଊ) +("i" ?ି) +("I" ?ୀ) +("`i" ?ଇ) +("`I" ?ଈ) +("o" ?ୋ) +("O" ?ୌ) +("`o" ?ଓ) +("`O" ?ଔ) +("p" ?ପ) +("P" ?ଫ) +("a" ?ା) +("A" ?ଆ) +("`a" ?ଅ) +("s" ?ସ) +("S" ?ଶ) +("d" ?ଦ) +("D" ?ଧ) +("f" ?୍) +("F" ?ୄ) +("`f" ?ୠ) +("g" ?ଗ) +("G" ?ଘ) +("h" ?ହ) +("H" ?ଃ) +("j" ?ଜ) +("J" ?ଝ) +("k" ?କ) +("K" ?ଖ) +("l" ?ଲ) +("L" ?ଳ) +("`l" ?ୢ) +("`L" ?ଌ) +("z" ?ଞ) +("Z" ?ଙ) +("`z" ?ୣ) +("`Z" ?ୡ) +("x" ?ଷ) +("X" ?଼) +("c" ?ଚ) +("C" ?ଛ) +("`c" #x200C) ; ZWNJ +("`C" #x200D) ; ZWJ +("v" ?ଵ) +("V" ?ୱ) +("b" ?ବ) +("B" ?ଭ) +("n" ?ନ) +("N" ?ଣ) +("m" ?ମ) +("M" ?ଂ) +("`m" ?ଁ) +("`M" ?ଽ) +) + +(quail-define-package + "limbu" "Limbu" "ᤕ" t "Limbu phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules +("``" ?₹) +("1" ?᥇) +("`1" ?1) +("`!" ?᥄) +("2" ?᥈) +("`2" ?2) +("3" ?᥉) +("`3" ?3) +("4" ?᥊) +("`4" ?4) +("5" ?᥋) +("`5" ?5) +("6" ?᥌) +("`6" ?6) +("7" ?᥍) +("`7" ?7) +("8" ?᥎) +("`8" ?8) +("9" ?᥏) +("`9" ?9) +("0" ?᥆) +("`0" ?0) +("`\\" ?।) +("`|" ?॥) +("`" ?ᤘ) +("q" ?ᤧ) +("Q" ?ᤨ) +("`q" ?᥀) +("w" ?ᤘ) +("W" ?ᤫ) +("e" ?ᤣ) +("E" ?ᤤ) +("r" ?ᤖ) +("R" ?ᤷ) +("`r" ?ᤪ) +("t" ?ᤋ) +("T" ?ᤌ) +("`t" ?ᤳ) +("`T" ?ᤞ) +("y" ?ᤕ) +("Y" ?ᤩ) +("u" ?ᤢ) +("i" ?ᤡ) +("o" ?ᤥ) +("O" ?ᤦ) +("p" ?ᤐ) +("P" ?ᤑ) +("`p" ?ᤵ) +("a" ?ᤠ) +("A" ?ᤀ) +("s" ?ᤛ) +("S" ?ᤙ) +("d" ?ᤍ) +("D" ?ᤎ) +("f" ?᤻) +("g" ?ᤃ) +("G" ?ᤄ) +("`g" ?ᤝ) +("h" ?ᤜ) +("j" ?ᤈ) +("J" ?ᤉ) +("k" ?ᤁ) +("K" ?ᤂ) +("`k" ?ᤰ) +("l" ?ᤗ) +("L" ?ᤸ) +("z" ?ᤊ) +("Z" ?ᤅ) +("x" ?ᤚ) +("X" ?᤹) +("c" ?ᤆ) +("C" ?ᤇ) +("`c" #x200C) ; ZWNJ +("v" ?᤺) +("b" ?ᤒ) +("B" ?ᤓ) +("n" ?ᤏ) +("N" ?ᤴ) +("m" ?ᤔ) +("M" ?ᤱ) +("`m" ?ᤲ) +("`?" ?᥅) +) + +(quail-define-package + "grantha" "Grantha" "𑌗𑍍𑌰" t "Grantha phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr." + nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("``" ?₹) + ("1" ?௧) + ("`1" ?1) + ("`!" ?𑍧) + ("2" ?௨) + ("`2" ?2) + ("`@" ?𑍨) + ("3" ?௩) + ("`3" ?3) + ("`#" ?𑍩) + ("4" ?௪) + ("`4" ?4) + ("`$" ?𑍪) + ("5" ?௫) + ("`5" ?5) + ("`%" ?𑍫) + ("6" ?௬) + ("`6" ?6) + ("`^" ?𑍬) + ("7" ?௭) + ("`7" ?7) + ("8" ?௮) + ("`8" ?8) + ("9" ?௯) + ("`9" ?9) + ("0" ?௦) + ("`0" ?0) + ("q" ?𑌟) + ("Q" ?𑌠) + ("`q" ?𑍐) + ("`Q" ?𑍝) + ("w" ?𑌡) + ("W" ?𑌢) + ("`w" ?𑍞) + ("`W" ?𑍟) + ("e" ?𑍇) + ("E" ?𑍈) + ("`e" ?𑌏) + ("`E" ?𑌐) + ("r" ?𑌰) + ("R" ?𑍃) + ("`r" ?𑌋) + ("t" ?𑌤) + ("T" ?𑌥) + ("`t" ?𑍗) + ("y" ?𑌯) + ("u" ?𑍁) + ("U" ?𑍂) + ("`u" ?𑌉) + ("`U" ?𑌊) + ("i" ?𑌿) + ("I" ?𑍀) + ("`i" ?𑌇) + ("`I" ?𑌈) + ("o" ?𑍋) + ("O" ?𑍌) + ("`o" ?𑌓) + ("`O" ?𑌔) + ("p" ?𑌪) + ("P" ?𑌫) + ("`p" ?𑍴) + ("a" ?𑌾) + ("A" ?𑌆) + ("`a" ?𑌅) + ("`A" ?𑍰) + ("s" ?𑌸) + ("S" ?𑌶) + ("d" ?𑌦) + ("D" ?𑌧) + ("f" ?𑍍) + ("F" ?𑍄) + ("`f" ?𑍠) + ("g" ?𑌗) + ("G" ?𑌘) + ("h" ?𑌹) + ("H" ?𑌃) + ("j" ?𑌜) + ("J" ?𑌝) + ("k" ?𑌕) + ("K" ?𑌖) + ("`k" ?𑍱) + ("l" ?𑌲) + ("L" ?𑌳) + ("`l" ?𑍢) + ("`L" ?𑌌) + ("z" ?𑌞) + ("Z" ?𑌙) + ("`z" ?𑍣) + ("`Z" ?𑍡) + ("x" ?𑌷) + ("X" ?𑌼) + ("`x" ?𑌻) + ("c" ?𑌚) + ("C" ?𑌛) + ("`c" #x200C) ; ZWNJ + ("v" ?𑌵) + ("V" ?𑌽) + ("`v" ?𑍳) + ("b" ?𑌬) + ("B" ?𑌭) + ("n" ?𑌨) + ("N" ?𑌣) + ("`n" ?𑍲) + ("m" ?𑌮) + ("M" ?𑌂) + ("`m" ?𑌁) + ("`M" ?𑌀)) + ;;; indian.el ends here diff --git a/lisp/leim/quail/indonesian.el b/lisp/leim/quail/indonesian.el new file mode 100644 index 00000000000..8d0d158076a --- /dev/null +++ b/lisp/leim/quail/indonesian.el @@ -0,0 +1,557 @@ +;;; indonesian.el --- Quail package for inputting Indonesian characters -*- lexical-binding: t; -*- + +;; Copyright (C) 2022 Free Software Foundation, Inc. + +;; Author: समीर सिंह Sameer Singh <lumarzeli30@gmail.com> +;; Keywords: multilingual, input method, i18n, Indonesia + +;; This file is part of GNU Emacs. + +;; GNU Emacs 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. + +;; GNU Emacs 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 GNU Emacs. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; Input methods for Indonesian languages. + +;;; Code: + +(require 'quail) + +;; This input method supports languages like Buginese, Balinese, Sundanese and +;; Javanese. + +(quail-define-package + "balinese" "Balinese" "ᬩ" t "Balinese phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("1" ?᭑) + ("`1" ?1) + ("`!" ?᭫) + ("2" ?᭒) + ("`2" ?2) + ("`@" ?᭬) + ("3" ?᭓) + ("`3" ?3) + ("`#" ?᭭) + ("4" ?᭔) + ("`4" ?4) + ("`$" ?᭮) + ("5" ?᭕) + ("`5" ?5) + ("`%" ?᭯) + ("6" ?᭖) + ("`6" ?6) + ("`^" ?᭰) + ("7" ?᭗) + ("`7" ?7) + ("`&" ?᭱) + ("8" ?᭘) + ("`8" ?8) + ("`*" ?᭲) + ("9" ?᭙) + ("`9" ?9) + ("`(" ?᭳) + ("0" ?᭐) + ("`0" ?0) + ("`)" ?᭼) + ("`\\" ?᭞) + ("`|" ?᭟) + ("`" ?ᬝ) + ("q" ?ᬝ) + ("Q" ?ᬞ) + ("`q" ?᭚) + ("`Q" ?᭽) + ("w" ?ᬟ) + ("W" ?ᬠ) + ("`w" ?᭛) + ("`W" ?᭾) + ("e" ?ᬾ) + ("E" ?ᬿ) + ("`e" ?ᬏ) + ("`E" ?ᬐ) + ("r" ?ᬭ) + ("R" ?ᬃ) + ("`r" ?ᬺ) + ("`R" ?ᬋ) + ("t" ?ᬢ) + ("T" ?ᬣ) + ("`t" ?᭜) + ("`T" ?᭝) + ("y" ?ᬬ) + ("Y" ?ᭂ) + ("`y" ?ᭃ) + ("`Y" ?᭴) + ("u" ?ᬸ) + ("U" ?ᬹ) + ("`u" ?ᬉ) + ("`U" ?ᬊ) + ("i" ?ᬶ) + ("I" ?ᬷ) + ("`i" ?ᬇ) + ("`I" ?ᬈ) + ("o" ?ᭀ) + ("O" ?ᭁ) + ("`o" ?ᬑ) + ("`O" ?ᬒ) + ("p" ?ᬧ) + ("P" ?ᬨ) + ("`p" ?ᭈ) + ("`P" ?᭠) + ("a" ?ᬵ) + ("A" ?ᬆ) + ("`a" ?ᬅ) + ("`A" ?᭵) + ("s" ?ᬲ) + ("S" ?ᬰ) + ("`s" ?᭡) + ("`S" ?᭢) + ("d" ?ᬤ) + ("D" ?ᬥ) + ("`d" ?᭣) + ("`D" ?᭤) + ("f" ?᭄) + ("F" ?ᬻ) + ("`f" ?ᬌ) + ("`F" ?᭶) + ("g" ?ᬕ) + ("G" ?ᬖ) + ("`g" ?᭥) + ("`G" ?᭦) + ("h" ?ᬳ) + ("H" ?ᬄ) + ("`h" ?᭧) + ("`H" ?᭨) + ("j" ?ᬚ) + ("J" ?ᬛ) + ("`j" ?ᭌ) + ("`J" ?᭩) + ("k" ?ᬓ) + ("K" ?ᬔ) + ("`k" ?ᭅ) + ("`K" ?ᭆ) + ("l" ?ᬮ) + ("L" ?ᬼ) + ("`l" ?ᬍ) + ("`L" ?᭪) + ("z" ?ᭊ) + ("Z" ?ᬽ) + ("`z" ?ᬎ) + ("`Z" ?᭷) + ("x" ?ᬱ) + ("X" ?᬴) + ("`x" ?᭸) + ("c" ?ᬘ) + ("C" ?ᬙ) + ("`c" #x200C) ; ZWNJ + ("v" ?ᬯ) + ("V" ?ᭉ) + ("`v" ?᭹) + ("`V" ?᭺) + ("b" ?ᬩ) + ("B" ?ᬪ) + ("`b" ?᭻) + ("n" ?ᬦ) + ("N" ?ᬡ) + ("`n" ?ᬗ) + ("`N" ?ᬜ) + ("m" ?ᬫ) + ("M" ?ᬂ) + ("`m" ?ᬁ) + ("`M" ?ᬀ)) + +(quail-define-package + "javanese" "Javanese" "ꦗ" t "Javanese phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("1" ?꧑) + ("`1" ?1) + ("`!" ?꧁) + ("2" ?꧒) + ("`2" ?2) + ("`@" ?꧂) + ("3" ?꧓) + ("`3" ?3) + ("`#" ?꧃) + ("4" ?꧔) + ("`4" ?4) + ("`$" ?꧄) + ("5" ?꧕) + ("`5" ?5) + ("`%" ?꧅) + ("6" ?꧖) + ("`6" ?6) + ("`^" ?꧆) + ("7" ?꧗) + ("`7" ?7) + ("`&" ?꧇) + ("8" ?꧘) + ("`8" ?8) + ("`*" ?꧈) + ("9" ?꧙) + ("`9" ?9) + ("`(" ?꧉) + ("0" ?꧐) + ("`0" ?0) + ("`)" ?꧞) + ("`\\" ?꧊) + ("`|" ?꧋) + ("`" ?ꦛ) + ("q" ?ꦛ) + ("Q" ?ꦜ) + ("`q" ?꧟) + ("`Q" ?ꧏ) + ("w" ?ꦝ) + ("W" ?ꦞ) + ("`w" ?꧌) + ("`W" ?꧍) + ("e" ?ꦺ) + ("E" ?ꦻ) + ("`e" ?ꦌ) + ("`E" ?ꦍ) + ("r" ?ꦫ) + ("R" ?ꦬ) + ("`r" ?ꦿ) + ("`R" ?ꦂ) + ("t" ?ꦠ) + ("T" ?ꦡ) + ("`t" ?ꦼ) + ("y" ?ꦪ) + ("Y" ?ꦾ) + ("u" ?ꦸ) + ("U" ?ꦹ) + ("`u" ?ꦈ) + ("`U" ?ꦅ) + ("i" ?ꦶ) + ("I" ?ꦷ) + ("`i" ?ꦆ) + ("`I" ?ꦇ) + ("o" ?ꦎ) + ("p" ?ꦥ) + ("P" ?ꦦ) + ("`p" ?ꦉ) + ("a" ?ꦴ) + ("A" ?ꦄ) + ("`a" ?ꦵ) + ("s" ?ꦱ) + ("S" ?ꦯ) + ("d" ?ꦢ) + ("D" ?ꦣ) + ("f" ?꧀) + ("F" ?ꦽ) + ("`f" ?ꦉ) + ("g" ?ꦒ) + ("G" ?ꦓ) + ("h" ?ꦲ) + ("H" ?ꦃ) + ("j" ?ꦗ) + ("J" ?ꦙ) + ("`j" ?ꦘ) + ("k" ?ꦏ) + ("K" ?ꦑ) + ("`k" ?ꦐ) + ("l" ?ꦭ) + ("L" ?ꦊ) + ("`l" ?ꦋ) + ("z" ?ꦚ) + ("Z" ?ꦔ) + ("x" ?ꦰ) + ("X" ?꦳) + ("c" ?ꦕ) + ("C" ?ꦖ) + ("`c" #x200C) ; ZWNJ + ("v" ?ꦮ) + ("V" ?ᭉ) + ("b" ?ꦧ) + ("B" ?ꦨ) + ("n" ?ꦤ) + ("N" ?ꦟ) + ("m" ?ꦩ) + ("M" ?ꦁ) + ("`m" ?ꦀ)) + +(quail-define-package + "sundanese" "Sundanese" "ᮞᮥ" t "Sundanese phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("1" ?᮱) + ("`1" ?1) + ("`!" ?᳀) + ("2" ?᮲) + ("`2" ?2) + ("`@" ?᳁) + ("3" ?᮳) + ("`3" ?3) + ("`#" ?᳂) + ("4" ?᮴) + ("`4" ?4) + ("`$" ?᳃) + ("5" ?᮵) + ("`5" ?5) + ("6" ?᮶) + ("`6" ?6) + ("7" ?᮷) + ("`7" ?7) + ("8" ?᮸) + ("`8" ?8) + ("9" ?᮹) + ("`9" ?9) + ("0" ?᮰) + ("`0" ?0) + ("`" ?ᮒ) + ("q" ?ᮋ) + ("w" ?ᮝ) + ("W" ?ᮭ) + ("e" ?ᮨ) + ("E" ?ᮩ) + ("`e" ?ᮈ) + ("`E" ?ᮉ) + ("r" ?ᮛ) + ("R" ?ᮢ) + ("`r" ?ᮁ) + ("`R" ?ᮻ) + ("t" ?ᮒ) + ("y" ?ᮚ) + ("Y" ?ᮡ) + ("u" ?ᮥ) + ("U" ?ᮅ) + ("i" ?ᮤ) + ("I" ?ᮄ) + ("o" ?ᮧ) + ("O" ?ᮇ) + ("p" ?ᮕ) + ("P" ?ᮖ) + ("a" ?ᮃ) + ("A" ?ᮦ) + ("`a" ?ᮆ) + ("s" ?ᮞ) + ("S" ?ᮯ) + ("d" ?ᮓ) + ("D" ?᳆) + ("f" ?᮪) + ("F" ?᮫) + ("g" ?ᮌ) + ("h" ?ᮠ) + ("H" ?ᮂ) + ("j" ?ᮏ) + ("k" ?ᮊ) + ("K" ?ᮮ) + ("`k" ?ᮾ) + ("`K" ?᳅) + ("l" ?ᮜ) + ("L" ?ᮣ) + ("`l" ?ᮼ) + ("`L" ?᳄) + ("z" ?ᮐ) + ("x" ?ᮟ) + ("c" ?ᮎ) + ("`c" #x200C) ; ZWNJ + ("b" ?ᮘ) + ("B" ?ᮽ) + ("`b" ?ᮺ) + ("`B" ?᳇) + ("n" ?ᮔ) + ("N" ?ᮍ) + ("`n" ?ᮑ) + ("m" ?ᮙ) + ("M" ?ᮀ) + ("`m" ?ᮿ) + ("`M" ?ᮬ)) + +(quail-define-package + "batak" "Batak" "ᯅ" t "Batak phonetic input method, + used by languages such as Karo, Toba, Pakpak, Mandailing + and Simalungun. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("q" ?᯼) + ("Q" ?᯽) + ("w" ?ᯋ) + ("W" ?ᯌ) + ("`w" ?ᯍ) + ("e" ?ᯧ) + ("E" ?ᯨ) + ("`e" ?ᯩ) + ("r" ?ᯒ) + ("R" ?ᯓ) + ("t" ?ᯖ) + ("T" ?ᯗ) + ("y" ?ᯛ) + ("Y" ?ᯜ) + ("u" ?ᯮ) + ("U" ?ᯥ) + ("`u" ?ᯯ) + ("i" ?ᯪ) + ("I" ?ᯫ) + ("`i" ?ᯤ) + ("o" ?ᯬ) + ("O" ?ᯭ) + ("p" ?ᯇ) + ("P" ?ᯈ) + ("a" ?ᯀ) + ("A" ?ᯁ) + ("s" ?ᯘ) + ("S" ?ᯙ) + ("`s" ?ᯚ) + ("d" ?ᯑ) + ("f" ?᯲) + ("F" ?᯳) + ("g" ?ᯎ) + ("G" ?ᯏ) + ("h" ?ᯂ) + ("H" ?ᯃ) + ("`h" ?ᯄ) + ("`H" ?ᯱ) + ("j" ?ᯐ) + ("k" ?᯦) + ("l" ?ᯞ) + ("L" ?ᯟ) + ("z" ?ᯝ) + ("Z" ?ᯰ) + ("x" ?ᯠ) + ("c" ?ᯡ) + ("v" ?᯾) + ("V" ?᯿) + ("b" ?ᯅ) + ("B" ?ᯆ) + ("n" ?ᯉ) + ("N" ?ᯊ) + ("`n" ?ᯢ) + ("m" ?ᯔ) + ("M" ?ᯕ) + ("`m" ?ᯣ)) + +(quail-define-package + "rejang" "Rejang" "ꤽꥍ" nil "Rejang phonetic input method." + nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("q" ?꥟) + ("w" ?ꥀ) + ("e" ?ꥉ) + ("E" ?ꥊ) + ("r" ?ꤽ) + ("R" ?ꥑ) + ("t" ?ꤳ) + ("y" ?ꤿ) + ("u" ?ꥈ) + ("U" ?ꥍ) + ("i" ?ꥇ) + ("o" ?ꥋ) + ("O" ?ꥌ) + ("p" ?ꤶ) + ("a" ?ꥆ) + ("A" ?ꥎ) + ("s" ?ꤼ) + ("d" ?ꤴ) + ("D" ?ꥄ) + ("f" ?꥓) + ("F" ?ꥃ) + ("g" ?ꤱ) + ("h" ?ꥁ) + ("H" ?ꥒ) + ("j" ?ꤺ) + ("k" ?ꤰ) + ("l" ?ꤾ) + ("z" ?ꤲ) + ("Z" ?ꥏ) + ("x" ?ꤻ) + ("X" ?ꥅ) + ("c" ?ꤹ) + ("b" ?ꤷ) + ("n" ?ꤵ) + ("N" ?ꥐ) + ("m" ?ꤸ) + ("M" ?ꥂ)) + +(quail-define-package + "makasar" "Makasar" "𑻪" nil "Makasar phonetic input method." + nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("q" ?𑻷) + ("Q" ?𑻸) + ("e" ?𑻵) + ("r" ?𑻭) + ("t" ?𑻦) + ("y" ?𑻬) + ("u" ?𑻴) + ("i" ?𑻳) + ("o" ?𑻶) + ("p" ?𑻣) + ("a" ?𑻱) + ("s" ?𑻰) + ("d" ?𑻧) + ("g" ?𑻡) + ("j" ?𑻪) + ("k" ?𑻠) + ("l" ?𑻮) + ("z" ?𑻢) + ("Z" ?𑻲) + ("x" ?𑻫) + ("c" ?𑻩) + ("v" ?𑻯) + ("b" ?𑻤) + ("n" ?𑻨) + ("m" ?𑻥)) + +(quail-define-package + "lontara" "Lontara" "ᨒ" nil "Lontara phonetic input method." + nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("q" ?᨞) + ("Q" ?᨟) + ("e" ?ᨙ) + ("E" ?ᨛ) + ("r" ?ᨑ) + ("t" ?ᨈ) + ("y" ?ᨐ) + ("u" ?ᨘ) + ("i" ?ᨗ) + ("o" ?ᨚ) + ("p" ?ᨄ) + ("a" ?ᨕ) + ("s" ?ᨔ) + ("d" ?ᨉ) + ("g" ?ᨁ) + ("h" ?ᨖ) + ("j" ?ᨍ) + ("k" ?ᨀ) + ("l" ?ᨒ) + ("z" ?ᨂ) + ("Z" ?ᨃ) + ("x" ?ᨎ) + ("X" ?ᨏ) + ("c" ?ᨌ) + ("v" ?ᨓ) + ("b" ?ᨅ) + ("n" ?ᨊ) + ("N" ?ᨋ) + ("m" ?ᨆ) + ("M" ?ᨇ)) + +(provide 'indonesian) +;;; indonesian.el ends here diff --git a/lisp/leim/quail/ipa.el b/lisp/leim/quail/ipa.el index 0ef6e383bd1..773dc31f9b7 100644 --- a/lisp/leim/quail/ipa.el +++ b/lisp/leim/quail/ipa.el @@ -269,7 +269,7 @@ QUAIL-KEYMAP is a cons that satisfies `quail-map-p'; TO-PREPEND is a string." (when (consp quail-keymap) (setq quail-keymap (cdr quail-keymap))) (if (or (integerp quail-keymap) - (and (fboundp 'characterp) (characterp quail-keymap))) + (characterp quail-keymap)) (setq quail-keymap (list (string quail-keymap))) (if (stringp quail-keymap) (setq quail-keymap (list quail-keymap)) @@ -278,10 +278,10 @@ string." (list (apply #'vector (mapcar - #'(lambda (entry) - (cl-assert (char-or-string-p entry) t) - (format "%s%s" to-prepend - (if (integerp entry) (string entry) entry))) + (lambda (entry) + (cl-assert (char-or-string-p entry) t) + (format "%s%s" to-prepend + (if (integerp entry) (string entry) entry))) quail-keymap)))) (defun ipa-x-sampa-underscore-implosive (input-string length) diff --git a/lisp/leim/quail/latin-post.el b/lisp/leim/quail/latin-post.el index c18ed862d4e..acb3ef8ede9 100644 --- a/lisp/leim/quail/latin-post.el +++ b/lisp/leim/quail/latin-post.el @@ -215,7 +215,15 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\=' others | / | s/ -> ß Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\=' -" nil t nil nil nil nil nil nil nil nil t) +" + '(("\C-?" . quail-delete-last-char) + (">" . quail-next-translation) + ("\C-f" . quail-next-translation) + ([right] . quail-next-translation) + ("<" . quail-prev-translation) + ("\C-b" . quail-prev-translation) + ([left] . quail-prev-translation)) + t nil nil nil nil nil nil nil nil t) (quail-define-rules ("A'" ?Á) @@ -246,9 +254,9 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\=' ("R'" ?Ŕ) ("R~" ?Ř) ("S'" ?Ś) - ("S," ?Ş) + ("S," "ŞȘ") ; the second variant is for Romanian ("S~" ?Š) - ("T," ?Ţ) + ("T," "ŢȚ") ; the second variant is for Romanian ("T~" ?Ť) ("U'" ?Ú) ("U:" ?Ű) @@ -286,10 +294,10 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\=' ("r'" ?ŕ) ("r~" ?ř) ("s'" ?ś) - ("s," ?ş) + ("s," "şș") ; the second variant is for Romanian ("s/" ?ß) ("s~" ?š) - ("t," ?ţ) + ("t," "ţț") ; the second variant is for Romanian ("t~" ?ť) ("u'" ?ú) ("u:" ?ű) diff --git a/lisp/leim/quail/latin-pre.el b/lisp/leim/quail/latin-pre.el index f6c63cb0552..b6a26e0b2c5 100644 --- a/lisp/leim/quail/latin-pre.el +++ b/lisp/leim/quail/latin-pre.el @@ -497,7 +497,15 @@ Key translation rules are: cedilla | \\=` | \\=`c -> ç \\=`e -> ?ę misc | \\=' \\=` ~ | \\='d -> đ \\=`l -> ł \\=`z -> ż ~o -> ő ~u -> ű symbol | ~ | \\=`. -> ˙ ~~ -> ˘ ~. -> ?¸ -" nil t nil nil nil nil nil nil nil nil t) +" + '(("\C-?" . quail-delete-last-char) + (">" . quail-next-translation) + ("\C-f" . quail-next-translation) + ([right] . quail-next-translation) + ("<" . quail-prev-translation) + ("\C-b" . quail-prev-translation) + ([left] . quail-prev-translation)) + t nil nil nil nil nil nil nil nil t) (quail-define-rules ("'A" ?Á) @@ -532,15 +540,15 @@ Key translation rules are: ("`C" ?Ç) ("`E" ?Ę) ("`L" ?Ł) - ("`S" ?Ş) - ("`T" ?Ţ) + ("`S" "ŞȘ") + ("`T" "ŢȚ") ; the second variant is for Romanian ("`Z" ?Ż) ("`a" ?ą) ("`l" ?ł) ("`c" ?ç) ("`e" ?ę) - ("`s" ?ş) - ("`t" ?ţ) + ("`s" "şș") + ("`t" "ţț") ; the second variant is for Romanian ("`z" ?ż) ("``" ?Ş) ("`." ?˙) diff --git a/lisp/leim/quail/misc-lang.el b/lisp/leim/quail/misc-lang.el new file mode 100644 index 00000000000..bdb86ab5281 --- /dev/null +++ b/lisp/leim/quail/misc-lang.el @@ -0,0 +1,101 @@ +;;; misc-lang.el --- Quail package for inputting Miscellaneous characters -*- lexical-binding: t; -*- + +;; Copyright (C) 2022 Free Software Foundation, Inc. + +;; Author: समीर सिंह Sameer Singh <lumarzeli30@gmail.com> +;; Keywords: multilingual, input method, i18n, Miscellaneous + +;; This file is part of GNU Emacs. + +;; GNU Emacs 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. + +;; GNU Emacs 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 GNU Emacs. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; Input methods for Miscellaneous languages. + +;;; Code: + +(require 'quail) + +(quail-define-package + "hanifi-rohingya" "Hanifi Rohingya" "𐴌𐴟" t "Hanifi Rohingya phonetic input method. + + `\\=`' is used to switch levels instead of Alt-Gr. +" nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("1" ?𐴱) + ("`1" ?1) + ("2" ?𐴲) + ("`2" ?2) + ("3" ?𐴳) + ("`3" ?3) + ("4" ?𐴴) + ("`4" ?4) + ("5" ?𐴵) + ("`5" ?5) + ("6" ?𐴶) + ("`6" ?6) + ("7" ?𐴷) + ("`7" ?7) + ("8" ?𐴸) + ("`8" ?8) + ("9" ?𐴹) + ("`9" ?9) + ("0" ?𐴰) + ("`0" ?0) + ("q" ?𐴄) + ("w" ?𐴋) + ("W" ?𐴍) + ("e" ?𐴠) + ("E" ?𐴤) + ("r" ?𐴌) + ("R" ?𐴥) + ("t" ?𐴃) + ("T" ?𐴦) + ("y" ?𐴘) + ("Y" ?𐴙) + ("u" ?𐴟) + ("U" ?𐴧) + ("i" ?𐴞) + ("o" ?𐴡) + ("p" ?𐴂) + ("a" ?𐴀) + ("A" ?𐴝) + ("s" ?𐴏) + ("S" ?𐴐) + ("d" ?𐴊) + ("f" ?𐴉) + ("F" ?𐴢) + ("g" ?𐴒) + ("h" ?𐴇) + ("j" ?𐴅) + ("k" ?𐴑) + ("K" ?𐴈) + ("l" ?𐴓) + ("z" ?𐴎) + ("c" ?𐴆) + ("C" #x200C) ; ZWNJ + ("v" ?𐴖) + ("V" ?𐴗) + ("`v" ?𐴜) + ("b" ?𐴁) + ("n" ?𐴕) + ("N" ?𐴚) + ("`n" ?𐴛) + ("`N" ?𐴣) + ("m" ?𐴔)) + +(provide 'misc-lang) +;;; misc-lang.el ends here diff --git a/lisp/leim/quail/philippine.el b/lisp/leim/quail/philippine.el new file mode 100644 index 00000000000..9afbdc354e3 --- /dev/null +++ b/lisp/leim/quail/philippine.el @@ -0,0 +1,152 @@ +;;; philippine.el --- Quail package for inputting Philippine characters -*- lexical-binding: t; -*- + +;; Copyright (C) 2022 Free Software Foundation, Inc. + +;; Author: समीर सिंह Sameer Singh <lumarzeli30@gmail.com> +;; Keywords: multilingual, input method, i18n, Philippines + +;; This file is part of GNU Emacs. + +;; GNU Emacs 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. + +;; GNU Emacs 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 GNU Emacs. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; Input methods for Philippine languages. + +;;; Code: + +(require 'quail) + +;; This input method supports languages like Tagalog, Hanunoo, Buhid and +;; Tagbanwa, using the Baybayin script. +(quail-define-package + "tagalog" "Tagalog" "ᜊ" nil "Tagalog phonetic input method." + nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("q" ?₱) + ("w" ?ᜏ) + ("r" ?ᜍ) + ("R" ?ᜟ) + ("t" ?ᜆ) + ("y" ?ᜌ) + ("u" ?ᜓ) + ("U" ?ᜂ) + ("i" ?ᜒ) + ("I" ?ᜁ) + ("p" ?ᜉ) + ("a" ?ᜀ) + ("s" ?ᜐ) + ("d" ?ᜇ) + ("f" ?᜔) + ("g" ?ᜄ) + ("h" ?ᜑ) + ("j" ?᜵) + ("J" ?᜶) + ("k" ?ᜃ) + ("l" ?ᜎ) + ("v" ?᜕) + ("b" ?ᜊ) + ("n" ?ᜈ) + ("N" ?ᜅ) + ("m" ?ᜋ)) + +(quail-define-package + "hanunoo" "Hanunoo" "ᜱ" nil "Hanunoo phonetic input method." + nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("q" ?₱) + ("w" ?ᜯ) + ("r" ?ᜭ) + ("t" ?ᜦ) + ("y" ?ᜬ) + ("u" ?ᜳ) + ("U" ?ᜢ) + ("i" ?ᜲ) + ("I" ?ᜡ) + ("p" ?ᜩ) + ("a" ?ᜠ) + ("s" ?ᜰ) + ("d" ?ᜧ) + ("f" ?᜴) + ("g" ?ᜤ) + ("h" ?ᜱ) + ("j" ?᜵) + ("J" ?᜶) + ("k" ?ᜣ) + ("l" ?ᜮ) + ("b" ?ᜪ) + ("n" ?ᜨ) + ("N" ?ᜥ) + ("m" ?ᜫ)) + +(quail-define-package + "buhid" "Buhid" "ᝊᝓ" nil "Buhid phonetic input method." + nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("q" ?₱) + ("w" ?ᝏ) + ("r" ?ᝍ) + ("t" ?ᝆ) + ("y" ?ᝌ) + ("u" ?ᝓ) + ("U" ?ᝂ) + ("i" ?ᝒ) + ("I" ?ᝁ) + ("p" ?ᝉ) + ("a" ?ᝀ) + ("s" ?ᝐ) + ("d" ?ᝇ) + ("g" ?ᝄ) + ("h" ?ᝑ) + ("j" ?᜵) + ("J" ?᜶) + ("k" ?ᝃ) + ("l" ?ᝎ) + ("b" ?ᝊ) + ("n" ?ᝈ) + ("N" ?ᝅ) + ("m" ?ᝋ)) + +(quail-define-package + "tagbanwa" "Tagbanwa" "ᝦ" nil "Tagbanwa phonetic input method." + nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("q" ?₱) + ("w" ?ᝯ) + ("t" ?ᝦ) + ("y" ?ᝬ) + ("u" ?ᝳ) + ("U" ?ᝢ) + ("i" ?ᝲ) + ("I" ?ᝡ) + ("p" ?ᝩ) + ("a" ?ᝠ) + ("s" ?ᝰ) + ("d" ?ᝧ) + ("g" ?ᝤ) + ("j" ?᜵) + ("J" ?᜶) + ("k" ?ᝣ) + ("l" ?ᝮ) + ("b" ?ᝪ) + ("n" ?ᝨ) + ("N" ?ᝥ) + ("m" ?ᝫ)) + +(provide 'philippine) +;;; philippine.el ends here diff --git a/lisp/leim/quail/symbol-ksc.el b/lisp/leim/quail/symbol-ksc.el index 042465697a1..d440058902a 100644 --- a/lisp/leim/quail/symbol-ksc.el +++ b/lisp/leim/quail/symbol-ksc.el @@ -39,7 +39,7 @@ "한글심벌입력표: 【(】괄호열기【arrow】화살【sex】♂♀【index】첨자 【accent】악센트 【)】괄호닫기【music】음악【dot】점 【quote】따옴표【xtext】§※¶¡¿ - 【Unit】℃Å¢℉【math】수학기호【pic】상형문자【line】선문자 + 【Unit】℃Å¢℉【math】수학기호【pic】상형문자【line】선문자 【unit】단위 【frac】분수 【textline】―∥\∼ 【wn】㈜【ks】㉿【No】№【㏇】㏇ 【dag】† 【ddag】‡【percent】‰ 【am】㏂【pm】㏘【™】™【Tel】℡【won】₩ 【yen】¥ 【pound】£ @@ -65,7 +65,7 @@ ("dot" "·‥…¨ː") ("quote" "、。〃‘’“”°′″´˝") ("textline" "―∥\∼") - ("Unit" "℃Å¢℉") + ("Unit" "℃Å¢℉") ("sex" "♂♀") ("accent" "~ˇ˘˚˙¸˛") ("percent" "‰") |