shavian-input-method.el (2272B)
1 ;;; shavian-input-method.el --- Shavian input method -*- lexical-binding: t; -*- 2 3 ;; Copyright (C) 2020 Jamie Beardslee 4 5 ;; Author: Jamie Beardslee <jdb@jamzattack.xyz> 6 ;; Version: 2021.08.25 7 ;; URL: https://git.jamzattack.xyz/shavian-input-method 8 ;; Package-Requires: ((emacs "24.1")) 9 ;; Keywords: i18n 10 11 ;; This program is free software; you can redistribute it and/or modify 12 ;; it under the terms of the GNU General Public License as published by 13 ;; the Free Software Foundation, either version 3 of the License, or 14 ;; (at your option) any later version. 15 16 ;; This program is distributed in the hope that it will be useful, 17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 ;; GNU General Public License for more details. 20 21 ;; You should have received a copy of the GNU General Public License 22 ;; along with this program. If not, see <https://www.gnu.org/licenses/>. 23 24 ;;; Commentary: 25 26 ;; Entirely based on https://gitlab.com/endomain/xkb-shavian-variant/ 27 ;; https://shavian.weebly.com/uploads/1/0/2/1/10212142/484851_orig.png 28 29 ;; I can't even read shavian, so I don't know if this works right... 30 31 ;; According to this page, this is the most common layout: 32 ;; https://shavian.weebly.com/typing-6664166674666406666266649.html 33 34 ;;; Code: 35 36 (require 'quail) 37 38 (quail-define-package 39 "shavian" "Shavian" "๐" nil 40 "Shavian input method" nil 41 :forget-last-selection nil :kbd-translate 42 :show-layout nil nil nil nil nil :simple) 43 44 (quail-define-rules 45 ("M" ?๐ต) 46 ("m" ?๐ฅ) 47 ("N" ?๐) 48 ("n" ?๐ฏ) 49 ("B" ?๐) 50 ("b" ?๐) 51 ("V" ?๐ฟ) 52 ("v" ?๐) 53 ("C" ?๐ฝ) 54 ("c" ?๐) 55 ("X" ?๐บ) 56 ("x" ?๐ป) 57 ("Z" ?๐ ) 58 ("z" ?๐) 59 ("L" ?๐ค) 60 ("l" ?๐ค) 61 ("K" ?๐) 62 ("k" ?๐) 63 ("J" ?๐ก) 64 ("j" ?๐) 65 ("H" ?๐) 66 ("h" ?๐ฃ) 67 ("G" ?ยท) 68 ("g" ?๐) 69 ("F" ?๐ฒ) 70 ("f" ?๐) 71 ("D" ?๐ผ) 72 ("d" ?๐) 73 ("S" ?๐) 74 ("s" ?๐) 75 ("A" ?๐จ) 76 ("a" ?๐ฉ) 77 ("P" ?๐น) 78 ("p" ?๐) 79 ("O" ?๐ด) 80 ("o" ?๐ช) 81 ("I" ?๐ฐ) 82 ("i" ?๐ฆ) 83 ("U" ?๐ซ) 84 ("u" ?๐ณ) 85 ("Y" ?๐ท) 86 ("y" ?๐ญ) 87 ("T" ?๐) 88 ("t" ?๐) 89 ("R" ?๐ธ) 90 ("r" ?๐ฎ) 91 ("E" ?๐ฑ) 92 ("e" ?๐ง) 93 ("W" ?๐พ) 94 ("w" ?๐ข) 95 ("Q" ?๐ฌ) 96 ("q" ?๐ถ)) 97 98 (provide 'shavian-input-method) 99 ;;; shavian-input-method.el ends here