emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Persian/Farsi Transliteration Input Method for emacs24 -- quail-persian-


From: Mohsen BANAN
Subject: Persian/Farsi Transliteration Input Method for emacs24 -- quail-persian-translit.el
Date: Tue, 26 Apr 2011 00:56:20 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Attached below is a quail file that I have
developed and have been using for a while.

It is a transliteration input method for
Persian/Farsi.

I'd like for it to become part of emacs24.

Would you kindly please include it in emacs?

Thanks.

...Mohsen

;;; quail-persian-translit.el --- Quail package for inputting Persian/Farsi 
transliteration     -*- coding: utf-8;-*-

;; Author: Mohsen BANAN  <address@hidden>
;; Keywords: input method, Farsi, Persian, transliteration

;;
;; This is a Halaal Poly-Existential intended to remain perpetually Halaal. 
;;
;; Copyleft Mohsen BANAN -- Subject to GPLv3.
;; 
;; The author wishes for this file to become part of emacs24 
;; and is happy to transfer copyright to FSF as needed.
;;

;;; Commentary:
;;;  This is a persian/farsi transliteration keyboard designed 
;;;  for people who:
;;;   - Know how to write in farsi
;;;   - Are comfortable with the qwerty keyboard 
;;;   - Are familiar with two letter phoentic mapping to persian characters
;;;     (e.g.: gh, kh, ch, sh, zh)
;;;  
;;;  This translit keyboard is designed to be intuitive such that 
;;;  mapping are easy and natural to remember for a persian writer.
;;;  For some persian characters there are multiple ways of inputing
;;;  the same character.
;;;

;;; Code:

(require 'quail)

(quail-define-package
 "farsi-translit" "Farsi" "پ" t
 "Intuitively transliterated keyboard layout for persian/farsi.
" nil t t t t nil nil nil nil nil t)

(quail-define-rules
 ("a"  ?ا)
 ("A"  ?آ)  ;; alef madde  
 ("#"  ?ً)  ;; ("ah" ? ً)   ;; اً tanvin nasb   
 ("b"  ?ب)
 ("p"  ?پ)
 ("t"  ?ت)
 ("c"  ?ث)
 ("j"  ?ج)
 ("ch" ?چ)
 ("hh" ?ح)
 ("kh" ?خ)
 ("d"  ?د)
 ("Z"  ?ذ)
 ("r"  ?ر)
 ("z"  ?ز)
 ("zh" ?ژ)
 ("s"  ?س)
 ("sh" ?ش)
 ("S"  ?ص)
 ("x"  ?ض)
 ("T"  ?ط)
 ("X"  ?ظ)
 ("w"  ?ع)
 ("Q"  ?غ)
 ("f"  ?ف)
 ("q"  ?ق)
 ("gh" ?ق)
 ("k"  ?ک)
 ("K"  ?ك)  ;;  Arabic kaf
 ("g"  ?گ)
 ("l"  ?ل)
  ("lh" ?ﻻ)
 ("m"  ?م)
 ("n"  ?ن)
 ("v"  ?و)
 ("u"  ?و)
 ("H"  ?ه)
 ("h"  ?ه)
 ("th" ?ة)  ;; ta marbuteh
 ("yh" ?ۀ)  ;; he ye
 ("y"  ?ى)
 ("i"  ?ي)

 ("1"  ?۱)
 ("2"  ?۲)
 ("3"  ?۳)
 ("4"  ?۴)
 ("5"  ?۵)
 ("6"  ?۶)
 ("7"  ?۷)
 ("8"  ?۸)
 ("9"  ?۹)
 ("0"  ?۰)

 ("~"  ?ّ)  ;; tashdid
 ("e"  ?ِ)  ;; zir   
 ("E"  ?ٍ)  ;; eizan
 ("^"  ?َ)  ;; zbar
 ("o"  ?ُ)  ;; peesh
 ("?"  ?؟)  ;; alamat soal 
 ("$"  ?ء)  ;; hamzeh
 ("%"  ?÷)  ;;
 ("*"  ?×)  ;;
 (";"  ?؛)  ;;
 (",h" ?،)  ;; farsi 
 (",h" ?,)  ;; latin
 ("."  ?.)  ;;
 ("_"  ?ـ)  ;; 
)

(provide 'quail-persian-translit)

;;; quail-persian-translit.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]