Persian/Farsi Keyboard Input Method for emacs24 -- quail-persian-isiri9147.el
Mohsen BANAN <[email protected]> Tue, 26 Apr 2011 00:56:27 -0700
| Newsgroups | gmane.emacs.devel,gmane.emacs.bidi |
|---|---|
| Organization | ByStar Federation of Autonomous Libre Services -- http://www.by-star.net |
| Message-ID | <[email protected]> |
Attached below is a quail file that I have developed for Persian/Farsi keybaord input. I'd like for it to become part of emacs24. Would you kindly please include it in emacs? Thanks. ...Mohsen ;;; quail-persian-isiri9147.el --- Quail package for inputting Persian/Far= si keyboard -*- coding: utf-8;-*- ;; Author: Mohsen BANAN <[email protected]> ;; Keywords: input method, Farsi, Persian, keyboard ;; ;; This is a Halaal Poly-Existential intended to remain perpetually Halaal.= =20 ;; ;; Copyleft Mohsen BANAN -- Subject to GPLv3. ;;=20 ;; The author wishes for this file to become part of emacs24=20 ;; and is happy to transfer copyright to FSF as needed. ;; ;;; Commentary: ;; ;; The keyboard mapping defined here is based on: ;; ;; Institute of Standards and Industrial Research of Iran ;; Information Technology =E2=80=93 Layout of Persian Letters and Symbols= on Computer Keyboards ;; ISIRI 9147 ;; http://www.isiri.org/UserStd/DownloadStd.aspx?id=3D9147 ;; ;; The mappings here have not been adequately tested yet. ;; At this time. this is intended to be a starting point. ;; ;; ;;; ;;; Code: (require 'quail) (quail-define-package "farsi" "Farsi" " =D9=81" nil "Farsi input method. Based on Farsi table in X Keyboard Configuration DB. " nil t t t t nil nil nil nil nil t) ;; =D8=B0=D9=91 1! 2@ 3# 4$ 5% 6^ 7& 8* 9) 0( -_ =3D+ ;; =D8=B6=D9=8E =D8=B5=D9=8B =D8=AB=D9=8F =D9=82=D9=8C =D9=81=EF=BB=B9= =D8=BA=D8=A5 =D8=B9` =D9=87=C3=B7 =D8=AE=C3=97 =D8=AD=D8=9B =D8=AC< =D8=AF= > <> ;; =D8=B4=D9=90 =D8=B3=D9=8D =D9=8A] =D8=A8[ =D9=84=EF=BB=B7 =D8=A7= =D8=A3 =D8=AA=D9=80 =D9=86=D8=8C =D9=85/ =D9=83: =D8=B7" ;; =D8=A6~ =D8=A1=D9=92 =D8=A4} =D8=B1{ =EF=BB=BB=EF=BB=B5 =D9=89=D8= =A2 =D8=A9' =D9=88, =D8=B2. =D8=B8=D8=9F ;; (quail-define-rules ("`" ?=D8=B0) ("~" ?=D9=91) ("Q" ?=D9=8E) ("W" ?=D9=8B) ("E" ?=D9=8F) ("R" ?=D9=8C) ("T" ["=D9=84=D8=A5"]) ("Y" ?=D8=A5) ("U" ?`) ("I" ?=C3=B7) ("O" ?=C3=97) ("P" ?=D8=9B) ("{" ?<) ("}" ?>) ("A" ?=D9=90) ("S" ?=D9=8D) ("D" ?\]) ("F" ?\[) ("G" ["=D9=84=D8=A3"]) ("H" ?=D8=A3) ("J" ?=D9=80) ("K" ?=D8=8C) ("L" ?/) ("Z" ?~) ("X" ?=D9=92) ("C" ?}) ("V" ?{) ("B" ["=D9=84=D8=A2"]) ("N" ?=D8=A2) ("M" ?') ("<" ?,) (">" ?.) ("?" ?=D8=9F) ("q" ?=D8=B6) ("w" ?=D8=B5) ("e" ?=D8=AB) ("r" ?=D9=82) ("t" ?=D9=81) ("y" ?=D8=BA) ("u" ?=D8=B9) ("i" ?=D9=87) ("o" ?=D8=AE) ("p" ?=D8=AD) ("[" ?=D8=AC) ("]" ?=D8=AF) ("a" ?=D8=B4) ("s" ?=D8=B3) ("d" ?=D9=8A) ("f" ?=D8=A8) ("g" ?=D9=84) ("h" ?=D8=A7) ("j" ?=D8=AA) ("k" ?=D9=86) ("l" ?=D9=85) (";" ?=D9=83) ("'" ?=D8=B7) ("z" ?=D8=A6) ("x" ?=D8=A1) ("c" ?=D8=A4) ("v" ?=D8=B1) ("b" ["=D9=84=D8=A7"]) ("n" ?=D9=89) ("m" ?=D8=A9) ("," ?=D9=88) ("." ?=D8=B2) ("/" ?=D8=B8) ("1" ?=DB=B1) ("2" ?=DB=B2) ("3" ?=DB=B3) ("4" ?=DB=B4) ("5" ?=DB=B5) ("6" ?=DB=B6) ("7" ?=DB=B7) ("8" ?=DB=B8) ("9" ?=DB=B9) ("0" ?=DB=B0) ) (provide 'quail-persian-isiri9147) ;;; quail-persian-isiri9147.el