summaryrefslogtreecommitdiff
path: root/lisp/leim
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/leim')
-rw-r--r--lisp/leim/quail/compose.el6
-rw-r--r--lisp/leim/quail/emoji.el2003
-rw-r--r--lisp/leim/quail/hangul.el4
-rw-r--r--lisp/leim/quail/indian.el1639
-rw-r--r--lisp/leim/quail/indonesian.el557
-rw-r--r--lisp/leim/quail/ipa.el10
-rw-r--r--lisp/leim/quail/latin-post.el93
-rw-r--r--lisp/leim/quail/latin-pre.el60
-rw-r--r--lisp/leim/quail/misc-lang.el1184
-rw-r--r--lisp/leim/quail/philippine.el152
-rw-r--r--lisp/leim/quail/symbol-ksc.el4
11 files changed, 5611 insertions, 101 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..e652f108dde 100644
--- a/lisp/leim/quail/indian.el
+++ b/lisp/leim/quail/indian.el
@@ -127,51 +127,38 @@
indian-mlm-itrans-v5-hash "malayalam-itrans" "Malayalam" "MlmIT"
"Malayalam transliteration by ITRANS method.")
-(defvar quail-tamil-itrans-syllable-table
- (let ((vowels
- '(("அ" nil "a")
- ("ஆ" "ா" "A")
- ("இ" "ி" "i")
- ("ஈ" "ீ" "I")
- ("உ" "ு" "u")
- ("ஊ" "ூ" "U")
- ("எ" "ெ" "e")
- ("ஏ" "ே" "E")
- ("ஐ" "ை" "ai")
- ("ஒ" "ொ" "o")
- ("ஓ" "ோ" "O")
- ("ஔ" "ௌ" "au")))
- (consonants
- '(("க" "k") ; U+0B95
- ("ங" "N^") ; U+0B99
- ("ச" "ch") ; U+0B9A
- ("ஞ" "JN") ; U+0B9E
- ("ட" "T") ; U+0B9F
- ("ண" "N") ; U+0BA3
- ("த" "t") ; U+0BA4
- ("ந" "n") ; U+0BA8
- ("ப" "p") ; U+0BAA
- ("ம" "m") ; U+0BAE
- ("ய" "y") ; U+0BAF
- ("ர" "r") ; U+0BB0
- ("ல" "l") ; U+0BB2
- ("வ" "v") ; U+0BB5
- ("ழ" "z") ; U+0BB4
- ("ள" "L") ; U+0BB3
- ("ற" "rh") ; U+0BB1
- ("ன" "nh") ; U+0BA9
- ("ஜ" "j") ; U+0B9C
- ("ஶ" nil) ; U+0BB6
- ("ஷ" "Sh") ; U+0BB7
- ("ஸ" "s") ; U+0BB8
- ("ஹ" "h") ; U+0BB9
- ("க்ஷ" "x" ) ; U+0B95
- ))
- (virama #x0BCD)
+;; This is needed since the Unicode codepoint order does not reflect
+;; the actual order in the Tamil language.
+(defvar quail-tamil-itrans--consonant-order
+ '("க" "ங" "ச" "ஞ" "ட" "ண"
+ "த" "ந" "ப" "ம" "ய" "ர"
+ "ல" "வ" "ழ" "ள" "ற" "ன"
+ "ஜ" "ஸ" "ஷ" "ஹ" "க்ஷ"
+ "க்‌ஷ" "ஶ"))
+
+(defun quail-tamil-itrans-compute-syllable-table (vowels consonants)
+ "Return the syllable table for the input method as a string.
+VOWELS is a list of (VOWEL SIGN INPUT-SEQ) where VOWEL is the
+Tamil vowel character, SIGN is the vowel sign corresponding to
+that vowel character or nil for none, and INPUT-SEQ is the input
+sequence to insert VOWEL.
+
+CONSONANTS is a list of (CONSONANT INPUT-SEQ...) where CONSONANT
+is the Tamil consonant character, and INPUT-SEQ is one or more
+strings that describe how to insert CONSONANT."
+ (setq vowels (sort vowels
+ (lambda (x y)
+ (string-lessp (car x) (car y)))))
+ (setq consonants
+ (sort consonants
+ (lambda (x y)
+ (or (seq-position (car x) quail-tamil-itrans--consonant-order) 1000)
+ (or (seq-position (car y) quail-tamil-itrans--consonant-order) 1000))))
+ (let ((virama #x0BCD)
clm)
(with-temp-buffer
(insert "\n")
- (insert " +")
+ (insert "----+")
(insert-char ?- 74)
(insert "\n |")
(setq clm 6)
@@ -197,21 +184,45 @@
(insert (propertize "\t" 'display (list 'space :align-to clm))
(car c) (or (nth 1 v) ""))
(setq clm (+ clm 6)))
- (insert "\n" (or (nth 1 c) "")
- (propertize "\t" 'display '(space :align-to 4))
- "|")
- (setq clm 6)
-
- (dolist (v vowels)
- (apply #'insert (propertize "\t" 'display (list 'space :align-to clm))
- (if (nth 1 c) (list (nth 1 c) (nth 2 v)) (list "")))
- (setq clm (+ clm 6))))
+ (dolist (ct (cdr c))
+ (insert "\n" (or ct "")
+ (propertize "\t" 'display '(space :align-to 4))
+ "|")
+ (setq clm 6)
+ (dolist (v vowels)
+ (apply #'insert (propertize "\t" 'display (list 'space :align-to clm))
+ (if ct (list ct (nth 2 v)) (list "")))
+ (setq clm (+ clm 6)))))
(insert "\n")
(insert "----+")
(insert-char ?- 74)
(insert "\n")
(buffer-string))))
+(defvar quail-tamil-itrans-syllable-table
+ (quail-tamil-itrans-compute-syllable-table
+ (let ((vowels (car indian-tml-base-table))
+ trans v ret)
+ (dotimes (i (length vowels))
+ (when (setq v (nth i vowels))
+ (when (characterp (car v))
+ (setcar v (string (car v))))
+ (setq trans (nth i (car indian-itrans-v5-table-for-tamil)))
+ (push (append v (list (if (listp trans) (car trans) trans)))
+ ret)))
+ ret)
+ (let ((consonants (cadr indian-tml-base-table))
+ trans c ret)
+ (dotimes (i (length consonants))
+ (when (setq c (nth i consonants))
+ (when (characterp c)
+ (setq c (string c)))
+ (setq trans (nth i (cadr indian-itrans-v5-table-for-tamil)))
+ (push (cons c (if (listp trans) trans (list trans)))
+ ret)))
+ (setq ret (nreverse ret))
+ ret)))
+
(defvar quail-tamil-itrans-numerics-and-symbols-table
(let ((numerics '((?௰ "பத்து") (?௱ "நூறு") (?௲ "ஆயிரம்")))
(symbols '((?௳ "நாள்") (?௴ "மாதம்") (?௵ "வருடம்")
@@ -244,45 +255,70 @@
(insert "\n")
(buffer-string))))
-(defvar quail-tamil-itrans-various-signs-and-digits-table
- (let ((various '((?ஃ . "H") ("ஸ்ரீ" . "srii") (?ௐ)))
- (digits "௦௧௨௩௪௫௬௭௮௯")
+(defun quail-tamil-itrans-compute-signs-table (digitp various)
+ "Compute the signs table for the tamil-itrans input method.
+If DIGITP is non-nil, include the digits translation as well.
+If VARIOUS is non-nil, then it should a list of (CHAR TRANS)
+where CHAR is the character/string to translate and TRANS is
+CHAR's translation."
+ (let ((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))
(car (nth i various)))
(setq clm (+ clm width)))
- (insert (propertize "\t" 'display '(space :align-to 18)) "|")
+ (when digitp
+ (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))
(insert (propertize "\t" 'display (list 'space :align-to clm))
- (or (cdr (nth i various)) ""))
+ (or (cadr (nth i various)) ""))
(setq clm (+ clm width)))
- (insert (propertize "\t" 'display '(space :align-to 18)) "|")
+ (when digitp
+ (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 '((?ஃ "H") ("ஸ்ரீ" "srii") (?ௐ "OM"))))
+
+(defvar quail-tamil-itrans-various-signs-table
+ (quail-tamil-itrans-compute-signs-table
+ nil '((?ஃ "H") ("ஸ்ரீ" "srii") (?ௐ "OM"))))
+
(if nil
(quail-define-package "tamil-itrans" "Tamil" "TmlIT" t "Tamil ITRANS"))
(quail-define-indian-trans-package
@@ -293,20 +329,197 @@ 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:")
;;;
+;;; Tamil phonetic input method
+;;;
+
+;; Define the input method straightaway.
+(quail-define-package "tamil-phonetic" "Tamil" "ழ" t
+ "Customisable Tamil phonetic input method.
+To change the translation rules of the input method, customize
+`tamil-translation-rules'.
+
+To use native Tamil digits, customize `tamil-translation-rules'
+accordingly.
+
+To end the current translation process, say \\<quail-translation-keymap>\\[quail-select-current] (defined in
+`quail-translation-keymap'). This is useful when there's a
+conflict between two possible translation.
+
+The current input scheme is:
+
+### Basic syllables (உயிர்மெய் எழுத்துக்கள்) ###
+\\=\\<tamil--syllable-table>
+
+### Miscellaneous ####
+\\=\\<tamil--signs-table>
+
+The following characters have NO input sequence associated with
+them by default. Their descriptions are included for easy
+reference.
+\\=\\<quail-tamil-itrans-numerics-and-symbols-table>
+
+Full key sequences are listed below:"
+ nil nil nil nil nil nil t)
+
+(defvar tamil--syllable-table nil)
+(defvar tamil--signs-table nil)
+(defvar tamil--hashtables
+ (cons (make-hash-table :test #'equal)
+ (make-hash-table :test #'equal)))
+(defvar tamil--vowel-signs
+ '(("அ" . t) ("ஆ" . ?ா) ("இ" . ?ி) ("ஈ" . ?ீ)
+ ("உ" . ?ு) ("ஊ" . ?ூ) ("எ" . ?ெ) ("ஏ" . ?ே)
+ ("ஐ" . ?ை) ("ஒ" . ?ொ) ("ஓ" . ?ோ) ("ஔ" . ?ௌ)))
+
+(defun tamil--setter (sym val)
+ (set-default sym val)
+ (tamil--update-quail-rules val))
+
+(defun tamil--make-tables (rules)
+ (let (v v-table v-trans
+ c-table c-trans
+ m-table m-trans)
+ (dolist (ch rules)
+ (cond
+ ;; Vowel.
+ ((setq v (assoc-default (car ch) tamil--vowel-signs))
+ (push (list (car ch) (and (characterp v) v)) v-table)
+ (push (cdr ch) v-trans))
+ ;; Consonant. It needs to end with pulli.
+ ((string-suffix-p "்" (car ch))
+ ;; Strip the pulli now.
+ (push (substring (car ch) 0 -1) c-table)
+ (push (cdr ch) c-trans))
+ ;; If nothing else, then consider it a misc character.
+ (t (push (car ch) m-table)
+ (push (cdr ch) m-trans))))
+ (list v-table v-trans c-table c-trans m-table m-trans)))
+
+(defun tamil--update-quail-rules (rules &optional name)
+ ;; This function does pretty much what `indian-make-hash' does
+ ;; except that we don't try to copy the structure of
+ ;; `indian-tml-base-table' which leads to less code hassle.
+ (let* ((quail-current-package (assoc (or name "tamil-phonetic") quail-package-alist))
+ (tables (tamil--make-tables rules))
+ (v (nth 0 tables))
+ (v-trans (nth 1 tables))
+ (c (nth 2 tables))
+ (c-trans (nth 3 tables))
+ (m (nth 4 tables))
+ (m-trans (nth 5 tables))
+ (pulli (string #x0BCD)))
+ (clrhash (car tamil--hashtables))
+ (clrhash (cdr tamil--hashtables))
+ (indian--puthash-v v v-trans tamil--hashtables)
+ (indian--puthash-c c c-trans pulli tamil--hashtables)
+ (indian--puthash-cv c c-trans v v-trans tamil--hashtables)
+ (indian--puthash-m m m-trans tamil--hashtables)
+ ;; Now override the current translation rules.
+ ;; Empty quail map is '(list nil)'.
+ (setf (nth 2 quail-current-package) '(nil))
+ (maphash (lambda (k v)
+ (quail-defrule k (if (length= v 1)
+ (string-to-char v)
+ (vector v))))
+ (cdr tamil--hashtables))
+ (setq tamil--syllable-table
+ (quail-tamil-itrans-compute-syllable-table
+ (mapcar (lambda (ch) (append ch (pop v-trans))) v)
+ (mapcar (lambda (ch) (cons ch (pop c-trans))) c))
+ tamil--signs-table
+ (quail-tamil-itrans-compute-signs-table
+ nil
+ (append (mapcar (lambda (ch) (cons ch (pop m-trans))) m)
+ (and (gethash "ஸ்" (car tamil--hashtables))
+ `(("ஸ்ரீ" ,(concat (gethash "ஸ்" (car tamil--hashtables))
+ (gethash "ரீ" (car tamil--hashtables)))))))))))
+
+(defgroup tamil-input nil
+ "Translation rules for the Tamil input method."
+ :prefix "tamil-"
+ :group 'leim)
+
+(defcustom tamil-translation-rules
+ ;; Vowels.
+ '(("அ" "a") ("ஆ" "aa") ("இ" "i") ("ஈ" "ii")
+ ("உ" "u") ("ஊ" "uu") ("எ" "e") ("ஏ" "ee")
+ ("ஐ" "ai") ("ஒ" "o") ("ஓ" "oo") ("ஔ" "au" "ow")
+
+ ;; Consonants.
+ ("க்" "k" "g") ("ங்" "ng") ("ச்" "ch" "s") ("ஞ்" "nj") ("ட்" "t" "d")
+ ("ண்" "N") ("த்" "th" "dh") ("ந்" "nh") ("ப்" "p" "b") ("ம்" "m")
+ ("ய்" "y") ("ர்" "r") ("ல்" "l") ("வ்" "v") ("ழ்" "z" "zh")
+ ("ள்" "L") ("ற்" "rh") ("ன்" "n")
+ ;; Sanskrit.
+ ("ஜ்" "j") ("ஸ்" "S") ("ஷ்" "sh") ("ஹ்" "h")
+ ("க்‌ஷ்" "ksh") ("க்ஷ்" "ksH") ("ஶ்" "Z")
+
+ ;; Misc. ஃ is neither a consonant nor a vowel.
+ ("ஃ" "F" "q")
+ ("ௐ" "OM"))
+ "List of input sequences to translate to Tamil characters.
+Each element should be (CHARACTER INPUT-SEQUENCES...) where
+CHARACTER is the Tamil character, and INPUT-SEQUENCES are one
+or more input sequences which produce that character.
+
+CHARACTER is considered as a consonant (மெய் எழுத்து) if it ends
+with a pulli (virama).
+
+CHARACTER that is neither a vowel nor a consonant is inserted as
+is."
+ :group 'tamil-input
+ :type '(alist :key-type string :value-type (repeat string))
+ :set #'tamil--setter
+ :version "29.1"
+ :options
+ (delq nil
+ (append (mapcar #'car tamil--vowel-signs)
+ (mapcar (lambda (x) (if (characterp x)
+ (string x #x0BCD)
+ (and x (concat x "்"))))
+ (nth 1 indian-tml-base-table))
+ '("ஃ" "ௐ")
+ ;; Digits.
+ (mapcar #'string (nth 3 indian-tml-base-digits-table)))))
+
+;;;
;;; Input by Inscript
;;;
@@ -479,6 +692,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
@@ -633,7 +853,7 @@ Full key sequences are listed below:")
(quail-define-package "malayalam-mozhi" "Malayalam" "MlmMI" t
"Malayalam transliteration by Mozhi method."
nil nil t nil nil nil t nil
- #'indian-mlm-mozhi-update-translation)
+ #'indian-mlm-mozhi-update-translation nil t)
(maphash
(lambda (key val)
@@ -648,4 +868,1271 @@ 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" ?𑌀))
+
+(quail-define-package
+ "lepcha" "Lepcha" "ᰛᰩᰵ" t "Lepcha 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" ?᰿)
+ ("e" ?ᰬ)
+ ("r" ?ᰛ)
+ ("R" ?ᰥ)
+ ("`r" ?ᰲ)
+ ("t" ?ᰊ)
+ ("T" ?ᰋ)
+ ("`t" ?ᰳ)
+ ("y" ?ᰚ)
+ ("Y" ?ᰤ)
+ ("u" ?ᰪ)
+ ("U" ?ᰫ)
+ ("i" ?ᰧ)
+ ("o" ?ᰨ)
+ ("O" ?ᰩ)
+ ("p" ?ᰎ)
+ ("P" ?ᰏ)
+ ("`p" ?ᰐ)
+ ("`P" ?ᰱ)
+ ("a" ?ᰦ)
+ ("A" ?ᰣ)
+ ("s" ?ᰠ)
+ ("S" ?ᰡ)
+ ("d" ?ᰌ)
+ ("f" ?ᰑ)
+ ("F" ?ᰒ)
+ ("g" ?ᰃ)
+ ("G" ?ᰄ)
+ ("h" ?ᰝ)
+ ("H" ?ᰞ)
+ ("j" ?ᰈ)
+ ("k" ?ᰀ)
+ ("K" ?ᰁ)
+ ("`k" ?ᰂ)
+ ("`K" ?ᰭ)
+ ("l" ?ᰜ)
+ ("L" ?ᰯ)
+ ("z" ?ᰉ)
+ ("Z" ?ᰅ)
+ ("`z" ?ᰴ)
+ ("`Z" ?ᰵ)
+ ("x" ?ᰶ)
+ ("X" ?᰷)
+ ("c" ?ᰆ)
+ ("C" ?ᰇ)
+ ("`c" #x200C) ; ZWNJ
+ ("v" ?ᰟ)
+ ("b" ?ᰓ)
+ ("B" ?ᰔ)
+ ("n" ?ᰍ)
+ ("N" ?ᰰ)
+ ("m" ?ᰕ)
+ ("M" ?ᰖ)
+ ("`m" ?ᰮ))
+
+(quail-define-package
+ "meetei-mayek" "Meetei Mayek" "ꯃꯤ" t "Meetei Mayek 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" ?ꫧ)
+ ("e" ?ꯦ)
+ ("E" ?ꯩ)
+ ("`e" ?ꫠ)
+ ("r" ?ꯔ)
+ ("t" ?ꯇ)
+ ("T" ?ꯊ)
+ ("`t" ?ꯠ)
+ ("y" ?ꯌ)
+ ("u" ?ꯨ)
+ ("U" ?ꯎ)
+ ("`u" ?ꫬ)
+ ("i" ?ꯤ)
+ ("I" ?ꯏ)
+ ("`i" ?ꯢ)
+ ("`I" ?ꫫ)
+ ("o" ?ꯣ)
+ ("O" ?ꯧ)
+ ("`o" ?ꫡ)
+ ("`O" ?ꫮ)
+ ("p" ?ꯄ)
+ ("P" ?ꯐ)
+ ("`p" ?ꯞ)
+ ("a" ?ꯥ)
+ ("A" ?ꯑ)
+ ("`a" ?ꫭ)
+ ("`A" ?ꫯ)
+ ("s" ?ꯁ)
+ ("S" ?ꫩ)
+ ("`s" ?ꫪ)
+ ("d" ?ꯗ)
+ ("D" ?ꯙ)
+ ("f" ?꯭)
+ ("F" ?꫶)
+ ("g" ?ꯒ)
+ ("G" ?ꯘ)
+ ("h" ?ꯍ)
+ ("H" ?ꫵ)
+ ("j" ?ꯖ)
+ ("J" ?ꯓ)
+ ("k" ?ꯀ)
+ ("K" ?ꯈ)
+ ("`k" ?ꯛ)
+ ("l" ?ꯂ)
+ ("L" ?ꯜ)
+ ("z" ?ꯉ)
+ ("Z" ?ꯡ)
+ ("`z" ?ꫣ)
+ ("x" ?ꯪ)
+ ("c" ?ꯆ)
+ ("C" ?ꫢ)
+ ("v" ?꯬)
+ ("V" ?ꫳ)
+ ("`v" ?ꫴ)
+ ("b" ?ꯕ)
+ ("B" ?ꯚ)
+ ("n" ?ꯅ)
+ ("N" ?ꯟ)
+ ("`n" ?ꫨ)
+ ("m" ?ꯃ)
+ ("M" ?ꯝ)
+ ("`m" ?ꫲ)
+ ("`?" ?꫱))
+
+(provide 'indian)
;;; 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..76ddf3c2746 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:" ?ű)
@@ -2231,6 +2239,7 @@ of characters from a single Latin-N charset.
tilde | ~ | a~ -> ã
cedilla | , | c, -> ç
ogonek | , | a, -> ą
+ macron | - | a- -> ā g- -> ḡ e/- -> ǣ -- -> ¯
breve | ~ | a~ -> ă
caron | ~ | c~ -> č
dbl. acute | : | o: -> ő
@@ -2238,14 +2247,45 @@ of characters from a single Latin-N charset.
dot | . | z. -> ż
stroke | / | d/ -> đ
nordic | / | d/ -> ð t/ -> þ a/ -> å e/ -> æ o/ -> ø
+ symbols | ^ | r^ -> ® t^ -> ™
+ super | ^ | 0^ -> ⁰ 1^ -> ¹ +^ -> ⁺ -^ -> ⁻
+ subscript | _ | 0_ -> ₀ 1_ -> ₁ +_ -> ₊ -_ -> ₋
others | / | s/ -> ß ?/ -> ¿ !/ -> ¡ // -> ° o/ -> œ
+ | / | 2/ -> ½ 3/ -> ¾ 4/ -> ?¼
| various | << -> « >> -> » o_ -> º a_ -> ª
Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
" nil t nil nil nil nil nil nil nil nil t)
-;; Fixme: ¦ § ¨ © ¬ ­ ® ¯ ± ² ³ ´ µ ¶ · ¸ ¹ ¼ ½ ¾ × ÷
+;; Fixme: ¦ § ¨ © ¬ ± ´ µ ¶ · ¸ × ÷
(quail-define-rules
+ ("2/" ?½)
+ ("3/" ?¾)
+ ("4/" ?¼)
+ ("0^" ?⁰)
+ ("1^" ?¹)
+ ("2^" ?²)
+ ("3^" ?³)
+ ("4^" ?⁴)
+ ("5^" ?⁵)
+ ("6^" ?⁶)
+ ("7^" ?⁷)
+ ("8^" ?⁸)
+ ("9^" ?⁹)
+ ("+^" ?⁺)
+ ("-^" ?⁻)
+ ("0_" ?₀)
+ ("1_" ?₁)
+ ("2_" ?₂)
+ ("3_" ?₃)
+ ("4_" ?₄)
+ ("5_" ?₅)
+ ("6_" ?₆)
+ ("7_" ?₇)
+ ("8_" ?₈)
+ ("9_" ?₉)
+ ("+_" ?₊)
+ ("-_" ?₋)
(" _" ? )
("!/" ?¡)
("//" ?°)
@@ -2276,11 +2316,13 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
("E-" ?Ē)
("E." ?Ė)
("E/" ?Æ)
+ ("E/-" ?Ǣ)
("E\"" ?Ë)
("E^" ?Ê)
("E`" ?È)
("E~" ?Ě)
("G," ?Ģ)
+ ("G-" ?Ḡ)
("G." ?Ġ)
("G^" ?Ĝ)
("G~" ?Ğ)
@@ -2366,12 +2408,14 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
("e-" ?ē)
("e." ?ė)
("e/" ?æ)
+ ("e/-" ?ǣ)
("e\"" ?ë)
("e^" ?ê)
("e`" ?è)
("e~" ?ě)
("e=" ?€)
("g," ?ģ)
+ ("g-" ?ḡ)
("g." ?ġ)
("g^" ?ĝ)
("g~" ?ğ)
@@ -2409,6 +2453,7 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
("o~" ?õ)
("r'" ?ŕ)
("r," ?ŗ)
+ ("r^" ?®)
("r~" ?ř)
("s'" ?ś)
("s," ?ş)
@@ -2418,6 +2463,7 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
("t," ?ţ)
("t/" ?þ)
("t/" ?ŧ)
+ ("t^" ?™)
("t~" ?ť)
("u'" ?ú)
("u," ?ų)
@@ -2434,7 +2480,35 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
("z'" ?ź)
("z." ?ż)
("z~" ?ž)
-
+ ("--" ?¯)
+
+ ("2//" ["2/"])
+ ("3//" ["3/"])
+ ("4//" ["4/"])
+ ("0^^" ["0^"])
+ ("1^^" ["1^"])
+ ("2^^" ["2^"])
+ ("3^^" ["3^"])
+ ("4^^" ["4^"])
+ ("5^^" ["5^"])
+ ("6^^" ["6^"])
+ ("7^^" ["7^"])
+ ("8^^" ["8^"])
+ ("9^^" ["9^"])
+ ("+^^" ["+^"])
+ ("-^^" ["-^"])
+ ("0__" ["0_"])
+ ("1__" ["1_"])
+ ("2__" ["2_"])
+ ("3__" ["3_"])
+ ("4__" ["4_"])
+ ("5__" ["5_"])
+ ("6__" ["6_"])
+ ("7__" ["7_"])
+ ("8__" ["8_"])
+ ("9__" ["9_"])
+ ("+__" ["+_"])
+ ("-__" ["-_"])
(" __" [" _"])
("!//" ["!/"])
("///" ["//"])
@@ -2462,11 +2536,13 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
("E--" ["E-"])
("E.." ["E."])
("E//" ["E/"])
+ ("E/--" ["E/-"])
("E\"\"" ["E\""])
("E^^" ["E^"])
("E``" ["E`"])
("E~~" ["E~"])
("G,," ["G,"])
+ ("G--" ["G-"])
("G.." ["G."])
("G^^" ["G^"])
("G~~" ["G~"])
@@ -2545,12 +2621,14 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
("e--" ["e-"])
("e.." ["e."])
("e//" ["e/"])
+ ("e/--" ["e/-"])
("e\"\"" ["e\""])
("e^^" ["e^"])
("e``" ["e`"])
("e==" ["e="])
("e~~" ["e~"])
("g,," ["g,"])
+ ("g--" ["g-"])
("g.." ["g."])
("g^^" ["g^"])
("g~~" ["g~"])
@@ -2609,6 +2687,7 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
("z''" ["z'"])
("z.." ["z."])
("z~~" ["z~"])
+ ("---" ["--"])
)
;; Derived from Slovenian.kmap from Yudit
diff --git a/lisp/leim/quail/latin-pre.el b/lisp/leim/quail/latin-pre.el
index f6c63cb0552..48e0ce9efc9 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" ?ż)
("``" ?Ş)
("`." ?˙)
@@ -1096,14 +1104,32 @@ of characters from a single Latin-N charset.
cedilla | , ~ | ,c -> ç ~c -> ç
caron | ~ | ~c -> č ~g -> ğ
breve | ~ | ~a -> ă
+ macron | - | -a -> ā -/e -> ǣ -- -> ¯
dot above | / . | /g -> ġ .g -> ġ
misc | \" ~ / | \"s -> ß ~d -> ð ~t -> þ /a -> å /e -> æ /o -> ø
symbol | ~ | ~> -> » ~< -> « ~! -> ¡ ~? -> ¿ ~~ -> ¸
symbol | _ / | _o -> º _a -> ª // -> ° /\\ -> × _y -> ¥
- symbol | ^ | ^r -> ® ^c -> © ^1 -> ¹ ^2 -> ² ^3 -> ³
+ symbol | ^ | ^r -> ® ^t -> ™ ^c -> © ^1 -> ¹ ^2 -> ² ^3 -> ³
" nil t nil nil nil nil nil nil nil nil t)
(quail-define-rules
+ ("--" ?¯)
+ ("-A" ?Ā)
+ ("-a" ?ā)
+ ("-E" ?Ē)
+ ("-e" ?ē)
+ ("-/E" ?Ǣ)
+ ("-/e" ?ǣ)
+ ("-G" ?Ḡ)
+ ("-g" ?ḡ)
+ ("-I" ?Ī)
+ ("-i" ?ī)
+ ("-O" ?Ō)
+ ("-o" ?ō)
+ ("-U" ?Ū)
+ ("-u" ?ū)
+ ("-Y" ?Ȳ)
+ ("-y" ?ȳ)
("' " ?')
("''" ?´)
("'A" ?Á)
@@ -1189,9 +1215,16 @@ of characters from a single Latin-N charset.
("\"w" ?ẅ)
("\"y" ?ÿ)
("^ " ?^)
+ ("^0" ?⁰)
("^1" ?¹)
("^2" ?²)
("^3" ?³)
+ ("^4" ?⁴)
+ ("^5" ?⁵)
+ ("^6" ?⁶)
+ ("^7" ?⁷)
+ ("^8" ?⁸)
+ ("^9" ?⁹)
("^A" ?Â)
("^C" ?Ĉ)
("^E" ?Ê)
@@ -1216,9 +1249,24 @@ of characters from a single Latin-N charset.
("^o" ?ô)
("^r" ?®)
("^s" ?ŝ)
+ ("^t" ?™)
("^u" ?û)
("^w" ?ŵ)
("^y" ?ŷ)
+ ("^+" ?⁺)
+ ("^-" ?⁻)
+ ("_0" ?₀)
+ ("_1" ?₁)
+ ("_2" ?₂)
+ ("_3" ?₃)
+ ("_4" ?₄)
+ ("_5" ?₅)
+ ("_6" ?₆)
+ ("_7" ?₇)
+ ("_8" ?₈)
+ ("_9" ?₉)
+ ("_++" ?₊)
+ ("_-" ?₋)
("_+" ?±)
("_:" ?÷)
("_a" ?ª)
diff --git a/lisp/leim/quail/misc-lang.el b/lisp/leim/quail/misc-lang.el
new file mode 100644
index 00000000000..0c4a0d4ce40
--- /dev/null
+++ b/lisp/leim/quail/misc-lang.el
@@ -0,0 +1,1184 @@
+;;; 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" ?𐴔))
+
+;; The Kharoṣṭhī input method is based on the Kyoto-Harvard input
+;; conventions for Sanskrit, extended for Kharoṣṭhī special characters.
+;; Author: Stefan Baums <baums@gandhari.org>.
+(quail-define-package
+ "kharoshthi" "Kharoshthi" "𐨑" nil
+ "Kharoṣṭhī input method." nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("a" ["𐨀"])
+ ("i" ["𐨀𐨁"])
+ ("u" ["𐨀𐨂"])
+ ("R" ["𐨀𐨃"])
+ ("e" ["𐨀𐨅"])
+ ("o" ["𐨀𐨆"])
+
+ ("k" ["𐨐𐨿"])
+ ("ka" ["𐨐"])
+ ("ki" ["𐨐𐨁"])
+ ("ku" ["𐨐𐨂"])
+ ("kR" ["𐨐𐨃"])
+ ("ke" ["𐨐𐨅"])
+ ("ko" ["𐨐𐨆"])
+ ("k_" ["𐨐𐨹𐨿"])
+ ("k_a" ["𐨐𐨹"])
+ ("k_i" ["𐨐𐨹𐨁"])
+ ("k_u" ["𐨐𐨹𐨂"])
+ ("k_R" ["𐨐𐨹𐨃"])
+ ("k_e" ["𐨐𐨹𐨅"])
+ ("k_o" ["𐨐𐨹𐨆"])
+ ("k=" ["𐨐𐨿𐨸"])
+ ("k=a" ["𐨐𐨸"])
+ ("k=i" ["𐨐𐨸𐨁"])
+ ("k=u" ["𐨐𐨸𐨂"])
+ ("k=R" ["𐨐𐨸𐨃"])
+ ("k=e" ["𐨐𐨸𐨅"])
+ ("k=o" ["𐨐𐨸𐨆"])
+ ("k_=" ["𐨐𐨹𐨿𐨸"])
+ ("k_=a" ["𐨐𐨹𐨸"])
+ ("k_=i" ["𐨐𐨹𐨸𐨁"])
+ ("k_=u" ["𐨐𐨹𐨸𐨂"])
+ ("k_=R" ["𐨐𐨹𐨸𐨃"])
+ ("k_=e" ["𐨐𐨹𐨸𐨅"])
+ ("k_=o" ["𐨐𐨹𐨸𐨆"])
+
+ ("kh" ["𐨑𐨿"])
+ ("kha" ["𐨑"])
+ ("khi" ["𐨑𐨁"])
+ ("khu" ["𐨑𐨂"])
+ ("khR" ["𐨑𐨃"])
+ ("khe" ["𐨑𐨅"])
+ ("kho" ["𐨑𐨆"])
+ ("kh_" ["𐨑𐨹𐨿"])
+ ("kh_a" ["𐨑𐨹"])
+ ("kh_i" ["𐨑𐨹𐨁"])
+ ("kh_u" ["𐨑𐨹𐨂"])
+ ("kh_R" ["𐨑𐨹𐨃"])
+ ("kh_e" ["𐨑𐨹𐨅"])
+ ("kh_o" ["𐨑𐨹𐨆"])
+ ("kh=" ["𐨑𐨿𐨸"])
+ ("kh=a" ["𐨑𐨸"])
+ ("kh=i" ["𐨑𐨸𐨁"])
+ ("kh=u" ["𐨑𐨸𐨂"])
+ ("kh=R" ["𐨑𐨸𐨃"])
+ ("kh=e" ["𐨑𐨸𐨅"])
+ ("kh=o" ["𐨑𐨸𐨆"])
+ ("kh_=" ["𐨑𐨹𐨿𐨸"])
+ ("kh_=a" ["𐨑𐨹𐨸"])
+ ("kh_=i" ["𐨑𐨹𐨸𐨁"])
+ ("kh_=u" ["𐨑𐨹𐨸𐨂"])
+ ("kh_=R" ["𐨑𐨹𐨸𐨃"])
+ ("kh_=e" ["𐨑𐨹𐨸𐨅"])
+ ("kh_=o" ["𐨑𐨹𐨸𐨆"])
+
+ ("g" ["𐨒𐨿"])
+ ("ga" ["𐨒"])
+ ("gi" ["𐨒𐨁"])
+ ("gu" ["𐨒𐨂"])
+ ("gR" ["𐨒𐨃"])
+ ("ge" ["𐨒𐨅"])
+ ("go" ["𐨒𐨆"])
+ ("g_" ["𐨒𐨹𐨿"])
+ ("g_a" ["𐨒𐨹"])
+ ("g_i" ["𐨒𐨹𐨁"])
+ ("g_u" ["𐨒𐨹𐨂"])
+ ("g_R" ["𐨒𐨹𐨃"])
+ ("g_e" ["𐨒𐨹𐨅"])
+ ("g_o" ["𐨒𐨹𐨆"])
+ ("g=" ["𐨒𐨿𐨸"])
+ ("g=a" ["𐨒𐨸"])
+ ("g=i" ["𐨒𐨸𐨁"])
+ ("g=u" ["𐨒𐨸𐨂"])
+ ("g=R" ["𐨒𐨸𐨃"])
+ ("g=e" ["𐨒𐨸𐨅"])
+ ("g=o" ["𐨒𐨸𐨆"])
+ ("g_=" ["𐨒𐨹𐨿𐨸"])
+ ("g_=a" ["𐨒𐨹𐨸"])
+ ("g_=i" ["𐨒𐨹𐨸𐨁"])
+ ("g_=u" ["𐨒𐨹𐨸𐨂"])
+ ("g_=R" ["𐨒𐨹𐨸𐨃"])
+ ("g_=e" ["𐨒𐨹𐨸𐨅"])
+ ("g_=o" ["𐨒𐨹𐨸𐨆"])
+
+ ("gh" ["𐨓𐨿"])
+ ("gha" ["𐨓"])
+ ("ghi" ["𐨓𐨁"])
+ ("ghu" ["𐨓𐨂"])
+ ("ghR" ["𐨓𐨃"])
+ ("ghe" ["𐨓𐨅"])
+ ("gho" ["𐨓𐨆"])
+ ("gh_" ["𐨓𐨹𐨿"])
+ ("gh_a" ["𐨓𐨹"])
+ ("gh_i" ["𐨓𐨹𐨁"])
+ ("gh_u" ["𐨓𐨹𐨂"])
+ ("gh_R" ["𐨓𐨹𐨃"])
+ ("gh_e" ["𐨓𐨹𐨅"])
+ ("gh_o" ["𐨓𐨹𐨆"])
+ ("gh=" ["𐨓𐨿𐨸"])
+ ("gh=a" ["𐨓𐨸"])
+ ("gh=i" ["𐨓𐨸𐨁"])
+ ("gh=u" ["𐨓𐨸𐨂"])
+ ("gh=R" ["𐨓𐨸𐨃"])
+ ("gh=e" ["𐨓𐨸𐨅"])
+ ("gh=o" ["𐨓𐨸𐨆"])
+ ("gh_=" ["𐨓𐨹𐨿𐨸"])
+ ("gh_=a" ["𐨓𐨹𐨸"])
+ ("gh_=i" ["𐨓𐨹𐨸𐨁"])
+ ("gh_=u" ["𐨓𐨹𐨸𐨂"])
+ ("gh_=R" ["𐨓𐨹𐨸𐨃"])
+ ("gh_=e" ["𐨓𐨹𐨸𐨅"])
+ ("gh_=o" ["𐨓𐨹𐨸𐨆"])
+
+ ("c" ["𐨕𐨿"])
+ ("ca" ["𐨕"])
+ ("ci" ["𐨕𐨁"])
+ ("cu" ["𐨕𐨂"])
+ ("cR" ["𐨕𐨃"])
+ ("ce" ["𐨕𐨅"])
+ ("co" ["𐨕𐨆"])
+ ("c_" ["𐨕𐨹𐨿"])
+ ("c_a" ["𐨕𐨹"])
+ ("c_i" ["𐨕𐨹𐨁"])
+ ("c_u" ["𐨕𐨹𐨂"])
+ ("c_R" ["𐨕𐨹𐨃"])
+ ("c_e" ["𐨕𐨹𐨅"])
+ ("c_o" ["𐨕𐨹𐨆"])
+ ("c=" ["𐨕𐨿𐨸"])
+ ("c=a" ["𐨕𐨸"])
+ ("c=i" ["𐨕𐨸𐨁"])
+ ("c=u" ["𐨕𐨸𐨂"])
+ ("c=R" ["𐨕𐨸𐨃"])
+ ("c=e" ["𐨕𐨸𐨅"])
+ ("c=o" ["𐨕𐨸𐨆"])
+ ("c_=" ["𐨕𐨹𐨿𐨸"])
+ ("c_=a" ["𐨕𐨹𐨸"])
+ ("c_=i" ["𐨕𐨹𐨸𐨁"])
+ ("c_=u" ["𐨕𐨹𐨸𐨂"])
+ ("c_=R" ["𐨕𐨹𐨸𐨃"])
+ ("c_=e" ["𐨕𐨹𐨸𐨅"])
+ ("c_=o" ["𐨕𐨹𐨸𐨆"])
+
+ ("ch" ["𐨖𐨿"])
+ ("cha" ["𐨖"])
+ ("chi" ["𐨖𐨁"])
+ ("chu" ["𐨖𐨂"])
+ ("chR" ["𐨖𐨃"])
+ ("che" ["𐨖𐨅"])
+ ("cho" ["𐨖𐨆"])
+ ("ch_" ["𐨖𐨹𐨿"])
+ ("ch_a" ["𐨖𐨹"])
+ ("ch_i" ["𐨖𐨹𐨁"])
+ ("ch_u" ["𐨖𐨹𐨂"])
+ ("ch_R" ["𐨖𐨹𐨃"])
+ ("ch_e" ["𐨖𐨹𐨅"])
+ ("ch_o" ["𐨖𐨹𐨆"])
+ ("ch=" ["𐨖𐨿𐨸"])
+ ("ch=a" ["𐨖𐨸"])
+ ("ch=i" ["𐨖𐨸𐨁"])
+ ("ch=u" ["𐨖𐨸𐨂"])
+ ("ch=R" ["𐨖𐨸𐨃"])
+ ("ch=e" ["𐨖𐨸𐨅"])
+ ("ch=o" ["𐨖𐨸𐨆"])
+ ("ch_=" ["𐨖𐨹𐨿𐨸"])
+ ("ch_=a" ["𐨖𐨹𐨸"])
+ ("ch_=i" ["𐨖𐨹𐨸𐨁"])
+ ("ch_=u" ["𐨖𐨹𐨸𐨂"])
+ ("ch_=R" ["𐨖𐨹𐨸𐨃"])
+ ("ch_=e" ["𐨖𐨹𐨸𐨅"])
+ ("ch_=o" ["𐨖𐨹𐨸𐨆"])
+
+ ("j" ["𐨗𐨿"])
+ ("ja" ["𐨗"])
+ ("ji" ["𐨗𐨁"])
+ ("ju" ["𐨗𐨂"])
+ ("jR" ["𐨗𐨃"])
+ ("je" ["𐨗𐨅"])
+ ("jo" ["𐨗𐨆"])
+ ("j_" ["𐨗𐨹𐨿"])
+ ("j_a" ["𐨗𐨹"])
+ ("j_i" ["𐨗𐨹𐨁"])
+ ("j_u" ["𐨗𐨹𐨂"])
+ ("j_R" ["𐨗𐨹𐨃"])
+ ("j_e" ["𐨗𐨹𐨅"])
+ ("j_o" ["𐨗𐨹𐨆"])
+ ("j=" ["𐨗𐨿𐨸"])
+ ("j=a" ["𐨗𐨸"])
+ ("j=i" ["𐨗𐨸𐨁"])
+ ("j=u" ["𐨗𐨸𐨂"])
+ ("j=R" ["𐨗𐨸𐨃"])
+ ("j=e" ["𐨗𐨸𐨅"])
+ ("j=o" ["𐨗𐨸𐨆"])
+ ("j_=" ["𐨗𐨹𐨿𐨸"])
+ ("j_=a" ["𐨗𐨹𐨸"])
+ ("j_=i" ["𐨗𐨹𐨸𐨁"])
+ ("j_=u" ["𐨗𐨹𐨸𐨂"])
+ ("j_=R" ["𐨗𐨹𐨸𐨃"])
+ ("j_=e" ["𐨗𐨹𐨸𐨅"])
+ ("j_=o" ["𐨗𐨹𐨸𐨆"])
+
+ ("jh" ["𐨰𐨿"])
+ ("jha" ["𐨰"])
+ ("jhi" ["𐨰𐨁"])
+ ("jhu" ["𐨰𐨂"])
+ ("jhR" ["𐨰𐨃"])
+ ("jhe" ["𐨰𐨅"])
+ ("jho" ["𐨰𐨆"])
+ ("jh_" ["𐨰𐨹𐨿"])
+ ("jh_a" ["𐨰𐨹"])
+ ("jh_i" ["𐨰𐨹𐨁"])
+ ("jh_u" ["𐨰𐨹𐨂"])
+ ("jh_R" ["𐨰𐨹𐨃"])
+ ("jh_e" ["𐨰𐨹𐨅"])
+ ("jh_o" ["𐨰𐨹𐨆"])
+ ("jh=" ["𐨰𐨿𐨸"])
+ ("jh=a" ["𐨰𐨸"])
+ ("jh=i" ["𐨰𐨸𐨁"])
+ ("jh=u" ["𐨰𐨸𐨂"])
+ ("jh=R" ["𐨰𐨸𐨃"])
+ ("jh=e" ["𐨰𐨸𐨅"])
+ ("jh=o" ["𐨰𐨸𐨆"])
+ ("jh_=" ["𐨰𐨹𐨿𐨸"])
+ ("jh_=a" ["𐨰𐨹𐨸"])
+ ("jh_=i" ["𐨰𐨹𐨸𐨁"])
+ ("jh_=u" ["𐨰𐨹𐨸𐨂"])
+ ("jh_=R" ["𐨰𐨹𐨸𐨃"])
+ ("jh_=e" ["𐨰𐨹𐨸𐨅"])
+ ("jh_=o" ["𐨰𐨹𐨸𐨆"])
+
+ ("J" ["𐨙𐨿"])
+ ("Ja" ["𐨙"])
+ ("Ji" ["𐨙𐨁"])
+ ("Ju" ["𐨙𐨂"])
+ ("JR" ["𐨙𐨃"])
+ ("Je" ["𐨙𐨅"])
+ ("Jo" ["𐨙𐨆"])
+ ("J_" ["𐨙𐨹𐨿"])
+ ("J_a" ["𐨙𐨹"])
+ ("J_i" ["𐨙𐨹𐨁"])
+ ("J_u" ["𐨙𐨹𐨂"])
+ ("J_R" ["𐨙𐨹𐨃"])
+ ("J_e" ["𐨙𐨹𐨅"])
+ ("J_o" ["𐨙𐨹𐨆"])
+ ("J=" ["𐨙𐨿𐨸"])
+ ("J=a" ["𐨙𐨸"])
+ ("J=i" ["𐨙𐨸𐨁"])
+ ("J=u" ["𐨙𐨸𐨂"])
+ ("J=R" ["𐨙𐨸𐨃"])
+ ("J=e" ["𐨙𐨸𐨅"])
+ ("J=o" ["𐨙𐨸𐨆"])
+ ("J_=" ["𐨙𐨹𐨿𐨸"])
+ ("J_=a" ["𐨙𐨹𐨸"])
+ ("J_=i" ["𐨙𐨹𐨸𐨁"])
+ ("J_=u" ["𐨙𐨹𐨸𐨂"])
+ ("J_=R" ["𐨙𐨹𐨸𐨃"])
+ ("J_=e" ["𐨙𐨹𐨸𐨅"])
+ ("J_=o" ["𐨙𐨹𐨸𐨆"])
+
+ ("T" ["𐨚𐨿"])
+ ("Ta" ["𐨚"])
+ ("Ti" ["𐨚𐨁"])
+ ("Tu" ["𐨚𐨂"])
+ ("TR" ["𐨚𐨃"])
+ ("Te" ["𐨚𐨅"])
+ ("To" ["𐨚𐨆"])
+ ("T_" ["𐨚𐨹𐨿"])
+ ("T_a" ["𐨚𐨹"])
+ ("T_i" ["𐨚𐨹𐨁"])
+ ("T_u" ["𐨚𐨹𐨂"])
+ ("T_R" ["𐨚𐨹𐨃"])
+ ("T_e" ["𐨚𐨹𐨅"])
+ ("T_o" ["𐨚𐨹𐨆"])
+ ("T=" ["𐨚𐨿𐨸"])
+ ("T=a" ["𐨚𐨸"])
+ ("T=i" ["𐨚𐨸𐨁"])
+ ("T=u" ["𐨚𐨸𐨂"])
+ ("T=R" ["𐨚𐨸𐨃"])
+ ("T=e" ["𐨚𐨸𐨅"])
+ ("T=o" ["𐨚𐨸𐨆"])
+ ("T_=" ["𐨚𐨹𐨿𐨸"])
+ ("T_=a" ["𐨚𐨹𐨸"])
+ ("T_=i" ["𐨚𐨹𐨸𐨁"])
+ ("T_=u" ["𐨚𐨹𐨸𐨂"])
+ ("T_=R" ["𐨚𐨹𐨸𐨃"])
+ ("T_=e" ["𐨚𐨹𐨸𐨅"])
+ ("T_=o" ["𐨚𐨹𐨸𐨆"])
+
+ ("Th" ["𐨛𐨿"])
+ ("Tha" ["𐨛"])
+ ("Thi" ["𐨛𐨁"])
+ ("Thu" ["𐨛𐨂"])
+ ("ThR" ["𐨛𐨃"])
+ ("The" ["𐨛𐨅"])
+ ("Tho" ["𐨛𐨆"])
+ ("Th_" ["𐨛𐨹𐨿"])
+ ("Th_a" ["𐨛𐨹"])
+ ("Th_i" ["𐨛𐨹𐨁"])
+ ("Th_u" ["𐨛𐨹𐨂"])
+ ("Th_R" ["𐨛𐨹𐨃"])
+ ("Th_e" ["𐨛𐨹𐨅"])
+ ("Th_o" ["𐨛𐨹𐨆"])
+ ("Th=" ["𐨛𐨿𐨸"])
+ ("Th=a" ["𐨛𐨸"])
+ ("Th=i" ["𐨛𐨸𐨁"])
+ ("Th=u" ["𐨛𐨸𐨂"])
+ ("Th=R" ["𐨛𐨸𐨃"])
+ ("Th=e" ["𐨛𐨸𐨅"])
+ ("Th=o" ["𐨛𐨸𐨆"])
+ ("Th_=" ["𐨛𐨹𐨿𐨸"])
+ ("Th_=a" ["𐨛𐨹𐨸"])
+ ("Th_=i" ["𐨛𐨹𐨸𐨁"])
+ ("Th_=u" ["𐨛𐨹𐨸𐨂"])
+ ("Th_=R" ["𐨛𐨹𐨸𐨃"])
+ ("Th_=e" ["𐨛𐨹𐨸𐨅"])
+ ("Th_=o" ["𐨛𐨹𐨸𐨆"])
+
+ ("D" ["𐨜𐨿"])
+ ("Da" ["𐨜"])
+ ("Di" ["𐨜𐨁"])
+ ("Du" ["𐨜𐨂"])
+ ("DR" ["𐨜𐨃"])
+ ("De" ["𐨜𐨅"])
+ ("Do" ["𐨜𐨆"])
+ ("D_" ["𐨜𐨹𐨿"])
+ ("D_a" ["𐨜𐨹"])
+ ("D_i" ["𐨜𐨹𐨁"])
+ ("D_u" ["𐨜𐨹𐨂"])
+ ("D_R" ["𐨜𐨹𐨃"])
+ ("D_e" ["𐨜𐨹𐨅"])
+ ("D_o" ["𐨜𐨹𐨆"])
+ ("D=" ["𐨜𐨿𐨸"])
+ ("D=a" ["𐨜𐨸"])
+ ("D=i" ["𐨜𐨸𐨁"])
+ ("D=u" ["𐨜𐨸𐨂"])
+ ("D=R" ["𐨜𐨸𐨃"])
+ ("D=e" ["𐨜𐨸𐨅"])
+ ("D=o" ["𐨜𐨸𐨆"])
+ ("D_=" ["𐨜𐨹𐨿𐨸"])
+ ("D_=a" ["𐨜𐨹𐨸"])
+ ("D_=i" ["𐨜𐨹𐨸𐨁"])
+ ("D_=u" ["𐨜𐨹𐨸𐨂"])
+ ("D_=R" ["𐨜𐨹𐨸𐨃"])
+ ("D_=e" ["𐨜𐨹𐨸𐨅"])
+ ("D_=o" ["𐨜𐨹𐨸𐨆"])
+
+ ("Dh" ["𐨝𐨿"])
+ ("Dha" ["𐨝"])
+ ("Dhi" ["𐨝𐨁"])
+ ("Dhu" ["𐨝𐨂"])
+ ("DhR" ["𐨝𐨃"])
+ ("Dhe" ["𐨝𐨅"])
+ ("Dho" ["𐨝𐨆"])
+ ("Dh_" ["𐨝𐨹𐨿"])
+ ("Dh_a" ["𐨝𐨹"])
+ ("Dh_i" ["𐨝𐨹𐨁"])
+ ("Dh_u" ["𐨝𐨹𐨂"])
+ ("Dh_R" ["𐨝𐨹𐨃"])
+ ("Dh_e" ["𐨝𐨹𐨅"])
+ ("Dh_o" ["𐨝𐨹𐨆"])
+ ("Dh=" ["𐨝𐨿𐨸"])
+ ("Dh=a" ["𐨝𐨸"])
+ ("Dh=i" ["𐨝𐨸𐨁"])
+ ("Dh=u" ["𐨝𐨸𐨂"])
+ ("Dh=R" ["𐨝𐨸𐨃"])
+ ("Dh=e" ["𐨝𐨸𐨅"])
+ ("Dh=o" ["𐨝𐨸𐨆"])
+ ("Dh_=" ["𐨝𐨹𐨿𐨸"])
+ ("Dh_=a" ["𐨝𐨹𐨸"])
+ ("Dh_=i" ["𐨝𐨹𐨸𐨁"])
+ ("Dh_=u" ["𐨝𐨹𐨸𐨂"])
+ ("Dh_=R" ["𐨝𐨹𐨸𐨃"])
+ ("Dh_=e" ["𐨝𐨹𐨸𐨅"])
+ ("Dh_=o" ["𐨝𐨹𐨸𐨆"])
+
+ ("N" ["𐨞𐨿"])
+ ("Na" ["𐨞"])
+ ("Ni" ["𐨞𐨁"])
+ ("Nu" ["𐨞𐨂"])
+ ("NR" ["𐨞𐨃"])
+ ("Ne" ["𐨞𐨅"])
+ ("No" ["𐨞𐨆"])
+ ("N_" ["𐨞𐨹𐨿"])
+ ("N_a" ["𐨞𐨹"])
+ ("N_i" ["𐨞𐨹𐨁"])
+ ("N_u" ["𐨞𐨹𐨂"])
+ ("N_R" ["𐨞𐨹𐨃"])
+ ("N_e" ["𐨞𐨹𐨅"])
+ ("N_o" ["𐨞𐨹𐨆"])
+ ("N=" ["𐨞𐨿𐨸"])
+ ("N=a" ["𐨞𐨸"])
+ ("N=i" ["𐨞𐨸𐨁"])
+ ("N=u" ["𐨞𐨸𐨂"])
+ ("N=R" ["𐨞𐨸𐨃"])
+ ("N=e" ["𐨞𐨸𐨅"])
+ ("N=o" ["𐨞𐨸𐨆"])
+ ("N_=" ["𐨞𐨹𐨿𐨸"])
+ ("N_=a" ["𐨞𐨹𐨸"])
+ ("N_=i" ["𐨞𐨹𐨸𐨁"])
+ ("N_=u" ["𐨞𐨹𐨸𐨂"])
+ ("N_=R" ["𐨞𐨹𐨸𐨃"])
+ ("N_=e" ["𐨞𐨹𐨸𐨅"])
+ ("N_=o" ["𐨞𐨹𐨸𐨆"])
+
+ ("t" ["𐨟𐨿"])
+ ("ta" ["𐨟"])
+ ("ti" ["𐨟𐨁"])
+ ("tu" ["𐨟𐨂"])
+ ("tR" ["𐨟𐨃"])
+ ("te" ["𐨟𐨅"])
+ ("to" ["𐨟𐨆"])
+ ("t_" ["𐨟𐨹𐨿"])
+ ("t_a" ["𐨟𐨹"])
+ ("t_i" ["𐨟𐨹𐨁"])
+ ("t_u" ["𐨟𐨹𐨂"])
+ ("t_R" ["𐨟𐨹𐨃"])
+ ("t_e" ["𐨟𐨹𐨅"])
+ ("t_o" ["𐨟𐨹𐨆"])
+ ("t=" ["𐨟𐨿𐨸"])
+ ("t=a" ["𐨟𐨸"])
+ ("t=i" ["𐨟𐨸𐨁"])
+ ("t=u" ["𐨟𐨸𐨂"])
+ ("t=R" ["𐨟𐨸𐨃"])
+ ("t=e" ["𐨟𐨸𐨅"])
+ ("t=o" ["𐨟𐨸𐨆"])
+ ("t_=" ["𐨟𐨹𐨿𐨸"])
+ ("t_=a" ["𐨟𐨹𐨸"])
+ ("t_=i" ["𐨟𐨹𐨸𐨁"])
+ ("t_=u" ["𐨟𐨹𐨸𐨂"])
+ ("t_=R" ["𐨟𐨹𐨸𐨃"])
+ ("t_=e" ["𐨟𐨹𐨸𐨅"])
+ ("t_=o" ["𐨟𐨹𐨸𐨆"])
+
+ ("th" ["𐨠𐨿"])
+ ("tha" ["𐨠"])
+ ("thi" ["𐨠𐨁"])
+ ("thu" ["𐨠𐨂"])
+ ("thR" ["𐨠𐨃"])
+ ("the" ["𐨠𐨅"])
+ ("tho" ["𐨠𐨆"])
+ ("th_" ["𐨠𐨹𐨿"])
+ ("th_a" ["𐨠𐨹"])
+ ("th_i" ["𐨠𐨹𐨁"])
+ ("th_u" ["𐨠𐨹𐨂"])
+ ("th_R" ["𐨠𐨹𐨃"])
+ ("th_e" ["𐨠𐨹𐨅"])
+ ("th_o" ["𐨠𐨹𐨆"])
+ ("th=" ["𐨠𐨿𐨸"])
+ ("th=a" ["𐨠𐨸"])
+ ("th=i" ["𐨠𐨸𐨁"])
+ ("th=u" ["𐨠𐨸𐨂"])
+ ("th=R" ["𐨠𐨸𐨃"])
+ ("th=e" ["𐨠𐨸𐨅"])
+ ("th=o" ["𐨠𐨸𐨆"])
+ ("th_=" ["𐨠𐨹𐨿𐨸"])
+ ("th_=a" ["𐨠𐨹𐨸"])
+ ("th_=i" ["𐨠𐨹𐨸𐨁"])
+ ("th_=u" ["𐨠𐨹𐨸𐨂"])
+ ("th_=R" ["𐨠𐨹𐨸𐨃"])
+ ("th_=e" ["𐨠𐨹𐨸𐨅"])
+ ("th_=o" ["𐨠𐨹𐨸𐨆"])
+
+ ("d" ["𐨡𐨿"])
+ ("da" ["𐨡"])
+ ("di" ["𐨡𐨁"])
+ ("du" ["𐨡𐨂"])
+ ("dR" ["𐨡𐨃"])
+ ("de" ["𐨡𐨅"])
+ ("do" ["𐨡𐨆"])
+ ("d_" ["𐨡𐨹𐨿"])
+ ("d_a" ["𐨡𐨹"])
+ ("d_i" ["𐨡𐨹𐨁"])
+ ("d_u" ["𐨡𐨹𐨂"])
+ ("d_R" ["𐨡𐨹𐨃"])
+ ("d_e" ["𐨡𐨹𐨅"])
+ ("d_o" ["𐨡𐨹𐨆"])
+ ("d=" ["𐨡𐨿𐨸"])
+ ("d=a" ["𐨡𐨸"])
+ ("d=i" ["𐨡𐨸𐨁"])
+ ("d=u" ["𐨡𐨸𐨂"])
+ ("d=R" ["𐨡𐨸𐨃"])
+ ("d=e" ["𐨡𐨸𐨅"])
+ ("d=o" ["𐨡𐨸𐨆"])
+ ("d_=" ["𐨡𐨹𐨿𐨸"])
+ ("d_=a" ["𐨡𐨹𐨸"])
+ ("d_=i" ["𐨡𐨹𐨸𐨁"])
+ ("d_=u" ["𐨡𐨹𐨸𐨂"])
+ ("d_=R" ["𐨡𐨹𐨸𐨃"])
+ ("d_=e" ["𐨡𐨹𐨸𐨅"])
+ ("d_=o" ["𐨡𐨹𐨸𐨆"])
+
+ ("dh" ["𐨢𐨿"])
+ ("dha" ["𐨢"])
+ ("dhi" ["𐨢𐨁"])
+ ("dhu" ["𐨢𐨂"])
+ ("dhR" ["𐨢𐨃"])
+ ("dhe" ["𐨢𐨅"])
+ ("dho" ["𐨢𐨆"])
+ ("dh_" ["𐨢𐨹𐨿"])
+ ("dh_a" ["𐨢𐨹"])
+ ("dh_i" ["𐨢𐨹𐨁"])
+ ("dh_u" ["𐨢𐨹𐨂"])
+ ("dh_R" ["𐨢𐨹𐨃"])
+ ("dh_e" ["𐨢𐨹𐨅"])
+ ("dh_o" ["𐨢𐨹𐨆"])
+ ("dh=" ["𐨢𐨿𐨸"])
+ ("dh=a" ["𐨢𐨸"])
+ ("dh=i" ["𐨢𐨸𐨁"])
+ ("dh=u" ["𐨢𐨸𐨂"])
+ ("dh=R" ["𐨢𐨸𐨃"])
+ ("dh=e" ["𐨢𐨸𐨅"])
+ ("dh=o" ["𐨢𐨸𐨆"])
+ ("dh_=" ["𐨢𐨹𐨿𐨸"])
+ ("dh_=a" ["𐨢𐨹𐨸"])
+ ("dh_=i" ["𐨢𐨹𐨸𐨁"])
+ ("dh_=u" ["𐨢𐨹𐨸𐨂"])
+ ("dh_=R" ["𐨢𐨹𐨸𐨃"])
+ ("dh_=e" ["𐨢𐨹𐨸𐨅"])
+ ("dh_=o" ["𐨢𐨹𐨸𐨆"])
+
+ ("n" ["𐨣𐨿"])
+ ("na" ["𐨣"])
+ ("ni" ["𐨣𐨁"])
+ ("nu" ["𐨣𐨂"])
+ ("nR" ["𐨣𐨃"])
+ ("ne" ["𐨣𐨅"])
+ ("no" ["𐨣𐨆"])
+ ("n_" ["𐨣𐨹𐨿"])
+ ("n_a" ["𐨣𐨹"])
+ ("n_i" ["𐨣𐨹𐨁"])
+ ("n_u" ["𐨣𐨹𐨂"])
+ ("n_R" ["𐨣𐨹𐨃"])
+ ("n_e" ["𐨣𐨹𐨅"])
+ ("n_o" ["𐨣𐨹𐨆"])
+ ("n=" ["𐨣𐨿𐨸"])
+ ("n=a" ["𐨣𐨸"])
+ ("n=i" ["𐨣𐨸𐨁"])
+ ("n=u" ["𐨣𐨸𐨂"])
+ ("n=R" ["𐨣𐨸𐨃"])
+ ("n=e" ["𐨣𐨸𐨅"])
+ ("n=o" ["𐨣𐨸𐨆"])
+ ("n_=" ["𐨣𐨹𐨿𐨸"])
+ ("n_=a" ["𐨣𐨹𐨸"])
+ ("n_=i" ["𐨣𐨹𐨸𐨁"])
+ ("n_=u" ["𐨣𐨹𐨸𐨂"])
+ ("n_=R" ["𐨣𐨹𐨸𐨃"])
+ ("n_=e" ["𐨣𐨹𐨸𐨅"])
+ ("n_=o" ["𐨣𐨹𐨸𐨆"])
+
+ ("p" ["𐨤𐨿"])
+ ("pa" ["𐨤"])
+ ("pi" ["𐨤𐨁"])
+ ("pu" ["𐨤𐨂"])
+ ("pR" ["𐨤𐨃"])
+ ("pe" ["𐨤𐨅"])
+ ("po" ["𐨤𐨆"])
+ ("p_" ["𐨤𐨹𐨿"])
+ ("p_a" ["𐨤𐨹"])
+ ("p_i" ["𐨤𐨹𐨁"])
+ ("p_u" ["𐨤𐨹𐨂"])
+ ("p_R" ["𐨤𐨹𐨃"])
+ ("p_e" ["𐨤𐨹𐨅"])
+ ("p_o" ["𐨤𐨹𐨆"])
+ ("p=" ["𐨤𐨿𐨸"])
+ ("p=a" ["𐨤𐨸"])
+ ("p=i" ["𐨤𐨸𐨁"])
+ ("p=u" ["𐨤𐨸𐨂"])
+ ("p=R" ["𐨤𐨸𐨃"])
+ ("p=e" ["𐨤𐨸𐨅"])
+ ("p=o" ["𐨤𐨸𐨆"])
+ ("p_=" ["𐨤𐨹𐨿𐨸"])
+ ("p_=a" ["𐨤𐨹𐨸"])
+ ("p_=i" ["𐨤𐨹𐨸𐨁"])
+ ("p_=u" ["𐨤𐨹𐨸𐨂"])
+ ("p_=R" ["𐨤𐨹𐨸𐨃"])
+ ("p_=e" ["𐨤𐨹𐨸𐨅"])
+ ("p_=o" ["𐨤𐨹𐨸𐨆"])
+
+ ("ph" ["𐨥𐨿"])
+ ("pha" ["𐨥"])
+ ("phi" ["𐨥𐨁"])
+ ("phu" ["𐨥𐨂"])
+ ("phR" ["𐨥𐨃"])
+ ("phe" ["𐨥𐨅"])
+ ("pho" ["𐨥𐨆"])
+ ("ph_" ["𐨥𐨹𐨿"])
+ ("ph_a" ["𐨥𐨹"])
+ ("ph_i" ["𐨥𐨹𐨁"])
+ ("ph_u" ["𐨥𐨹𐨂"])
+ ("ph_R" ["𐨥𐨹𐨃"])
+ ("ph_e" ["𐨥𐨹𐨅"])
+ ("ph_o" ["𐨥𐨹𐨆"])
+ ("ph=" ["𐨥𐨿𐨸"])
+ ("ph=a" ["𐨥𐨸"])
+ ("ph=i" ["𐨥𐨸𐨁"])
+ ("ph=u" ["𐨥𐨸𐨂"])
+ ("ph=R" ["𐨥𐨸𐨃"])
+ ("ph=e" ["𐨥𐨸𐨅"])
+ ("ph=o" ["𐨥𐨸𐨆"])
+ ("ph_=" ["𐨥𐨹𐨿𐨸"])
+ ("ph_=a" ["𐨥𐨹𐨸"])
+ ("ph_=i" ["𐨥𐨹𐨸𐨁"])
+ ("ph_=u" ["𐨥𐨹𐨸𐨂"])
+ ("ph_=R" ["𐨥𐨹𐨸𐨃"])
+ ("ph_=e" ["𐨥𐨹𐨸𐨅"])
+ ("ph_=o" ["𐨥𐨹𐨸𐨆"])
+
+ ("b" ["𐨦𐨿"])
+ ("ba" ["𐨦"])
+ ("bi" ["𐨦𐨁"])
+ ("bu" ["𐨦𐨂"])
+ ("bR" ["𐨦𐨃"])
+ ("be" ["𐨦𐨅"])
+ ("bo" ["𐨦𐨆"])
+ ("b_" ["𐨦𐨹𐨿"])
+ ("b_a" ["𐨦𐨹"])
+ ("b_i" ["𐨦𐨹𐨁"])
+ ("b_u" ["𐨦𐨹𐨂"])
+ ("b_R" ["𐨦𐨹𐨃"])
+ ("b_e" ["𐨦𐨹𐨅"])
+ ("b_o" ["𐨦𐨹𐨆"])
+ ("b=" ["𐨦𐨿𐨸"])
+ ("b=a" ["𐨦𐨸"])
+ ("b=i" ["𐨦𐨸𐨁"])
+ ("b=u" ["𐨦𐨸𐨂"])
+ ("b=R" ["𐨦𐨸𐨃"])
+ ("b=e" ["𐨦𐨸𐨅"])
+ ("b=o" ["𐨦𐨸𐨆"])
+ ("b_=" ["𐨦𐨹𐨿𐨸"])
+ ("b_=a" ["𐨦𐨹𐨸"])
+ ("b_=i" ["𐨦𐨹𐨸𐨁"])
+ ("b_=u" ["𐨦𐨹𐨸𐨂"])
+ ("b_=R" ["𐨦𐨹𐨸𐨃"])
+ ("b_=e" ["𐨦𐨹𐨸𐨅"])
+ ("b_=o" ["𐨦𐨹𐨸𐨆"])
+
+ ("bh" ["𐨧𐨿"])
+ ("bha" ["𐨧"])
+ ("bhi" ["𐨧𐨁"])
+ ("bhu" ["𐨧𐨂"])
+ ("bhR" ["𐨧𐨃"])
+ ("bhe" ["𐨧𐨅"])
+ ("bho" ["𐨧𐨆"])
+ ("bh_" ["𐨧𐨹𐨿"])
+ ("bh_a" ["𐨧𐨹"])
+ ("bh_i" ["𐨧𐨹𐨁"])
+ ("bh_u" ["𐨧𐨹𐨂"])
+ ("bh_R" ["𐨧𐨹𐨃"])
+ ("bh_e" ["𐨧𐨹𐨅"])
+ ("bh_o" ["𐨧𐨹𐨆"])
+ ("bh=" ["𐨧𐨿𐨸"])
+ ("bh=a" ["𐨧𐨸"])
+ ("bh=i" ["𐨧𐨸𐨁"])
+ ("bh=u" ["𐨧𐨸𐨂"])
+ ("bh=R" ["𐨧𐨸𐨃"])
+ ("bh=e" ["𐨧𐨸𐨅"])
+ ("bh=o" ["𐨧𐨸𐨆"])
+ ("bh_=" ["𐨧𐨹𐨿𐨸"])
+ ("bh_=a" ["𐨧𐨹𐨸"])
+ ("bh_=i" ["𐨧𐨹𐨸𐨁"])
+ ("bh_=u" ["𐨧𐨹𐨸𐨂"])
+ ("bh_=R" ["𐨧𐨹𐨸𐨃"])
+ ("bh_=e" ["𐨧𐨹𐨸𐨅"])
+ ("bh_=o" ["𐨧𐨹𐨸𐨆"])
+
+ ("m" ["𐨨𐨿"])
+ ("ma" ["𐨨"])
+ ("mi" ["𐨨𐨁"])
+ ("mu" ["𐨨𐨂"])
+ ("mR" ["𐨨𐨃"])
+ ("me" ["𐨨𐨅"])
+ ("mo" ["𐨨𐨆"])
+ ("m_" ["𐨨𐨹𐨿"])
+ ("m_a" ["𐨨𐨹"])
+ ("m_i" ["𐨨𐨹𐨁"])
+ ("m_u" ["𐨨𐨹𐨂"])
+ ("m_R" ["𐨨𐨹𐨃"])
+ ("m_e" ["𐨨𐨹𐨅"])
+ ("m_o" ["𐨨𐨹𐨆"])
+ ("m=" ["𐨨𐨿𐨸"])
+ ("m=a" ["𐨨𐨸"])
+ ("m=i" ["𐨨𐨸𐨁"])
+ ("m=u" ["𐨨𐨸𐨂"])
+ ("m=R" ["𐨨𐨸𐨃"])
+ ("m=e" ["𐨨𐨸𐨅"])
+ ("m=o" ["𐨨𐨸𐨆"])
+ ("m_=" ["𐨨𐨹𐨿𐨸"])
+ ("m_=a" ["𐨨𐨹𐨸"])
+ ("m_=i" ["𐨨𐨹𐨸𐨁"])
+ ("m_=u" ["𐨨𐨹𐨸𐨂"])
+ ("m_=R" ["𐨨𐨹𐨸𐨃"])
+ ("m_=e" ["𐨨𐨹𐨸𐨅"])
+ ("m_=o" ["𐨨𐨹𐨸𐨆"])
+
+ ("y" ["𐨩𐨿"])
+ ("ya" ["𐨩"])
+ ("yi" ["𐨩𐨁"])
+ ("yu" ["𐨩𐨂"])
+ ("yR" ["𐨩𐨃"])
+ ("ye" ["𐨩𐨅"])
+ ("yo" ["𐨩𐨆"])
+ ("y_" ["𐨩𐨹𐨿"])
+ ("y_a" ["𐨩𐨹"])
+ ("y_i" ["𐨩𐨹𐨁"])
+ ("y_u" ["𐨩𐨹𐨂"])
+ ("y_R" ["𐨩𐨹𐨃"])
+ ("y_e" ["𐨩𐨹𐨅"])
+ ("y_o" ["𐨩𐨹𐨆"])
+ ("y=" ["𐨩𐨿𐨸"])
+ ("y=a" ["𐨩𐨸"])
+ ("y=i" ["𐨩𐨸𐨁"])
+ ("y=u" ["𐨩𐨸𐨂"])
+ ("y=R" ["𐨩𐨸𐨃"])
+ ("y=e" ["𐨩𐨸𐨅"])
+ ("y=o" ["𐨩𐨸𐨆"])
+ ("y_=" ["𐨩𐨹𐨿𐨸"])
+ ("y_=a" ["𐨩𐨹𐨸"])
+ ("y_=i" ["𐨩𐨹𐨸𐨁"])
+ ("y_=u" ["𐨩𐨹𐨸𐨂"])
+ ("y_=R" ["𐨩𐨹𐨸𐨃"])
+ ("y_=e" ["𐨩𐨹𐨸𐨅"])
+ ("y_=o" ["𐨩𐨹𐨸𐨆"])
+
+ ("r" ["𐨪𐨿"])
+ ("ra" ["𐨪"])
+ ("ri" ["𐨪𐨁"])
+ ("ru" ["𐨪𐨂"])
+ ("rR" ["𐨪𐨃"])
+ ("re" ["𐨪𐨅"])
+ ("ro" ["𐨪𐨆"])
+ ("r_" ["𐨪𐨹𐨿"])
+ ("r_a" ["𐨪𐨹"])
+ ("r_i" ["𐨪𐨹𐨁"])
+ ("r_u" ["𐨪𐨹𐨂"])
+ ("r_R" ["𐨪𐨹𐨃"])
+ ("r_e" ["𐨪𐨹𐨅"])
+ ("r_o" ["𐨪𐨹𐨆"])
+ ("r=" ["𐨪𐨿𐨸"])
+ ("r=a" ["𐨪𐨸"])
+ ("r=i" ["𐨪𐨸𐨁"])
+ ("r=u" ["𐨪𐨸𐨂"])
+ ("r=R" ["𐨪𐨸𐨃"])
+ ("r=e" ["𐨪𐨸𐨅"])
+ ("r=o" ["𐨪𐨸𐨆"])
+ ("r_=" ["𐨪𐨹𐨿𐨸"])
+ ("r_=a" ["𐨪𐨹𐨸"])
+ ("r_=i" ["𐨪𐨹𐨸𐨁"])
+ ("r_=u" ["𐨪𐨹𐨸𐨂"])
+ ("r_=R" ["𐨪𐨹𐨸𐨃"])
+ ("r_=e" ["𐨪𐨹𐨸𐨅"])
+ ("r_=o" ["𐨪𐨹𐨸𐨆"])
+
+ ("l" ["𐨫𐨿"])
+ ("la" ["𐨫"])
+ ("li" ["𐨫𐨁"])
+ ("lu" ["𐨫𐨂"])
+ ("lR" ["𐨫𐨃"])
+ ("le" ["𐨫𐨅"])
+ ("lo" ["𐨫𐨆"])
+ ("l_" ["𐨫𐨹𐨿"])
+ ("l_a" ["𐨫𐨹"])
+ ("l_i" ["𐨫𐨹𐨁"])
+ ("l_u" ["𐨫𐨹𐨂"])
+ ("l_R" ["𐨫𐨹𐨃"])
+ ("l_e" ["𐨫𐨹𐨅"])
+ ("l_o" ["𐨫𐨹𐨆"])
+ ("l=" ["𐨫𐨿𐨸"])
+ ("l=a" ["𐨫𐨸"])
+ ("l=i" ["𐨫𐨸𐨁"])
+ ("l=u" ["𐨫𐨸𐨂"])
+ ("l=R" ["𐨫𐨸𐨃"])
+ ("l=e" ["𐨫𐨸𐨅"])
+ ("l=o" ["𐨫𐨸𐨆"])
+ ("l_=" ["𐨫𐨹𐨿𐨸"])
+ ("l_=a" ["𐨫𐨹𐨸"])
+ ("l_=i" ["𐨫𐨹𐨸𐨁"])
+ ("l_=u" ["𐨫𐨹𐨸𐨂"])
+ ("l_=R" ["𐨫𐨹𐨸𐨃"])
+ ("l_=e" ["𐨫𐨹𐨸𐨅"])
+ ("l_=o" ["𐨫𐨹𐨸𐨆"])
+
+ ("v" ["𐨬𐨿"])
+ ("va" ["𐨬"])
+ ("vi" ["𐨬𐨁"])
+ ("vu" ["𐨬𐨂"])
+ ("vR" ["𐨬𐨃"])
+ ("ve" ["𐨬𐨅"])
+ ("vo" ["𐨬𐨆"])
+ ("v_" ["𐨬𐨹𐨿"])
+ ("v_a" ["𐨬𐨹"])
+ ("v_i" ["𐨬𐨹𐨁"])
+ ("v_u" ["𐨬𐨹𐨂"])
+ ("v_R" ["𐨬𐨹𐨃"])
+ ("v_e" ["𐨬𐨹𐨅"])
+ ("v_o" ["𐨬𐨹𐨆"])
+ ("v=" ["𐨬𐨿𐨸"])
+ ("v=a" ["𐨬𐨸"])
+ ("v=i" ["𐨬𐨸𐨁"])
+ ("v=u" ["𐨬𐨸𐨂"])
+ ("v=R" ["𐨬𐨸𐨃"])
+ ("v=e" ["𐨬𐨸𐨅"])
+ ("v=o" ["𐨬𐨸𐨆"])
+ ("v_=" ["𐨬𐨹𐨿𐨸"])
+ ("v_=a" ["𐨬𐨹𐨸"])
+ ("v_=i" ["𐨬𐨹𐨸𐨁"])
+ ("v_=u" ["𐨬𐨹𐨸𐨂"])
+ ("v_=R" ["𐨬𐨹𐨸𐨃"])
+ ("v_=e" ["𐨬𐨹𐨸𐨅"])
+ ("v_=o" ["𐨬𐨹𐨸𐨆"])
+
+ ("z" ["𐨭𐨿"])
+ ("za" ["𐨭"])
+ ("zi" ["𐨭𐨁"])
+ ("zu" ["𐨭𐨂"])
+ ("z" ["𐨭𐨃"])
+ ("ze" ["𐨭𐨅"])
+ ("zo" ["𐨭𐨆"])
+ ("z_" ["𐨭𐨹𐨿"])
+ ("z_a" ["𐨭𐨹"])
+ ("z_i" ["𐨭𐨹𐨁"])
+ ("z_u" ["𐨭𐨹𐨂"])
+ ("z_R" ["𐨭𐨹𐨃"])
+ ("z_e" ["𐨭𐨹𐨅"])
+ ("z_o" ["𐨭𐨹𐨆"])
+ ("z=" ["𐨭𐨿𐨸"])
+ ("z=a" ["𐨭𐨸"])
+ ("z=i" ["𐨭𐨸𐨁"])
+ ("z=u" ["𐨭𐨸𐨂"])
+ ("z=R" ["𐨭𐨸𐨃"])
+ ("z=e" ["𐨭𐨸𐨅"])
+ ("z=o" ["𐨭𐨸𐨆"])
+ ("z_=" ["𐨭𐨹𐨿𐨸"])
+ ("z_=a" ["𐨭𐨹𐨸"])
+ ("z_=i" ["𐨭𐨹𐨸𐨁"])
+ ("z_=u" ["𐨭𐨹𐨸𐨂"])
+ ("z_=R" ["𐨭𐨹𐨸𐨃"])
+ ("z_=e" ["𐨭𐨹𐨸𐨅"])
+ ("z_=o" ["𐨭𐨹𐨸𐨆"])
+
+ ("S" ["𐨮𐨿"])
+ ("Sa" ["𐨮"])
+ ("Si" ["𐨮𐨁"])
+ ("Su" ["𐨮𐨂"])
+ ("SR" ["𐨮𐨃"])
+ ("Se" ["𐨮𐨅"])
+ ("So" ["𐨮𐨆"])
+ ("S_" ["𐨮𐨹𐨿"])
+ ("S_a" ["𐨮𐨹"])
+ ("S_i" ["𐨮𐨹𐨁"])
+ ("S_u" ["𐨮𐨹𐨂"])
+ ("S_R" ["𐨮𐨹𐨃"])
+ ("S_e" ["𐨮𐨹𐨅"])
+ ("S_o" ["𐨮𐨹𐨆"])
+ ("S=" ["𐨮𐨿𐨸"])
+ ("S=a" ["𐨮𐨸"])
+ ("S=i" ["𐨮𐨸𐨁"])
+ ("S=u" ["𐨮𐨸𐨂"])
+ ("S=R" ["𐨮𐨸𐨃"])
+ ("S=e" ["𐨮𐨸𐨅"])
+ ("S=o" ["𐨮𐨸𐨆"])
+ ("S_=" ["𐨮𐨹𐨿𐨸"])
+ ("S_=a" ["𐨮𐨹𐨸"])
+ ("S_=i" ["𐨮𐨹𐨸𐨁"])
+ ("S_=u" ["𐨮𐨹𐨸𐨂"])
+ ("S_=R" ["𐨮𐨹𐨸𐨃"])
+ ("S_=e" ["𐨮𐨹𐨸𐨅"])
+ ("S_=o" ["𐨮𐨹𐨸𐨆"])
+
+ ("s" ["𐨯𐨿"])
+ ("sa" ["𐨯"])
+ ("si" ["𐨯𐨁"])
+ ("su" ["𐨯𐨂"])
+ ("sR" ["𐨯𐨃"])
+ ("se" ["𐨯𐨅"])
+ ("so" ["𐨯𐨆"])
+ ("s_" ["𐨯𐨹𐨿"])
+ ("s_a" ["𐨯𐨹"])
+ ("s_i" ["𐨯𐨹𐨁"])
+ ("s_u" ["𐨯𐨹𐨂"])
+ ("s_R" ["𐨯𐨹𐨃"])
+ ("s_e" ["𐨯𐨹𐨅"])
+ ("s_o" ["𐨯𐨹𐨆"])
+ ("s=" ["𐨯𐨿𐨸"])
+ ("s=a" ["𐨯𐨸"])
+ ("s=i" ["𐨯𐨸𐨁"])
+ ("s=u" ["𐨯𐨸𐨂"])
+ ("s=R" ["𐨯𐨸𐨃"])
+ ("s=e" ["𐨯𐨸𐨅"])
+ ("s=o" ["𐨯𐨸𐨆"])
+ ("s_=" ["𐨯𐨹𐨿𐨸"])
+ ("s_=a" ["𐨯𐨹𐨸"])
+ ("s_=i" ["𐨯𐨹𐨸𐨁"])
+ ("s_=u" ["𐨯𐨹𐨸𐨂"])
+ ("s_=R" ["𐨯𐨹𐨸𐨃"])
+ ("s_=e" ["𐨯𐨹𐨸𐨅"])
+ ("s_=o" ["𐨯𐨹𐨸𐨆"])
+
+ ("h" ["𐨱𐨿"])
+ ("ha" ["𐨱"])
+ ("hi" ["𐨱𐨁"])
+ ("hu" ["𐨱𐨂"])
+ ("hR" ["𐨱𐨃"])
+ ("he" ["𐨱𐨅"])
+ ("ho" ["𐨱𐨆"])
+ ("h_" ["𐨱𐨹𐨿"])
+ ("h_a" ["𐨱𐨹"])
+ ("h_i" ["𐨱𐨹𐨁"])
+ ("h_u" ["𐨱𐨹𐨂"])
+ ("h_R" ["𐨱𐨹𐨃"])
+ ("h_e" ["𐨱𐨹𐨅"])
+ ("h_o" ["𐨱𐨹𐨆"])
+ ("h=" ["𐨱𐨿𐨸"])
+ ("h=a" ["𐨱𐨸"])
+ ("h=i" ["𐨱𐨸𐨁"])
+ ("h=u" ["𐨱𐨸𐨂"])
+ ("h=R" ["𐨱𐨸𐨃"])
+ ("h=e" ["𐨱𐨸𐨅"])
+ ("h=o" ["𐨱𐨸𐨆"])
+ ("h_=" ["𐨱𐨹𐨿𐨸"])
+ ("h_=a" ["𐨱𐨹𐨸"])
+ ("h_=i" ["𐨱𐨹𐨸𐨁"])
+ ("h_=u" ["𐨱𐨹𐨸𐨂"])
+ ("h_=R" ["𐨱𐨹𐨸𐨃"])
+ ("h_=e" ["𐨱𐨹𐨸𐨅"])
+ ("h_=o" ["𐨱𐨹𐨸𐨆"])
+
+ ("k'" ["𐨲𐨿"])
+ ("k'a" ["𐨲"])
+ ("k'i" ["𐨲𐨁"])
+ ("k'u" ["𐨲𐨂"])
+ ("k'R" ["𐨲𐨃"])
+ ("k'e" ["𐨲𐨅"])
+ ("k'o" ["𐨲𐨆"])
+ ("k'_" ["𐨲𐨹𐨿"])
+ ("k'_a" ["𐨲𐨹"])
+ ("k'_i" ["𐨲𐨹𐨁"])
+ ("k'_u" ["𐨲𐨹𐨂"])
+ ("k'_R" ["𐨲𐨹𐨃"])
+ ("k'_e" ["𐨲𐨹𐨅"])
+ ("k'_o" ["𐨲𐨹𐨆"])
+ ("k'=" ["𐨲𐨿𐨸"])
+ ("k'=a" ["𐨲𐨸"])
+ ("k'=i" ["𐨲𐨸𐨁"])
+ ("k'=u" ["𐨲𐨸𐨂"])
+ ("k'=R" ["𐨲𐨸𐨃"])
+ ("k'=e" ["𐨲𐨸𐨅"])
+ ("k'=o" ["𐨲𐨸𐨆"])
+ ("k'_=" ["𐨲𐨹𐨿𐨸"])
+ ("k'_=a" ["𐨲𐨹𐨸"])
+ ("k'_=i" ["𐨲𐨹𐨸𐨁"])
+ ("k'_=u" ["𐨲𐨹𐨸𐨂"])
+ ("k'_=R" ["𐨲𐨹𐨸𐨃"])
+ ("k'_=e" ["𐨲𐨹𐨸𐨅"])
+ ("k'_=o" ["𐨲𐨹𐨸𐨆"])
+
+ ("T'" ["𐨴𐨿"])
+ ("T'a" ["𐨴"])
+ ("T'i" ["𐨴𐨁"])
+ ("T'u" ["𐨴𐨂"])
+ ("T'R" ["𐨴𐨃"])
+ ("T'e" ["𐨴𐨅"])
+ ("T'o" ["𐨴𐨆"])
+ ("T'_" ["𐨴𐨹𐨿"])
+ ("T'_a" ["𐨴𐨹"])
+ ("T'_i" ["𐨴𐨹𐨁"])
+ ("T'_u" ["𐨴𐨹𐨂"])
+ ("T'_R" ["𐨴𐨹𐨃"])
+ ("T'_e" ["𐨴𐨹𐨅"])
+ ("T'_o" ["𐨴𐨹𐨆"])
+ ("T'=" ["𐨴𐨿𐨸"])
+ ("T'=a" ["𐨴𐨸"])
+ ("T'=i" ["𐨴𐨸𐨁"])
+ ("T'=u" ["𐨴𐨸𐨂"])
+ ("T'=R" ["𐨴𐨸𐨃"])
+ ("T'=e" ["𐨴𐨸𐨅"])
+ ("T'=o" ["𐨴𐨸𐨆"])
+ ("T'_=" ["𐨴𐨹𐨿𐨸"])
+ ("T'_=a" ["𐨴𐨹𐨸"])
+ ("T'_=i" ["𐨴𐨹𐨸𐨁"])
+ ("T'_=u" ["𐨴𐨹𐨸𐨂"])
+ ("T'_=R" ["𐨴𐨹𐨸𐨃"])
+ ("T'_=e" ["𐨴𐨹𐨸𐨅"])
+ ("T'_=o" ["𐨴𐨹𐨸𐨆"])
+
+ ("Th'" ["𐨳𐨿"])
+ ("Th'a" ["𐨳"])
+ ("Th'i" ["𐨳𐨁"])
+ ("Th'u" ["𐨳𐨂"])
+ ("Th'R" ["𐨳𐨃"])
+ ("Th'e" ["𐨳𐨅"])
+ ("Th'o" ["𐨳𐨆"])
+ ("Th'_" ["𐨳𐨹𐨿"])
+ ("Th'_a" ["𐨳𐨹"])
+ ("Th'_i" ["𐨳𐨹𐨁"])
+ ("Th'_u" ["𐨳𐨹𐨂"])
+ ("Th'_R" ["𐨳𐨹𐨃"])
+ ("Th'_e" ["𐨳𐨹𐨅"])
+ ("Th'_o" ["𐨳𐨹𐨆"])
+ ("Th'=" ["𐨳𐨿𐨸"])
+ ("Th'=a" ["𐨳𐨸"])
+ ("Th'=i" ["𐨳𐨸𐨁"])
+ ("Th'=u" ["𐨳𐨸𐨂"])
+ ("Th'=R" ["𐨳𐨸𐨃"])
+ ("Th'=e" ["𐨳𐨸𐨅"])
+ ("Th'=o" ["𐨳𐨸𐨆"])
+ ("Th'_=" ["𐨳𐨹𐨿𐨸"])
+ ("Th'_=a" ["𐨳𐨹𐨸"])
+ ("Th'_=i" ["𐨳𐨹𐨸𐨁"])
+ ("Th'_=u" ["𐨳𐨹𐨸𐨂"])
+ ("Th'_=R" ["𐨳𐨹𐨸𐨃"])
+ ("Th'_=e" ["𐨳𐨹𐨸𐨅"])
+ ("Th'_=o" ["𐨳𐨹𐨸𐨆"])
+
+ ("vh" ["𐨵𐨿"])
+ ("vha" ["𐨵"])
+ ("vhi" ["𐨵𐨁"])
+ ("vhu" ["𐨵𐨂"])
+ ("vhR" ["𐨵𐨃"])
+ ("vhe" ["𐨵𐨅"])
+ ("vho" ["𐨵𐨆"])
+ ("vh_" ["𐨵𐨹𐨿"])
+ ("vh_a" ["𐨵𐨹"])
+ ("vh_i" ["𐨵𐨹𐨁"])
+ ("vh_u" ["𐨵𐨹𐨂"])
+ ("vh_R" ["𐨵𐨹𐨃"])
+ ("vh_e" ["𐨵𐨹𐨅"])
+ ("vh_o" ["𐨵𐨹𐨆"])
+ ("vh=" ["𐨵𐨿𐨸"])
+ ("vh=a" ["𐨵𐨸"])
+ ("vh=i" ["𐨵𐨸𐨁"])
+ ("vh=u" ["𐨵𐨸𐨂"])
+ ("vh=R" ["𐨵𐨸𐨃"])
+ ("vh=e" ["𐨵𐨸𐨅"])
+ ("vh=o" ["𐨵𐨸𐨆"])
+ ("vh_=" ["𐨵𐨹𐨿𐨸"])
+ ("vh_=a" ["𐨵𐨹𐨸"])
+ ("vh_=i" ["𐨵𐨹𐨸𐨁"])
+ ("vh_=u" ["𐨵𐨹𐨸𐨂"])
+ ("vh_=R" ["𐨵𐨹𐨸𐨃"])
+ ("vh_=e" ["𐨵𐨹𐨸𐨅"])
+ ("vh_=o" ["𐨵𐨹𐨸𐨆"])
+
+ ("M" ?𐨎)
+ ("H" ?𐨏)
+ ("\\" ?𐨌)
+ (";;" ?𐨍)
+
+ ("1" ?𐩀)
+ ("2" ?𐩁)
+ ("3" ?𐩂)
+ ("4" ?𐩃)
+ ("10" ?𐩄)
+ ("20" ?𐩅)
+ ("100" ?𐩆)
+ ("1000" ?𐩇)
+
+ (".." ?𐩐)
+ (".o" ?𐩑)
+ (".O" ?𐩒)
+ (".E" ?𐩓)
+ (".X" ?𐩔)
+ (".L" ?𐩕)
+ (".|" ?𐩖)
+ (".||" ?𐩗)
+ (".=" ?𐩘))
+
+(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" "‰")