shavian-input-method

Shavian input method for Emacs
git clone https://git.jamzattack.xyz/shavian-input-method.git
Log | Files | Refs | LICENSE

shavian-input-method.el (2261B)


      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: 2020.11.16
      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 nil
     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