From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mohsen BANAN Newsgroups: gmane.emacs.devel,gmane.emacs.bidi Subject: Persian/Farsi Transliteration Input Method for emacs24 -- quail-persian-translit.el Date: Tue, 26 Apr 2011 00:56:20 -0700 Organization: ByStar Federation of Autonomous Libre Services -- http://www.by-star.net Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1303836018 22722 80.91.229.12 (26 Apr 2011 16:40:18 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 26 Apr 2011 16:40:18 +0000 (UTC) Cc: Eli Zaretskii To: emacs-bidi@gnu.org, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Apr 26 18:40:13 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QElJ1-0007eC-PQ for ged-emacs-devel@m.gmane.org; Tue, 26 Apr 2011 18:40:07 +0200 Original-Received: from localhost ([::1]:35649 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QElJ1-0005g7-8e for ged-emacs-devel@m.gmane.org; Tue, 26 Apr 2011 12:40:07 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:40085) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QEd8I-0002bJ-Gd for emacs-devel@gnu.org; Tue, 26 Apr 2011 03:56:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QEd89-0004Lt-UC for emacs-devel@gnu.org; Tue, 26 Apr 2011 03:56:30 -0400 Original-Received: from 0016.bacs.by-star.net ([198.62.92.166]:45290) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1QEd89-0004LP-KA for emacs-devel@gnu.org; Tue, 26 Apr 2011 03:56:21 -0400 Original-Received: (qmail 11141 invoked from network); 26 Apr 2011 00:52:14 -0700 Original-Received: from 192.168.0.187 ([192.168.0.187]) by 0016.bacs.by-star.net ([198.62.92.166]) with ESMTP via TCP; 26 Apr 2011 07:52:14 -0000 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 198.62.92.166 X-Mailman-Approved-At: Tue, 26 Apr 2011 12:40:04 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:138793 gmane.emacs.bidi:878 Archived-At: 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 ;; Keywords: input method, Farsi, Persian, transliteration ;; ;; 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: ;;; This is a persian/farsi transliteration keyboard designed=20 ;;; for people who: ;;; - Know how to write in farsi ;;; - Are comfortable with the qwerty keyboard=20 ;;; - Are familiar with two letter phoentic mapping to persian characters ;;; (e.g.: gh, kh, ch, sh, zh) ;;;=20=20 ;;; This translit keyboard is designed to be intuitive such that=20 ;;; 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" "=D9=BE" t "Intuitively transliterated keyboard layout for persian/farsi. " nil t t t t nil nil nil nil nil t) (quail-define-rules ("a" ?=D8=A7) ("A" ?=D8=A2) ;; alef madde=20=20 ("#" ?=D9=8B) ;; ("ah" ? =D9=8B) ;; =D8=A7=D9=8B tanvin nasb=20=20=09 ("b" ?=D8=A8) ("p" ?=D9=BE) ("t" ?=D8=AA) ("c" ?=D8=AB) ("j" ?=D8=AC) ("ch" ?=DA=86) ("hh" ?=D8=AD) ("kh" ?=D8=AE) ("d" ?=D8=AF) ("Z" ?=D8=B0) ("r" ?=D8=B1) ("z" ?=D8=B2) ("zh" ?=DA=98) ("s" ?=D8=B3) ("sh" ?=D8=B4) ("S" ?=D8=B5) ("x" ?=D8=B6) ("T" ?=D8=B7) ("X" ?=D8=B8) ("w" ?=D8=B9) ("Q" ?=D8=BA) ("f" ?=D9=81) ("q" ?=D9=82) ("gh" ?=D9=82) ("k" ?=DA=A9) ("K" ?=D9=83) ;; Arabic kaf ("g" ?=DA=AF) ("l" ?=D9=84) ("lh" ?=EF=BB=BB) ("m" ?=D9=85) ("n" ?=D9=86) ("v" ?=D9=88) ("u" ?=D9=88) ("H" ?=D9=87) ("h" ?=D9=87) ("th" ?=D8=A9) ;; ta marbuteh ("yh" ?=DB=80) ;; he ye ("y" ?=D9=89) ("i" ?=D9=8A) ("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) ("~" ?=D9=91) ;; tashdid ("e" ?=D9=90) ;; zir=20=20=20 ("E" ?=D9=8D) ;; eizan ("^" ?=D9=8E) ;; zbar ("o" ?=D9=8F) ;; peesh ("?" ?=D8=9F) ;; alamat soal=20 ("$" ?=D8=A1) ;; hamzeh ("%" ?=C3=B7) ;; ("*" ?=C3=97) ;; (";" ?=D8=9B) ;; (",h" ?=D8=8C) ;; farsi=20 (",h" ?,) ;; latin ("." ?.) ;; ("_" ?=D9=80) ;;=20 ) (provide 'quail-persian-translit) ;;; quail-persian-translit.el ends here