;;; arabic.el --- quail package for Arabic script -*- coding: utf-8; -*- ;; Copyright (C) 2002 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO023 ;; Author: TAKAHASHI Naoto ;; Keywords: multilingual, input method, Arabic, Persian, Kazakh ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Commentary: ;; The quail packages in this file insert only base characters ;; (U+0600..U+06FF). ;;; Code: (require 'quail) (quail-define-package "arabic" "Arabic" "ض" t "KEYBOARD LAYOUT --------------- Arabic mappings based on MS Arabic Windows keyboard. +---------------------------------------------------------------------+ |! |@ |# |$ |% |^ |& |* |( |) |_ |+ || |~ ّ | |1 ١ |2 ٢ |3 ٣ |4 ٤ |5 ٥ |6 ٦ |7 ٧ |8 ٨ |9 ٩ |0 ٠ |- |= |\\ |` ذ | +---------------------------------------------------------------------+ |Q َ |W ً |E ُ |R ٌ |T لإ |Y إ |U ` |I ÷ |O × |P ؛ |{ < |} > | |q ض |w ص |e ث |r ق |t ف |y غ |u ع |i ه |o خ |p ح |[ ج |] د | +-----------------------------------------------------------+ |A ِ |S ٍ |D [ |F ] |G لأ |H أ |J ـ |K ، |L / |: |\" | |a ش |s س |d ي |f ب |g ل |h ا |j ت |k ن |l م |; ك |' ط | +------------------------------------------------------+ |Z ~ |X ْ |C { |V } |B لآ |N آ |M ' |< , |> . |? ؟ | |z ئ |x ء |c ؤ |v ر |b لا |n ى |m ة |, و |. ز |/ ظ | +-------------------------------------------------+" nil t t) (quail-define-rules ("1" ?١) ("2" ?٢) ("3" ?٣) ("4" ?٤) ("5" ?٥) ("6" ?٦) ("7" ?٧) ("8" ?٨) ("9" ?٩) ("0" ?٠) ("`" ?ذ) ("q" ?ض) ("w" ?ص) ("e" ?ث) ("r" ?ق) ("t" ?ف) ("y" ?غ) ("u" ?ع) ("i" ?ه) ("o" ?خ) ("p" ?ح) ("[" ?ج) ("]" ?د) ("a" ?ش) ("s" ?س) ("d" ?ي) ("f" ?ب) ("g" ?ل) ("h" ?ا) ("j" ?ت) ("k" ?ن) ("l" ?م) (";" ?ك) ("'" ?ط) ("z" ?ئ) ("x" ?ء) ("c" ?ؤ) ("v" ?ر) ("b" ["لا"]) ("n" ?ى) ("m" ?ة) ("," ?و) ("." ?ز) ("/" ?ظ) ("~" ?ّ) ("Q" ?َ) ("W" ?ً) ("E" ?ُ) ("R" ?ٌ) ("T" ["لإ"]) ("Y" ?إ) ("U" ?`) ("I" ?÷) ("O" ?×) ("P" ?؛) ("{" ?<) ("}" ?>) ("A" ?ِ) ("S" ?ٍ) ("D" ?[) ("F" ?]) ("G" ["لأ"]) ("H" ?أ) ("J" ?ـ) ("K" ?،) ("L" ?/) ("Z" ?~) ("X" ?ْ) ("C" ?{) ("V" ?}) ("B" ["لآ"]) ("N" ?آ) ("M" ?') ("<" ?,) (">" ?.) ("?" ?؟) ) (quail-define-package "arabic-translit" "Arabic" "AR" t " A transliterated input method for Arabic a la ArabTeX. Arabic alphabet: a b t _t ^g .h _h d _d r z s ^s .s .d .t .z ` .g f q k l m n h w y ' hamza _A alef maksura T teh marbuta ^A alef with madda above a' alef with hamza above a'' alef with hamza below w' waw with hamza above ~A fathatan ~U dammatan ~I kasratan ~a fatha ~u damma ~i kasra ~~ shadda ~. sukun" nil t t) (quail-define-rules ("," ?،) (";" ?؛) ("?" ?؟) ("'" ?ء) ("^A" ?آ) ("a'" ?أ) ("w'" ?ؤ) ("w''" ["وء"]) ("a''" ?إ) ("a'''" ["اء"]) ("y'" ?ئ) ("y''" ["يء"]) ("a" ?ا) ("b" ?ب) ("T" ?ة) ("t" ?ت) ("_t" ?ث) ("^g" ?ج) (".h" ?ح) ("_h" ?خ) ("d" ?د) ("_d" ?ذ) ("r" ?ر) ("z" ?ز) ("s" ?س) ("^s" ?ش) (".s" ?ص) (".d" ?ض) (".t" ?ط) (".z" ?ظ) ("`" ?ع) (".g" ?غ) ("f" ?ف) ("q" ?ق) ("k" ?ك) ("l" ?ل) ("m" ?م) ("n" ?ن) ("h" ?ه) ("w" ?و) ("y" ?ي) ("_A" ?ى) ("~A" ?ً) ("~U" ?ٌ) ("~I" ?ٍ) ("~a" ?َ) ("~u" ?ُ) ("~i" ?ِ) ("~~" ?ّ) ("~." ?ْ) ("0" ?٠) ("1" ?١) ("2" ?٢) ("3" ?٣) ("4" ?٤) ("5" ?٥) ("6" ?٦) ("7" ?٧) ("8" ?٨) ("9" ?٩) ) ;;; (quail-define-package "persian-isiri2901" "Persian" "FI" t " +---------------------------------------------------------------------+ |! |@ ٬ |# ٫ |$ |% ٪ |^ × |& ، |* |( |) |_ |+ || |~ | |1 ۱ |2 ۲ |3 ۳ |4 ۴ |5 ۵ |6 ۶ |7 ۷ |8 ۸ |9 ۹ |0 ۰ |- |= |\ |` | +---------------------------------------------------------------------+ |Q ْ |W ٌ |E ٍ |R ً |T ُ |Y ِ |U َ |I ّ |O [ |P ] |{ |} | |q ض |w ص |e ث |r ق |t ف |y غ |u ع |i ه |o خ |p ح |[ ج |] چ | +-----------------------------------------------------------+ |A ؤ |S ئ |D ي |F إ |G أ |H آ |J ة |K « |L » |: |\" ؛ | |a ش |s س |d ی |f ب |g ل |h ا |j ت |k ن |l م |; ک |' گ | +------------------------------------------------------+ |Z ك |X |C ژ |V |B |N |M ء |< |> |? ؟ | |z ظ |x ط |c ز |v ر |b ذ |n د |m پ |, و |. |/ | +-------------------------------------------------+ zero width joiner = ` zero width non-joiner = B" nil t t) (quail-define-rules ("1" ?۱) ("2" ?۲) ("3" ?۳) ("4" ?۴) ("5" ?۵) ("6" ?۶) ("7" ?۷) ("8" ?۸) ("9" ?۹) ("0" ?۰) ("`" ?‍) ; zero width joiner ("q" ?ض) ("w" ?ص) ("e" ?ث) ("r" ?ق) ("t" ?ف) ("y" ?غ) ("u" ?ع) ("i" ?ه) ("o" ?خ) ("p" ?ح) ("[" ?ج) ("]" ?چ) ("a" ?ش) ("s" ?س) ("d" ?ی) ("f" ?ب) ("g" ?ل) ("h" ?ا) ("j" ?ت) ("k" ?ن) ("l" ?م) (";" ?ک) ("'" ?گ) ("z" ?ظ) ("x" ?ط) ("c" ?ز) ("v" ?ر) ("b" ?ذ) ("n" ?د) ("m" ?پ) ("," ?و) ("@" ?٬) ("#" ?٫) ("%" ?٪) ("^" ?×) ("&" ?،) ("Q" ?ْ) ("W" ?ٌ) ("E" ?ٍ) ("R" ?ً) ("T" ?ُ) ("Y" ?ِ) ("U" ?َ) ("I" ?ّ) ("O" ?\[) ("P" ?\]) ("A" ?ؤ) ("S" ?ئ) ("D" ?ي) ("F" ?إ) ("G" ?أ) ("H" ?آ) ("J" ?ة) ("K" ?«) ("L" ?») ("\"" ?؛) ("Z" ?ك) ("C" ?ژ) ("B" ?‌) ; zero width non joiner ("M" ?ء) ("?" ?؟) ) (quail-define-package "persian-translit" "Persian" "fa" t " An English-oriented transliterated input method for Persian. Most consonants have intuitive bindings. Possible exceptions: ch gives \u0686, cheh kh or x gives \u062e, khah j gives \u062c, jeem zh gives \u0698, zheh T gives \u0629, teh marbuta Vowels: A \u0622, alef with madda above A- \u0671, alef with wasla a' \u0623, alef with hamza above a'' \u0625, alef with hamza below w' \u0624, waw with hamza above Y \u0626, yeh with hamza above Harakāt (the vowel diacitics): ~A fathatan ~U dammatan ~I kasratan ~a fatha, zabar ~u damma, pesh ~i kasra, zer ~~ shadda ~. sukun" nil t) (quail-define-rules ("a" ?\u0627) ;; ARABIC LETTER ALEF ("b" ?\u0628) ;; ARABIC LETTER BEH ("p" ?\u067E) ;; ARABIC LETTER PEH ("t" ["\u062A" ;; ARABIC LETTER TEH "\u0637"]) ;; ARABIC LETTER TAH ("s" ["\u0633" ;; ARABIC LETTER SEEN "\u0635" ;; ARABIC LETTER SAD "\u062B"]) ;; ARABIC LETTER THEH ("j" ?\u062C) ;; ARABIC LETTER JEEM ("ch" ?\u0686) ;; ARABIC LETTER TCHEH ("h" ["\u0647" ;; ARABIC LETTER HEH "\u062D"]) ;; ARABIC LETTER HAH ("x" ?\u062E) ;; ARABIC LETTER KHAH ("kh" ?\u062E) ;; ARABIC LETTER KHAH ("d" ?\u062F) ;; ARABIC LETTER DAL ("r" ?\u0631) ;; ARABIC LETTER REH ("zh" ?\u0698) ;; ARABIC LETTER JEH ("sh" ?\u0634) ;; ARABIC LETTER SHEEN ("z" ["\u0632" ;; ARABIC LETTER ZAIN "\u0630" ;; ARABIC LETTER THAL "\u0636" ;; ARABIC LETTER DAD "\u0638"]) ;; ARABIC LETTER ZAH ("`" ?\u0639) ;; ARABIC LETTER AIN ("gh" ?\u063A) ;; ARABIC LETTER GHAIN ("f" ?\u0641) ;; ARABIC LETTER FEH ("q" ?\u0642) ;; ARABIC LETTER QAF ("k" ["\u06A9" ;; ARABIC LETTER KEHEH "\u0643"]) ;; ARABIC LETTER KAF ("g" ?\u06AF) ;; ARABIC LETTER GAF ("l" ?\u0644) ;; ARABIC LETTER LAM ("m" ?\u0645) ;; ARABIC LETTER MEEM ("n" ?\u0646) ;; ARABIC LETTER NOON ("v" ?\u0648) ;; ARABIC LETTER WAW ("w" ?\u0648) ;; ARABIC LETTER WAW ("v'" ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE ("w'" ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE ("v''" ["\u0648\u0621"]) ;; ARABIC LETTER WAW & ARABIC LETTER HAMZA ("w''" ["\u0648\u0621"]) ;; ARABIC LETTER WAW & ARABIC LETTER HAMZA ("i" ?\u0649) ;; ARABIC LETTER ALEF MAKSURA ("y" ["\u06CC" ;; ARABIC LETTER FARSI YEH "\u064A"]) ;; ARABIC LETTER YEH ("'" ?\u0621) ;; ARABIC LETTER HAMZA ("T" ?\u0629) ;; ARABIC LETTER TEH MARBUTA ("A" ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE ("A-" ?\u0671) ;; ARABIC LETTER ALEF WASLA ("Y" ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE ("a'" ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE ("a''" ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW ("~A" ?\u064B) ;; ARABIC FATHATAN ("~U" ?\u064C) ;; ARABIC DAMMATAN ("~I" ?\u064D) ;; ARABIC KASRATAN ("~a" ?\u064E) ;; ARABIC FATHA ("~u" ?\u064F) ;; ARABIC DAMMA ("~i" ?\u0650) ;; ARABIC KASRA ("~~" ?\u0651) ;; ARABIC SHADDA ("~." ?\u0652) ;; ARABIC SUKUN ("0" ?\u06F0) ;; EXTENDED ARABIC-INDIC DIGIT ZERO ("1" ?\u06F1) ;; EXTENDED ARABIC-INDIC DIGIT ONE ("2" ?\u06F2) ;; EXTENDED ARABIC-INDIC DIGIT TWO ("3" ?\u06F3) ;; EXTENDED ARABIC-INDIC DIGIT THREE ("4" ?\u06F4) ;; EXTENDED ARABIC-INDIC DIGIT FOUR ("5" ?\u06F5) ;; EXTENDED ARABIC-INDIC DIGIT FIVE ("6" ?\u06F6) ;; EXTENDED ARABIC-INDIC DIGIT SIX ("7" ?\u06F7) ;; EXTENDED ARABIC-INDIC DIGIT SEVEN ("8" ?\u06F8) ;; EXTENDED ARABIC-INDIC DIGIT EIGHT ("9" ?\u06F9) ;; EXTENDED ARABIC-INDIC DIGIT NINE (";" ?\u061B) ;; ARABIC SEMICOLON ("?" ?\u061F) ;; ARABIC QUESTION MARK ("." ?\u06D4) ;; ARABIC FULL STOP ("," ?\u060C)) ;; ARABIC COMMA ;;; (quail-define-package "kazakh-sample0" "Kazakh" "KK" t " Kazakh alphabet: a ;a b ~w g ` d o ^g z y k q l m n N w ;w p r s t ^w ,w :w f .h h ^c ^s _A I ;y " nil t t) (quail-define-rules ("a" ?ا) ; 0627 (";a" ?ٵ) ; 0675 ("b" ?ب) ; 0628 ("~w" ?ۆ) ; 06c6 ("g" ?گ) ; 06af ("`" ?ع) ; 0639 ("d" ?د) ; 062f ("o" ?ە) ; 06d5 ("^g" ?ج) ; 062c ("z" ?ز) ; 0632 ("y" ?ي) ; 064a ("k" ?ك) ; 0643 ("q" ?ق) ; 0642 ("l" ?ل) ; 0644 ("m" ?م) ; 0645 ("n" ?ن) ; 0646 ("N" ?ڭ) ; 06ad ("w" ?و) ; 0648 (";w" ?ٶ) ; 0676 ("p" ?پ) ; 067e ("r" ?ر) ; 0631 ("s" ?س) ; 0633 ("t" ?ت) ; 062a ("^w" ?ۋ) ; 06cb (",w" ?ۇ) ; 06c7 (":w" ?ٷ) ; 0677 ("f" ?ف) ; 0641 (".h" ?ح) ; 062d ("h" ?ه) ; 0647 ("^c" ?چ) ; 0686 ("^s" ?ش) ; 0634 ("_A" ?ى) ; 0649 ("I" ?ٸ) ; 0678 (";y" ?ٸ) ; 0678 ) ;;; arabic.el ends here