From: Mohsen BANAN <list-general@mohsen.1.banan.byname.net>
To: 10966@debbugs.gnu.org
Subject: bug#10966: Fixes for persian/Farsi Input Methods -- leim/quail/persian.el
Date: Wed, 07 Mar 2012 15:56:35 -0800 [thread overview]
Message-ID: <yx2eht42cek.fsf@mohsen.1.banan.byname.net> (raw)
[-- Attachment #1: Type: text/plain, Size: 508 bytes --]
Attached are a numbers of bug fixes for
leim/quail/persian.el (emacs 24.0.94) as a context
diff.
The fixes include:
- Full compliance to ISIRI-6219. Forbiden
characters were eliminated and missing
characters were added.
- Layer 3 of ISIRI-9147 is now implemented
with a '\' prefix.
- Double entry of characters which were
postfixed with 'h' is now supported.
- Lots of comment and additional pointers have
been added.
Please apply this context diff.
...Mohsen
[-- Attachment #2: Updates to emacs 24.0.94 persian.el --]
[-- Type: text/x-diff, Size: 21112 bytes --]
*** persian.el 2012-03-06 14:31:46.412341948 -0800
--- /usr/local/share/emacs/24.0.94/leim/quail/persian.el 2012-02-13 08:13:25.000000000 -0800
***************
*** 1,9 ****
;;; persian.el --- Quail package for inputting Persian/Farsi keyboard -*- coding: utf-8;-*-
! ;; Copyright (C) 2011 Free Software Foundation, Inc.
! ;; Author: Mohsen BANAN <libre@mohsen.1.banan.byname.net>
! ;; http://mohsen.1.banan.byname.net/contact
;; Keywords: multilingual, input method, Farsi, Persian, keyboard
--- 1,9 ----
;;; persian.el --- Quail package for inputting Persian/Farsi keyboard -*- coding: utf-8;-*-
! ;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
! ;; Author: Mohsen BANAN <libre@mohsen.banan.1.byname.net>
! ;; http://mohsen.banan.1.byname.net/contact
;; Keywords: multilingual, input method, Farsi, Persian, keyboard
***************
*** 27,41 ****
;;; Commentary:
;;
;; This file contains a collection of input methods for
! ;; Persian languages (Farsi, Urdu, Pashto/Afghanic, ...)
;;
;; At this time, the following input methods are specified:
;;
! ;; - (farsi-isiri-9149) Persian Keyboard based on Islamic Republic of Iran's ISIR-9147
! ;; - (farsi-transliterate-banan) An intuitive transliteration keyboard for Farsi
! ;;
! ;; Additional documentaion for these inpput methods can be found at:
! ;; http://www.persoarabic.org/PLPC/120036
;;
;;; Code:
--- 27,38 ----
;;; Commentary:
;;
;; This file contains a collection of input methods for
! ;; Persian languages - Farsi, Urdu, Pashto (Afghani), ...
;;
;; At this time, the following input methods are specified:
;;
! ;; - (farsi) Persian Keyboard based on Islamic Republic of Iran's ISIR-9147
! ;; - (farsi-translit) Intuitive transliteration keyboard layout for Persian
;;
;;; Code:
***************
*** 45,96 ****
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
! ;; farsi-isiri-9147
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; The keyboard mapping defined here is based on:
;;
! ;; Institute of Standards and Industrial Research of Iran
! ;; Information Technology – Layout of Persian Letters and Symbols on Computer Keyboards
! ;; ISIRI 9147 -- 1st edition
! ;; http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147
! ;;
! ;; The specification is also republished at
! ;; http://www.farsiweb.ir/wiki/Image:Isiri-9147.pdf
! ;; and various other sites.
! ;;
! ;; ISIRI-6219 is also relevant.
! ;;
! ;; Layers 1, 2 and 3 of ISIRI-9147 are fully implemented with the exception of the Backslash,
! ;; Alt-Backslash, Shift-Space and Alt-Space keys.
! ;;
! ;; The Backslash key is used to replace کلید با دگر ساز راست -- the Alt or
! ;; Meta key.
! ;;
! ;; Layer 3 is then entered with the Backslash key and Layer 3 is implemented as two letter
! ;; keys as specified in ISIRI-9147.
! ;;
! ;; The character corresponding to Backslash is entered with Backslash-Backslash.
! ;; Alt-Backslash has been moved to Backslash-r.
! ;; Alt-Space has been moved to Backslash-t.
! ;; Shift-Space has been moved to Backslash-y.
! ;;
! ;; With these modifications, farsi-isiri-9147 is a full implementation of ISIRI-9147.
! ;; Additionally, these modifications allow for this implementation to be ascii input stream
! ;; based -- in addition to being a keyboard layout.
! ;;
! ;; If a key on Layer 1 was reserved to replace دگر ساز راست (the Alt or
! ;; Meta key), then farsi-isiri-9147 could have claimed full compliance -- without the need for
! ;; the above description. Perhaps this can be considered a flaw in the base ISIRI-9147
! ;; specification to be addressed in the next revision.
;;
(quail-define-package
! "farsi-isiri-9147" "Farsi" " ف" nil "Farsi input method.
! Based on ISIRI-9147 Layout of Persian Letters and Symbols on Computer Keyboards.
" nil t t t t nil nil nil nil nil t)
;; +----------------------------------------------------------------+
--- 42,73 ----
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
! ;; farsi
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; The keyboard mapping defined here is based on:
;;
! ;; Institute of Standards and Industrial Research of Iran
! ;; Information Technology – Layout of Persian Letters and Symbols on Computer Keyboards
! ;; ISIRI 9147 -- 1st edition
! ;; http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147
! ;;
! ;; Only layers 1 and 2 of ISIRI-9147 are applicable to emacs.
! ;;
! ;; This input method was built using the Farsi table in X Keyboard Configuration Data Base.
! ;;
! ;; 0) Selected gnome keyboard "USA"
! ;; 1) Created a list of all keys
! ;; 2) Selected gnome keyboard "Iran"
! ;; 3) For each key just press it and get the mapped persian character
;;
(quail-define-package
! "farsi" "Farsi" " ف" nil "Farsi input method.
! Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards.
" nil t t t t nil nil nil nil nil t)
;; +----------------------------------------------------------------+
***************
*** 98,106 ****
;; +----------------------------------------------------------------+
;; | ضْ| صٌ| ثٍ| قً| فُ| غِ| عَ| هّ| خ] | ح[ | ج} | چ{ |
;; +------------------------------------------------------------+
! ;; | شؤ | سئ | یي | بإ | لأ | اآ | تة | ن» | م« | ک: | گ؛ | \| |
;; +-----------------------------------------------------------+
! ;; | ظك | طٓ| زژ | رٰ| ذB | دٔ| پء | و> | .< | /؟ |
;; +-------------------------------------------+
(quail-define-rules
--- 75,83 ----
;; +----------------------------------------------------------------+
;; | ضْ| صٌ| ثٍ| قً| فُ| غِ| عَ| هّ| خ] | ح[ | ج} | چ{ |
;; +------------------------------------------------------------+
! ;; | شؤ | سئ | یي | بإ | لأ | اآ | تة | ن» | م« | ک: | گ؛ | \| |
;; +-----------------------------------------------------------+
! ;; | ظك | طٓ| زژ | رٰ| ذB | دٔ| پء | و> | .< | /؟ |
;; +-------------------------------------------+
(quail-define-rules
***************
*** 116,122 ****
("0" ?۰)
("-" ?-)
("=" ?=)
! ("`" ?\u200D) ;; ZWJ -- ZERO WIDTH JOINER اتصال مجازى
("q" ?ض)
("w" ?ص)
("e" ?ث)
--- 93,99 ----
("0" ?۰)
("-" ?-)
("=" ?=)
! ;;("`" ?\)) ;; اتصال مجازى
("q" ?ض)
("w" ?ص)
("e" ?ث)
***************
*** 140,146 ****
("l" ?م)
(";" ?ک)
("'" ?گ)
!
("z" ?ظ)
("x" ?ط)
("c" ?ز)
--- 117,123 ----
("l" ?م)
(";" ?ک)
("'" ?گ)
! ("\\" ?\\) ;; خط اريب وارو
("z" ?ظ)
("x" ?ط)
("c" ?ز)
***************
*** 193,396 ****
("X" ?ٓ)
("C" ?ژ)
("V" ?ٰ)
! ("B" ?\u200C) ;; ZWNJ -- ZERO WIDTH NON-JOINER فاصلهٔ مجازى
("N" ?ٔ) ;; همزه فارسى بالا
("M" ?ء) ;; harf farsi hamzeh
("<" ?>)
(">" ?<)
("?" ?؟)
-
- ;; Level 3 Entered with \
- ;;
- ("\\" ?\\) ;; خط اريب وارو
- ("\\\\" ?\\)
- ("\\~" ?\u007E)
- ("\\1" ?\u0060)
- ("\\2" ?\u0040)
- ("\\3" ?\u0023)
- ("\\4" ?\u0024)
- ("\\5" ?\u0025)
- ("\\6" ?\u005E)
- ("\\7" ?\u0026)
- ("\\8" ?\u2022)
- ("\\9" ?\u200E)
- ("\\0" ?\u200F)
- ("\\-" ?\u005F)
- ("\\+" ?\u2212)
- ("\\q" ?\u00B0)
- ;;\\w" ?\u0000)
- ("\\e" ?\u20AC)
- ("\\r" ?\u2010) ;; replacement for Alt-BSL
- ("\\t" ?\u00A0) ;; replacement for ALT-SPC
- ("\\y" ?\u200C) ;; replacement for SHIFT-SPC
- ;;("\\u" ?\u0000)
- ("\\i" ?\u202D)
- ("\\o" ?\u202E)
- ("\\p" ?\u202C)
- ("\\[" ?\u202A)
- ("\\]" ?\u202B)
- ;;("\\a" ?\u0000)
- ;;("\\s" ?\u0000)
- ("\\d" ?\u0649)
- ;;("\\f" ?\u0000)
- ;;("\\g" ?\u0000)
- ("\\h" ?\u0671)
- ;;("\\j" ?\u0000)
- ("\\k" ?\uFD3E)
- ("\\l" ?\uFD3F)
- ("\\;" ?\u003B)
- ("\\'" ?\u0022)
- ;;("\\z" ?\u0000)
- ;;("\\x" ?\u0000)
- ;;("\\c" ?\u0000)
- ("\\v" ?\u0656)
- ("\\b" ?\u200D)
- ("\\n" ?\u0655)
- ("\\m" ?\u2026)
- ("\\," ?\u002C)
- ("\\." ?\u0027)
- ("\\?" ?\u003F)
- ;;("\\\\" ?\u2010) ;; Moved to backslash r to leave room for BSL-BSL
)
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
! ;; farsi-transliterate-banan
! ;;
! ;; Given a Qwerty keyboard, use Persian-to-Latin transliteration knowledge
! ;; to reverse transliterate in persian
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
! ;;; See http://www.persoarabic.org/PLPC/120036 document for more complete
! ;;; documentation of keyboard bindings and usage instructions.
;;;
! ;;
! ;; ISIRI-9147 Persian keyboard is generally not well suited for Iranian-Expatriates
! ;; working/living in the West.
! ;;
! ;; The qwetry keyboard is usually second nature to Persian speaking expatriates and they
! ;; don't want to learn/adapt to ISIRI-9147. They expect software to adapt to them.
! ;;
! ;; That is what the ``Banan Multi-Character (Reverse) Transliteration Persian Input Method'' does.
! ;;
! ;; The typical profile of the user is assumed to be one who:
! ;;
! ;; - can write in farsi (not just speak it).
! ;; - is fully comfortable with a qwerty latin keyboard.
! ;; - is not familiar with isir-9147 and does not wish to be trained.
! ;; - communicatates and writes in a mixed globish/persian -- not pure persian.
! ;; - is intuitively familiar with transliteration of farsi/persian into latin based on two letter
! ;; phonetic mapping to persian characters (e.g., gh ق -- kh خ -- sh ش -- ch چ -- zh ژ.
! ;;
! ;; This transliteration keyboard is designed to be intuitive such that
! ;; mapping are easy and natural to remember for a persian writer.
! ;; It is designed to be equivalent in capability to farsi-isiri-9147
! ;; and provide for inputing all characters enumerated in ISIRI-6219.
! ;;
! ;; farsi-transliterate-banan is of course phonetic oriented. But it is very different from
! ;; pinglish. Pinglish is word oriented where you sound out the word with latin letters --
! ;; incuding the vowels. farsi-transliterate-banan is letter oriented where you enter the
! ;; latin letter/letters closest to the persian letter. And usually omit vowels.
! ;;
! ;; For some persian characters there are multiple ways of inputing
! ;; the same character. For example both ``i'' and ``y'' produce ی.
! ;; For یک ``yk'', ``y'' is more natural and for این ``ain'', ``i'' is more natural.
! ;;
! ;; The more frequently used keys are mapped to lower case. The less frequently used letter moves to
! ;; upper case. For example: ``s'' is س and ``S'' is ص. ``h'' is ح and ``H''
! ;; is ه.
! ;;
! ;; Multi-character input is based on \, &, and / prefix
! ;; characters. The letter 'h' is used as a postfix for the following two character mappings:
! ;; gh ق -- kh خ -- sh ش -- ch چ -- zh ژ -- Th ة -- Yh ى.
! ;;
! ;;
! ;; Prefix letter \ is used for two character inputs when an alternate form of a letter
! ;; is desired for exampe \% is: ÷ when % is: ٪.
! ;;
! ;; Prefix letter & is used for multi-character inputs when special characters are
! ;; desired based on their abbreviate name. For example you can enter ‎ to enter the
! ;; ``LEFT-TO-RIGHT MARK'' character.
! ;;
! ;; Prefix letter / is used to provide two characters. / is: ``ZERO WIDTH NON-JOINER''
! ;; and // is /.
! ;;
! ;; The letter 'h' is used in a number of two character postfix mappings,
! ;; for example ``sh'' ش. So if you need the sequence of ``s'' and ``h'' you
! ;; need to repeat the ``s''. For example: سحر = 's' 's' 'h' 'r'.
! ;;
(quail-define-package
! "farsi-transliterate-banan" "Farsi" "ب" t
"Intuitive transliteration keyboard layout for persian/farsi.
" nil t t t t nil nil nil nil nil t)
(quail-define-rules
! ;;;;;;;;;;; isiri-6219 Table 5 -- جدول ۵ - حروِفِ اصلیِ فارسی
! ("W" ?ء) ;; hamzeh
! ("A" ?آ) ;; U+0622 & ARABIC LETTER ALEF WITH MADDA ABOVE & الف با کلاه
! ("a" ?ا) ;; U+0627 & ARABIC LETTER ALEF & الف
! ("\\a" ?أ)
! ("b" ?ب) ;; U+0628 & ARABIC LETTER BEH &
! ("p" ?پ) ;; U+067e & ARABIC LETTER PEH &
("t" ?ت)
- ("tt" ?ت)
("c" ?ث)
- ("cc" ?ث)
("j" ?ج)
("ch" ?چ)
! ("h" ?ح)
("kh" ?خ)
("d" ?د)
("Z" ?ذ)
("r" ?ر)
("z" ?ز)
- ("zz" ?ز)
("zh" ?ژ)
("s" ?س)
- ("ss" ?س)
("sh" ?ش)
("S" ?ص)
("x" ?ض)
("T" ?ط)
- ("TT" ?ط)
("X" ?ظ)
("w" ?ع)
! ("q" ?غ)
("f" ?ف)
! ("Q" ?ق)
("gh" ?ق)
("k" ?ک)
! ("kk" ?ک)
("g" ?گ)
- ("gg" ?گ)
("l" ?ل)
("m" ?م)
("n" ?ن)
("v" ?و)
- ("u" ?و)
("V" ?ؤ)
("H" ?ه)
! ("y" ?ی)
! ("i" ?ی)
("I" ?ئ)
-
- ;;;;;;;;;;; isiri-6219 Table 6 -- جدول ۶ - حروِفِ عربی
- ("F" ?إ)
- ("D" ?\u0671) ;; (ucs-insert #x0671)ٱ named: حرفِ الفِ وصل
- ("K" ?ك) ;; Arabic kaf
- ("Th" ?ة) ;; ta marbuteh
- ("Y" ?ي)
- ("YY" ?ي)
- ("Yh" ?ى)
-
- ;;;;;;;;;;; isiri-6219 Table 4 -- جدول ۴ - ارقام و علائم ریاضی
- ("0" ?۰)
("1" ?۱)
("2" ?۲)
("3" ?۳)
--- 170,262 ----
("X" ?ٓ)
("C" ?ژ)
("V" ?ٰ)
! ;; ("B" ?) ;; فاصلهً مجازى
("N" ?ٔ) ;; همزه فارسى بالا
("M" ?ء) ;; harf farsi hamzeh
("<" ?>)
(">" ?<)
("?" ?؟)
)
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
! ;; farsi-translit
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
! ;;; 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 phonetic mapping to persian characters
! ;;; (e.g.: gh, kh, ch, sh, zh, hh, lh)
;;;
! ;;; 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 inputting
! ;;; the same character.
! ;;;
! ;;; The letter 'h' is used for a number of two character mappings,
! ;;; this means that some character sequence inputs need to be repeated
! ;;; followed by a backspace followed by the 'h'.
! ;;; For example: سحر = 's' 's' '<bs>' 'h' 'h' 'r'
! ;;; In practice such sequences are rare.
! ;;;
!
(quail-define-package
! "farsi-translit" "Farsi" "پ" t
"Intuitive transliteration keyboard layout for persian/farsi.
" nil t t t t nil nil nil nil nil t)
(quail-define-rules
! ("a" ?ا)
! ("A" ?آ) ;; alef madde
! ("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" ?و)
("V" ?ؤ)
+ ("u" ?و)
("H" ?ه)
! ("h" ?ه)
! ("th" ?ة) ;; ta marbuteh
! ("yh" ?ۀ) ;; he ye
! ("y" ?ى)
! ("i" ?ي)
("I" ?ئ)
("1" ?۱)
("2" ?۲)
("3" ?۳)
***************
*** 400,505 ****
("7" ?۷)
("8" ?۸)
("9" ?۹)
! ("\\/" ?\u066B) ;; (ucs-insert #x066B)٫ named: ممیزِ فارسی
! ("\\," ?\u066C) ;; (ucs-insert #x066C)٬ named: جداکنندهی هزارهای فارسی
! ("%" ?\u066A) ;; (ucs-insert #x066A)٪ named: درصدِ فارسی
! ("+" ?\u002B) ;; (ucs-insert #x002B)+ named: علامتِ بهاضافه
! ("-" ?\u2212) ;; (ucs-insert #x2212)− named: علامتِ منها
! ("\\*" ?\u00D7) ;; (ucs-insert #x00D7)× named: علامتِ ضرب
! ("\\%" ?\u007F) ;; (ucs-insert #x00F7)÷ named: علامتِ تقسیم
! ("<" ?\u003C) ;; (ucs-insert #x003C)< named: علامتِ کوچکتر
! ("=" ?\u003D) ;; (ucs-insert #x003D)= named: علامتِ مساوی
! (">" ?\u003E) ;; (ucs-insert #x003E)> named: علامتِ بزرگتر
!
!
! ;;;;;;;;;;; isiri-6219 Table 2 -- جدول ۲ - علائم نقطه گذاریِ مشترک
! ;;; Space
! ("." ?.) ;;
! (":" ?\u003A) ;; (ucs-insert #x003A): named:
! ("!" ?\u0021) ;; (ucs-insert #x0021)! named:
! ("\\." ?\u2026) ;; (ucs-insert #x2026)… named:
! ("\\-" ?\u2010) ;; (ucs-insert #x2010)‐ named:
! ("-" ?\u002D) ;; (ucs-insert #x002D)- named:
! ("|" ?|)
! ;;("\\\\" ?\)
! ("//" ?/)
! ("*" ?\u002A) ;; (ucs-insert #x002A)* named:
! ("(" ?\u0028) ;; (ucs-insert #x0028)( named:
! (")" ?\u0029) ;; (ucs-insert #x0029)) named:
! ("[" ?\u005B) ;; (ucs-insert #x005B)[ named:
! ("[" ?\u005D) ;; (ucs-insert #x005D)] named:
! ("{" ?\u007B) ;; (ucs-insert #x007B){ named:
! ("}" ?\u007D) ;; (ucs-insert #x007D)} named:
! ("\\<" ?\u00AB) ;; (ucs-insert #x00AB)« named:
! ("\\>" ?\u00BB) ;; (ucs-insert #x00BB)» named:
!
!
! ;;;;;;;;;;; isiri-6219 Table 3 -- جدول ۳ - علائم نقطه گذاریِ فارسی
! ("," ?،) ;; farsi
! (";" ?؛) ;;
! ("?" ?؟) ;; alamat soal
! ("_" ?ـ) ;;
!
! ;;;;;;;;;;; isiri-6219 Table 1 -- جدول ۱ - نویسههای کنترلی
! ;; LF
! ;; CR
! ("‌" ?\u200C) ;; (ucs-insert #x200C) named: فاصلهی مجازی
! ("/" ?\u200C) ;;
! ("‍" ?\u200D) ;; (ucs-insert #x200D) named: اتصالِ مجازی
! ("J" ?\u200D) ;;
! ("‎" ?\u200E) ;; (ucs-insert #x200E) named: نشانهی چپبهراست
! ("‏" ?\u200F) ;; (ucs-insert #x200F) named: نشانهی راستبهچپ
! ("&ls;" ?\u2028) ;; (ucs-insert #x2028)
named: جداکنندهی سطرها
! ("&ps;" ?\u2028) ;; (ucs-insert #x2029)
named: جداکنندهی بندها
! ("&lre;" ?\u202A) ;; (ucs-insert #x202A) named: زیرمتنِ چپبهراست
! ("&rle;" ?\u202B) ;; (ucs-insert #x202B) named: زیرمتنِ راستبهچپ
! ("&pdf;" ?\u202C) ;; (ucs-insert #x202C) named: پایانِ زیرمتن
! ("&lro;" ?\u202D) ;; (ucs-insert #x202D) named: زیرمتنِ اکیداً چپبهراست
! ("&rlo;" ?\u202D) ;; (ucs-insert #x202E) named: زیرمتنِ اکیداً راستبهچپ
! ("&bom;" ?\uFEFF) ;; (ucs-insert #xFEFF) named: نشانهی ترتیبِ بایتها
!
!
! ;;;;;;;;;;; isiri-6219 Table 7 -- جدول ۷ - نشانههایِ فارسی
! ("^" ?َ) ;; zbar ;; زبر فارسى
! ("e" ?ِ) ;; zir زير فارسى
! ("o" ?ُ) ;; peesh ;; پيش فارسى -- ضمه
("E" ?ٍ) ;; eizan ;; دو زير فارسى -- تنوين جر
! ("#" ?ً) ;; دو زبر
("O" ?ٌ) ;; دو پيش فارسى -- تنوين رفع
! ("~" ?ّ) ;; tashdid ;; تشديد فارسى
! ("@" ?ْ) ;; ساکن فارسى
! ("U" ?\u0653) ;; (ucs-insert #x0653)ٓ named: مدِ فارسی
! ("`" ?ٔ) ;; همزه فارسى بالا
! ("C" ?\u0655) ;; (ucs-insert #x0655)ٕ named: همزه فارسى پایین
! ("$" ?\u0670) ;; (ucs-insert #x0670)ٰ named: الفِ مقصورهی فارسی
!
!
! ;;;;;;;;;;; isiri-6219 Table 8 - Forbiden Characters -- جدول ۸ - نویسههایِ ممنوع
! ;; ;; he ye (ucs-insert 1728) kills emacs-24.0.90
! ;; arabic digits 0-9
!
!
! ;;;;;;; Latin Extensions
! ("\\" ?\\) ;; خط اريب وارو
! ("\\\\" ?\\)
! ("\\~" ?~)
! ("\\@" ?@)
! ("\\#" ?#)
! ("\\$" ?\uFDFC) ;; (ucs-insert #xFDFC)﷼ named:
! ("\\^" ?^)
! ("\\1" ?1)
! ("\\2" ?2)
! ("\\3" ?3)
! ("\\4" ?4)
! ("\\5" ?5)
! ("\\6" ?6)
! ("\\7" ?7)
! ("\\8" ?8)
! ("\\9" ?9)
! ("\\0" ?0)
!
)
;;; persian.el ends here
--- 266,296 ----
("7" ?۷)
("8" ?۸)
("9" ?۹)
+ ("0" ?۰)
! ("F" ?إ)
! ("G" ?أ)
! ("~" ?ّ) ;; tashdid ;; تشديد فارسى
! ("`" ?ٓ)
! ("e" ?ِ) ;; zir زير فارسى -- فتحه
("E" ?ٍ) ;; eizan ;; دو زير فارسى -- تنوين جر
! ("#" ?ً) ;; ً tanvin nasb ;; دو زبر فارسى -- تنوين نصب
! ("@" ?ْ) ;; ساکن فارسى
! ("^" ?َ) ;; zbar ;; زبر فارسى -- فتحه
! ("o" ?ُ) ;; peesh ;; پيش فارسى -- ضمه
("O" ?ٌ) ;; دو پيش فارسى -- تنوين رفع
! ("?" ?؟) ;; alamat soal
! ("&" ?ٔ) ;; همزه فارسى بالا
! ("$" ?ء) ;; hamzeh
! ("%" ?÷) ;;
! ("*" ?×) ;;
! (";" ?؛) ;;
! (",h" ?،) ;; farsi
! (",h" ?,) ;; latin
! ("." ?.) ;;
! ("_" ?ـ) ;;
)
+
;;; persian.el ends here
next reply other threads:[~2012-03-07 23:56 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-07 23:56 Mohsen BANAN [this message]
2012-03-09 12:23 ` bug#10966: Fixes for persian/Farsi Input Methods -- leim/quail/persian.el Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=yx2eht42cek.fsf@mohsen.1.banan.byname.net \
--to=list-general@mohsen.1.banan.byname.net \
--cc=10966@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.