From 4f96ea3f4fbe8950c0d281da836897fb8394a812 Mon Sep 17 00:00:00 2001 From: Mohsen BANAN Date: Fri, 9 Mar 2012 14:18:25 +0200 Subject: [PATCH] Update the Persian input methods. leim/quail/persian.el: Update which includes: (1) full compliance to ISIRI-6219, forbiden characters were eliminated and missing characters were added; (2) layer 3 of ISIRI-9147 is now implemented with a '\' prefix; (3) double entry of characters which were postfixed with 'h' is now supported; (4) lots of comment and additional pointers have been added. --- leim/ChangeLog | 9 + leim/quail/persian.el | 380 +++++++++++++++++++++++++++++++++--------- 2 files changed, 308 insertions(+), 81 deletions(-) diff --git a/leim/ChangeLog b/leim/ChangeLog index 39ba53201da..a0ea53468e3 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog @@ -1,3 +1,12 @@ +2012-03-09 Mohsen BANAN + + * quail/persian.el: Update which includes: (1) full compliance to + ISIRI-6219, forbiden characters were eliminated and missing + characters were added; (2) layer 3 of ISIRI-9147 is now + implemented with a '\' prefix; (3) double entry of characters + which were postfixed with 'h' is now supported; (4) lots of + comment and additional pointers have been added. + 2011-12-15 Kenichi Handa * quail/ethiopic.el ("ethiopic"): Do not refer to diff --git a/leim/quail/persian.el b/leim/quail/persian.el index d006e83aa71..8da42b75f31 100644 --- a/leim/quail/persian.el +++ b/leim/quail/persian.el @@ -2,8 +2,8 @@ ;; Copyright (C) 2011-2012 Free Software Foundation, Inc. -;; Author: Mohsen BANAN -;; http://mohsen.banan.1.byname.net/contact +;; Author: Mohsen BANAN +;; http://mohsen.1.banan.byname.net/contact ;; Keywords: multilingual, input method, Farsi, Persian, keyboard @@ -27,12 +27,15 @@ ;;; Commentary: ;; ;; This file contains a collection of input methods for -;; Persian languages - Farsi, Urdu, Pashto (Afghani), ... +;; Persian languages (Farsi, Urdu, Pashto/Afghanic, ...) ;; ;; 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 +;; - (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: @@ -42,42 +45,71 @@ ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -;; farsi +;; 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 +;; 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. ;; -;; Only layers 1 and 2 of ISIRI-9147 are applicable to emacs. +;; Layer 3 is then entered with the Backslash key and Layer 3 is +;; implemented as two letter keys as specified in ISIRI-9147. ;; -;; This input method was built using the Farsi table in X Keyboard Configuration Data Base. +;; 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. ;; -;; 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 +;; 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" "Farsi" " ف" nil "Farsi input method. + "farsi-isiri-9147" "Farsi" " ف" nil "Farsi input method. -Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards. +Based on ISIRI-9147 Layout of Persian Letters and Symbols on Computer Keyboards. " nil t t t t nil nil nil nil nil t) +;; Note: the rows of keys below are enclosed in Left-To-Right Override +;; embedding, to prevent them from being reordered by the Emacs +;; display engine. + + ;; +----------------------------------------------------------------+ -;; | Û±! | Û²Ù¬ | Û³Ù« | Û´ï·¼ | ÛµÙª | ۶× | ۷، | Û¸* | Û¹) | Û°( | -ـ | =+ | `÷ | +;; ‭| Û±! | Û²Ù¬ | Û³Ù« | Û´ï·¼ | ÛµÙª | ۶× | ۷، | Û¸* | Û¹( | Û°) | -ـ | =+ | `÷ |‬ ;; +----------------------------------------------------------------+ -;; | ضْ| صٌ| ثٍ| قً| فُ| غِ| عَ| هّ| Ø®] | Ø­[ | ج} | چ{ | +;; ‭| ضْ| صٌ| ثٍ| قً| فُ| غِ| عَ| هّ| Ø®] | Ø­[ | ج{ | چ} |‬ ;; +------------------------------------------------------------+ -;; | شؤ | سئ | یي | بإ | لأ | اآ | تة | ن» | م« | Ú©: | گ؛ | \| | +;; ‭| ش‌ؤ | س‌ئ | ی‌ي | ب‌إ | لأ | اآ | ت‌ة | ن« | م» | Ú©: | گ؛ | \| |‬ ;; +-----------------------------------------------------------+ -;; | ظك | طٓ| زژ | رٰ| Ø°B | دٔ| پء | و> | .< | /؟ | +;; ‭| ظ‌ك | طٓ| زژ | رٰ| Ø°B | دٔ| پء | و< | .> | /؟ |‬ ;; +-------------------------------------------+ (quail-define-rules @@ -93,7 +125,7 @@ Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards. ("0" ?Û°) ("-" ?-) ("=" ?=) - ;;("`" ?‍\)) ;; اتصال مجازى + ("`" ?\u200D) ;; ZWJ -- ZERO WIDTH JOINER اتصال مجازى ("q" ?ض) ("w" ?ص) ("e" ?Ø«) @@ -117,7 +149,7 @@ Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards. ("l" ?م) (";" ?Ú©) ("'" ?Ú¯) - ("\\" ?\\) ;; خط اريب وارو + ("z" ?ظ) ("x" ?Ø·) ("c" ?ز) @@ -170,93 +202,204 @@ Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards. ("X" ?ٓ) ("C" ?ژ) ("V" ?Ù°) - ;; ("B" ?‌‌) ;; فاصلهً مجازى + ("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-translit +;; farsi-transliterate-banan +;; +;; Given a Qwerty keyboard, use Persian-to-Latin transliteration knowledge +;; to reverse transliterate in persian ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; -;;; 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) +;;; See http://www.persoarabic.org/PLPC/120036 document for more complete +;;; documentation of keyboard bindings and usage instructions. ;;; -;;; 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' '' 'h' 'h' 'r' -;;; In practice such sequences are rare. -;;; - +;; +;; 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-translit" "Farsi" "Ù¾" t + "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 - ("a" ?ا) - ("A" ?Ø¢) ;; alef madde - ("b" ?ب) - ("p" ?Ù¾) +;;;;;;;;;;; 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" ?چ) - ("hh" ?Ø­) + ("h" ?Ø­) ("kh" ?Ø®) ("d" ?د) ("Z" ?Ø°) ("r" ?ر) ("z" ?ز) + ("zz" ?ز) ("zh" ?ژ) ("s" ?س) + ("ss" ?س) ("sh" ?Ø´) ("S" ?ص) ("x" ?ض) ("T" ?Ø·) + ("TT" ?Ø·) ("X" ?ظ) ("w" ?ع) - ("Q" ?غ) + ("q" ?غ) ("f" ?ف) - ("q" ?ق) + ("Q" ?ق) ("gh" ?ق) ("k" ?Ú©) - ("K" ?ك) ;; Arabic kaf + ("kk" ?Ú©) ("g" ?Ú¯) + ("gg" ?Ú¯) ("l" ?ل) - ("lh" ?ï»») ("m" ?م) ("n" ?ن) ("v" ?و) - ("V" ?ؤ) ("u" ?و) + ("V" ?ؤ) ("H" ?ه) - ("h" ?ه) - ("th" ?Ø©) ;; ta marbuteh - ("yh" ?ۀ) ;; he ye - ("y" ?ى) - ("i" ?ي) + ("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" ?Û³) @@ -266,31 +409,106 @@ Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards. ("7" ?Û·) ("8" ?Û¸) ("9" ?Û¹) - ("0" ?Û°) - ("F" ?Ø¥) - ("G" ?Ø£) + ("\\/" ?\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: علامتِ بزرگتر - ("~" ?ّ) ;; tashdid ;; تشديد فارسى - ("`" ?ٓ) - ("e" ?ِ) ;; zir زير فارسى -- فتحه - ("E" ?ٍ) ;; eizan ;; دو زير فارسى -- تنوين جر - ("#" ?ً) ;; ً tanvin nasb ;; دو زبر فارسى -- تنوين نصب - ("@" ?ْ) ;; ساکن فارسى - ("^" ?َ) ;; zbar ;; زبر فارسى -- فتحه - ("o" ?ُ) ;; peesh ;; پيش فارسى -- ضمه - ("O" ?ٌ) ;; دو پيش فارسى -- تنوين رفع - ("?" ?؟) ;; alamat soal - ("&" ?ٔ) ;; همزه فارسى بالا - ("$" ?Ø¡) ;; hamzeh - ("%" ?÷) ;; - ("*" ?×) ;; - (";" ?؛) ;; - (",h" ?،) ;; farsi - (",h" ?,) ;; latin + +;;;;;;;;;;; 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 -- 2.39.2