diff options
| author | Mohsen BANAN | 2012-03-09 14:18:25 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2012-03-09 14:18:25 +0200 |
| commit | 4f96ea3f4fbe8950c0d281da836897fb8394a812 (patch) | |
| tree | e7e586ac09004662fbea0746a0ed6ca8374d9613 | |
| parent | 3f018d6d392cacb025c8de92bfabf4d7a92ade52 (diff) | |
| download | emacs-4f96ea3f4fbe8950c0d281da836897fb8394a812.tar.gz emacs-4f96ea3f4fbe8950c0d281da836897fb8394a812.zip | |
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.
| -rw-r--r-- | leim/ChangeLog | 9 | ||||
| -rw-r--r-- | 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 @@ | |||
| 1 | 2012-03-09 Mohsen BANAN <libre@mohsen.1.banan.byname.net> | ||
| 2 | |||
| 3 | * quail/persian.el: Update which includes: (1) full compliance to | ||
| 4 | ISIRI-6219, forbiden characters were eliminated and missing | ||
| 5 | characters were added; (2) layer 3 of ISIRI-9147 is now | ||
| 6 | implemented with a '\' prefix; (3) double entry of characters | ||
| 7 | which were postfixed with 'h' is now supported; (4) lots of | ||
| 8 | comment and additional pointers have been added. | ||
| 9 | |||
| 1 | 2011-12-15 Kenichi Handa <handa@m17n.org> | 10 | 2011-12-15 Kenichi Handa <handa@m17n.org> |
| 2 | 11 | ||
| 3 | * quail/ethiopic.el ("ethiopic"): Do not refer to | 12 | * 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 @@ | |||
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2011-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2011-2012 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Mohsen BANAN <libre@mohsen.banan.1.byname.net> | 5 | ;; Author: Mohsen BANAN <libre@mohsen.1.banan.byname.net> |
| 6 | ;; http://mohsen.banan.1.byname.net/contact | 6 | ;; http://mohsen.1.banan.byname.net/contact |
| 7 | 7 | ||
| 8 | ;; Keywords: multilingual, input method, Farsi, Persian, keyboard | 8 | ;; Keywords: multilingual, input method, Farsi, Persian, keyboard |
| 9 | 9 | ||
| @@ -27,12 +27,15 @@ | |||
| 27 | ;;; Commentary: | 27 | ;;; Commentary: |
| 28 | ;; | 28 | ;; |
| 29 | ;; This file contains a collection of input methods for | 29 | ;; This file contains a collection of input methods for |
| 30 | ;; Persian languages - Farsi, Urdu, Pashto (Afghani), ... | 30 | ;; Persian languages (Farsi, Urdu, Pashto/Afghanic, ...) |
| 31 | ;; | 31 | ;; |
| 32 | ;; At this time, the following input methods are specified: | 32 | ;; At this time, the following input methods are specified: |
| 33 | ;; | 33 | ;; |
| 34 | ;; - (farsi) Persian Keyboard based on Islamic Republic of Iran's ISIR-9147 | 34 | ;; - (farsi-isiri-9149) Persian Keyboard based on Islamic Republic of Iran's ISIR-9147 |
| 35 | ;; - (farsi-translit) Intuitive transliteration keyboard layout for Persian | 35 | ;; - (farsi-transliterate-banan) An intuitive transliteration keyboard for Farsi |
| 36 | ;; | ||
| 37 | ;; Additional documentaion for these inpput methods can be found at: | ||
| 38 | ;; http://www.persoarabic.org/PLPC/120036 | ||
| 36 | ;; | 39 | ;; |
| 37 | 40 | ||
| 38 | ;;; Code: | 41 | ;;; Code: |
| @@ -42,42 +45,71 @@ | |||
| 42 | ;; | 45 | ;; |
| 43 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 46 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 44 | ;; | 47 | ;; |
| 45 | ;; farsi | 48 | ;; farsi-isiri-9147 |
| 46 | ;; | 49 | ;; |
| 47 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 50 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 48 | ;; | 51 | ;; |
| 49 | ;; The keyboard mapping defined here is based on: | 52 | ;; The keyboard mapping defined here is based on: |
| 50 | ;; | 53 | ;; |
| 51 | ;; Institute of Standards and Industrial Research of Iran | 54 | ;; Institute of Standards and Industrial Research of Iran |
| 52 | ;; Information Technology – Layout of Persian Letters and Symbols on Computer Keyboards | 55 | ;; Information Technology – Layout of Persian Letters and Symbols |
| 53 | ;; ISIRI 9147 -- 1st edition | 56 | ;; on Computer Keyboards |
| 54 | ;; http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147 | 57 | ;; ISIRI 9147 -- 1st edition |
| 58 | ;; http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147 | ||
| 59 | ;; | ||
| 60 | ;; The specification is also republished at | ||
| 61 | ;; http://www.farsiweb.ir/wiki/Image:Isiri-9147.pdf | ||
| 62 | ;; and various other sites. | ||
| 63 | ;; | ||
| 64 | ;; ISIRI-6219 is also relevant. | ||
| 65 | ;; | ||
| 66 | ;; Layers 1, 2 and 3 of ISIRI-9147 are fully implemented with the | ||
| 67 | ;; exception of the Backslash, Alt-Backslash, Shift-Space and | ||
| 68 | ;; Alt-Space keys. | ||
| 69 | ;; | ||
| 70 | ;; The Backslash key is used to replace کلید با دگر ساز راست -- the Alt or | ||
| 71 | ;; Meta key. | ||
| 55 | ;; | 72 | ;; |
| 56 | ;; Only layers 1 and 2 of ISIRI-9147 are applicable to emacs. | 73 | ;; Layer 3 is then entered with the Backslash key and Layer 3 is |
| 74 | ;; implemented as two letter keys as specified in ISIRI-9147. | ||
| 57 | ;; | 75 | ;; |
| 58 | ;; This input method was built using the Farsi table in X Keyboard Configuration Data Base. | 76 | ;; The character corresponding to Backslash is entered with Backslash-Backslash. |
| 77 | ;; Alt-Backslash has been moved to Backslash-r. | ||
| 78 | ;; Alt-Space has been moved to Backslash-t. | ||
| 79 | ;; Shift-Space has been moved to Backslash-y. | ||
| 59 | ;; | 80 | ;; |
| 60 | ;; 0) Selected gnome keyboard "USA" | 81 | ;; With these modifications, farsi-isiri-9147 is a full implementation |
| 61 | ;; 1) Created a list of all keys | 82 | ;; of ISIRI-9147. Additionally, these modifications allow for this |
| 62 | ;; 2) Selected gnome keyboard "Iran" | 83 | ;; implementation to be ascii input stream based -- in addition to |
| 63 | ;; 3) For each key just press it and get the mapped persian character | 84 | ;; being a keyboard layout. |
| 85 | ;; | ||
| 86 | ;; If a key on Layer 1 was reserved to replace دگر ساز راست (the Alt | ||
| 87 | ;; or Meta key), then farsi-isiri-9147 could have claimed full | ||
| 88 | ;; compliance -- without the need for the above description. Perhaps | ||
| 89 | ;; this can be considered a flaw in the base ISIRI-9147 specification | ||
| 90 | ;; to be addressed in the next revision. | ||
| 64 | ;; | 91 | ;; |
| 65 | 92 | ||
| 66 | 93 | ||
| 67 | (quail-define-package | 94 | (quail-define-package |
| 68 | "farsi" "Farsi" " ف" nil "Farsi input method. | 95 | "farsi-isiri-9147" "Farsi" " ف" nil "Farsi input method. |
| 69 | 96 | ||
| 70 | Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards. | 97 | Based on ISIRI-9147 Layout of Persian Letters and Symbols on Computer Keyboards. |
| 71 | " nil t t t t nil nil nil nil nil t) | 98 | " nil t t t t nil nil nil nil nil t) |
| 72 | 99 | ||
| 100 | ;; Note: the rows of keys below are enclosed in Left-To-Right Override | ||
| 101 | ;; embedding, to prevent them from being reordered by the Emacs | ||
| 102 | ;; display engine. | ||
| 103 | |||
| 104 | |||
| 73 | ;; +----------------------------------------------------------------+ | 105 | ;; +----------------------------------------------------------------+ |
| 74 | ;; | ۱! | ۲٬ | ۳٫ | ۴﷼ | ۵٪ | ۶× | ۷، | ۸* | ۹) | ۰( | -ـ | =+ | `÷ | | 106 | ;; | ۱! | ۲٬ | ۳٫ | ۴﷼ | ۵٪ | ۶× | ۷، | ۸* | ۹( | ۰) | -ـ | =+ | `÷ | |
| 75 | ;; +----------------------------------------------------------------+ | 107 | ;; +----------------------------------------------------------------+ |
| 76 | ;; | ضْ| صٌ| ثٍ| قً| فُ| غِ| عَ| هّ| خ] | ح[ | ج} | چ{ | | 108 | ;; | ضْ| صٌ| ثٍ| قً| فُ| غِ| عَ| هّ| خ] | ح[ | ج{ | چ} | |
| 77 | ;; +------------------------------------------------------------+ | 109 | ;; +------------------------------------------------------------+ |
| 78 | ;; | شؤ | سئ | یي | بإ | لأ | اآ | تة | ن | م | ک: | گ؛ | \| | | 110 | ;; | شؤ | سئ | یي | بإ | لأ | اآ | تة | ن | م | ک: | گ؛ | \| | |
| 79 | ;; +-----------------------------------------------------------+ | 111 | ;; +-----------------------------------------------------------+ |
| 80 | ;; | ظك | طٓ| زژ | رٰ| ذB | دٔ| پء | و> | .< | /؟ | | 112 | ;; | ظك | طٓ| زژ | رٰ| ذB | دٔ| پء | و< | .> | /؟ | |
| 81 | ;; +-------------------------------------------+ | 113 | ;; +-------------------------------------------+ |
| 82 | 114 | ||
| 83 | (quail-define-rules | 115 | (quail-define-rules |
| @@ -93,7 +125,7 @@ Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards. | |||
| 93 | ("0" ?۰) | 125 | ("0" ?۰) |
| 94 | ("-" ?-) | 126 | ("-" ?-) |
| 95 | ("=" ?=) | 127 | ("=" ?=) |
| 96 | ;;("`" ?\)) ;; اتصال مجازى | 128 | ("`" ?\u200D) ;; ZWJ -- ZERO WIDTH JOINER اتصال مجازى |
| 97 | ("q" ?ض) | 129 | ("q" ?ض) |
| 98 | ("w" ?ص) | 130 | ("w" ?ص) |
| 99 | ("e" ?ث) | 131 | ("e" ?ث) |
| @@ -117,7 +149,7 @@ Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards. | |||
| 117 | ("l" ?م) | 149 | ("l" ?م) |
| 118 | (";" ?ک) | 150 | (";" ?ک) |
| 119 | ("'" ?گ) | 151 | ("'" ?گ) |
| 120 | ("\\" ?\\) ;; خط اريب وارو | 152 | |
| 121 | ("z" ?ظ) | 153 | ("z" ?ظ) |
| 122 | ("x" ?ط) | 154 | ("x" ?ط) |
| 123 | ("c" ?ز) | 155 | ("c" ?ز) |
| @@ -170,93 +202,204 @@ Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards. | |||
| 170 | ("X" ?ٓ) | 202 | ("X" ?ٓ) |
| 171 | ("C" ?ژ) | 203 | ("C" ?ژ) |
| 172 | ("V" ?ٰ) | 204 | ("V" ?ٰ) |
| 173 | ;; ("B" ?) ;; فاصله مجازى | 205 | ("B" ?\u200C) ;; ZWNJ -- ZERO WIDTH NON-JOINER فاصله مجازى |
| 174 | ("N" ?ٔ) ;; همزه فارسى بالا | 206 | ("N" ?ٔ) ;; همزه فارسى بالا |
| 175 | ("M" ?ء) ;; harf farsi hamzeh | 207 | ("M" ?ء) ;; harf farsi hamzeh |
| 176 | ("<" ?>) | 208 | ("<" ?>) |
| 177 | (">" ?<) | 209 | (">" ?<) |
| 178 | ("?" ?؟) | 210 | ("?" ?؟) |
| 211 | |||
| 212 | ;; Level 3 Entered with \ | ||
| 213 | ;; | ||
| 214 | ("\\" ?\\) ;; خط اريب وارو | ||
| 215 | ("\\\\" ?\\) | ||
| 216 | ("\\~" ?\u007E) | ||
| 217 | ("\\1" ?\u0060) | ||
| 218 | ("\\2" ?\u0040) | ||
| 219 | ("\\3" ?\u0023) | ||
| 220 | ("\\4" ?\u0024) | ||
| 221 | ("\\5" ?\u0025) | ||
| 222 | ("\\6" ?\u005E) | ||
| 223 | ("\\7" ?\u0026) | ||
| 224 | ("\\8" ?\u2022) | ||
| 225 | ("\\9" ?\u200E) | ||
| 226 | ("\\0" ?\u200F) | ||
| 227 | ("\\-" ?\u005F) | ||
| 228 | ("\\+" ?\u2212) | ||
| 229 | ("\\q" ?\u00B0) | ||
| 230 | ;;\\w" ?\u0000) | ||
| 231 | ("\\e" ?\u20AC) | ||
| 232 | ("\\r" ?\u2010) ;; replacement for Alt-BSL | ||
| 233 | ("\\t" ?\u00A0) ;; replacement for ALT-SPC | ||
| 234 | ("\\y" ?\u200C) ;; replacement for SHIFT-SPC | ||
| 235 | ;;("\\u" ?\u0000) | ||
| 236 | ("\\i" ?\u202D) | ||
| 237 | ("\\o" ?\u202E) | ||
| 238 | ("\\p" ?\u202C) | ||
| 239 | ("\\[" ?\u202A) | ||
| 240 | ("\\]" ?\u202B) | ||
| 241 | ;;("\\a" ?\u0000) | ||
| 242 | ;;("\\s" ?\u0000) | ||
| 243 | ("\\d" ?\u0649) | ||
| 244 | ;;("\\f" ?\u0000) | ||
| 245 | ;;("\\g" ?\u0000) | ||
| 246 | ("\\h" ?\u0671) | ||
| 247 | ;;("\\j" ?\u0000) | ||
| 248 | ("\\k" ?\uFD3E) | ||
| 249 | ("\\l" ?\uFD3F) | ||
| 250 | ("\\;" ?\u003B) | ||
| 251 | ("\\'" ?\u0022) | ||
| 252 | ;;("\\z" ?\u0000) | ||
| 253 | ;;("\\x" ?\u0000) | ||
| 254 | ;;("\\c" ?\u0000) | ||
| 255 | ("\\v" ?\u0656) | ||
| 256 | ("\\b" ?\u200D) | ||
| 257 | ("\\n" ?\u0655) | ||
| 258 | ("\\m" ?\u2026) | ||
| 259 | ("\\," ?\u002C) | ||
| 260 | ("\\." ?\u0027) | ||
| 261 | ("\\?" ?\u003F) | ||
| 262 | ;;("\\\\" ?\u2010) ;; Moved to backslash r to leave room for BSL-BSL | ||
| 179 | ) | 263 | ) |
| 180 | 264 | ||
| 181 | ;; | 265 | ;; |
| 182 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 266 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 183 | ;; | 267 | ;; |
| 184 | ;; farsi-translit | 268 | ;; farsi-transliterate-banan |
| 269 | ;; | ||
| 270 | ;; Given a Qwerty keyboard, use Persian-to-Latin transliteration knowledge | ||
| 271 | ;; to reverse transliterate in persian | ||
| 185 | ;; | 272 | ;; |
| 186 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 273 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 187 | ;;; | 274 | ;;; |
| 188 | ;;; This is a persian/farsi transliteration keyboard designed | 275 | ;;; See http://www.persoarabic.org/PLPC/120036 document for more complete |
| 189 | ;;; for people who: | 276 | ;;; documentation of keyboard bindings and usage instructions. |
| 190 | ;;; - Know how to write in farsi | ||
| 191 | ;;; - Are comfortable with the qwerty keyboard | ||
| 192 | ;;; - Are familiar with two letter phonetic mapping to persian characters | ||
| 193 | ;;; (e.g.: gh, kh, ch, sh, zh, hh, lh) | ||
| 194 | ;;; | 277 | ;;; |
| 195 | ;;; This translit keyboard is designed to be intuitive such that | 278 | ;; |
| 196 | ;;; mapping are easy and natural to remember for a persian writer. | 279 | ;; ISIRI-9147 Persian keyboard is generally not well suited for Iranian-Expatriates |
| 197 | ;;; For some persian characters there are multiple ways of inputting | 280 | ;; working/living in the West. |
| 198 | ;;; the same character. | 281 | ;; |
| 199 | ;;; | 282 | ;; The qwetry keyboard is usually second nature to Persian speaking expatriates and they |
| 200 | ;;; The letter 'h' is used for a number of two character mappings, | 283 | ;; don't want to learn/adapt to ISIRI-9147. They expect software to adapt to them. |
| 201 | ;;; this means that some character sequence inputs need to be repeated | 284 | ;; |
| 202 | ;;; followed by a backspace followed by the 'h'. | 285 | ;; That is what the ``Banan Multi-Character (Reverse) Transliteration Persian Input Method'' does. |
| 203 | ;;; For example: سحر = 's' 's' '<bs>' 'h' 'h' 'r' | 286 | ;; |
| 204 | ;;; In practice such sequences are rare. | 287 | ;; The typical profile of the user is assumed to be one who: |
| 205 | ;;; | 288 | ;; |
| 206 | 289 | ;; - can write in farsi (not just speak it). | |
| 290 | ;; - is fully comfortable with a qwerty latin keyboard. | ||
| 291 | ;; - is not familiar with isir-9147 and does not wish to be trained. | ||
| 292 | ;; - communicatates and writes in a mixed globish/persian -- not pure persian. | ||
| 293 | ;; - is intuitively familiar with transliteration of farsi/persian into latin based on two letter | ||
| 294 | ;; phonetic mapping to persian characters (e.g., gh ق -- kh خ -- sh ش -- ch چ -- zh ژ. | ||
| 295 | ;; | ||
| 296 | ;; This transliteration keyboard is designed to be intuitive such that | ||
| 297 | ;; mapping are easy and natural to remember for a persian writer. | ||
| 298 | ;; It is designed to be equivalent in capability to farsi-isiri-9147 | ||
| 299 | ;; and provide for inputing all characters enumerated in ISIRI-6219. | ||
| 300 | ;; | ||
| 301 | ;; farsi-transliterate-banan is of course phonetic oriented. But it is very different from | ||
| 302 | ;; pinglish. Pinglish is word oriented where you sound out the word with latin letters -- | ||
| 303 | ;; incuding the vowels. farsi-transliterate-banan is letter oriented where you enter the | ||
| 304 | ;; latin letter/letters closest to the persian letter. And usually omit vowels. | ||
| 305 | ;; | ||
| 306 | ;; For some persian characters there are multiple ways of inputing | ||
| 307 | ;; the same character. For example both ``i'' and ``y'' produce ی. | ||
| 308 | ;; For یک ``yk'', ``y'' is more natural and for این ``ain'', ``i'' is more natural. | ||
| 309 | ;; | ||
| 310 | ;; The more frequently used keys are mapped to lower case. The less frequently used letter moves to | ||
| 311 | ;; upper case. For example: ``s'' is س and ``S'' is ص. ``h'' is ح and ``H'' | ||
| 312 | ;; is ه. | ||
| 313 | ;; | ||
| 314 | ;; Multi-character input is based on \, &, and / prefix | ||
| 315 | ;; characters. The letter 'h' is used as a postfix for the following two character mappings: | ||
| 316 | ;; gh ق -- kh خ -- sh ش -- ch چ -- zh ژ -- Th ة -- Yh ى. | ||
| 317 | ;; | ||
| 318 | ;; | ||
| 319 | ;; Prefix letter \ is used for two character inputs when an alternate form of a letter | ||
| 320 | ;; is desired for exampe \% is: ÷ when % is: ٪. | ||
| 321 | ;; | ||
| 322 | ;; Prefix letter & is used for multi-character inputs when special characters are | ||
| 323 | ;; desired based on their abbreviate name. For example you can enter ‎ to enter the | ||
| 324 | ;; ``LEFT-TO-RIGHT MARK'' character. | ||
| 325 | ;; | ||
| 326 | ;; Prefix letter / is used to provide two characters. / is: ``ZERO WIDTH NON-JOINER'' | ||
| 327 | ;; and // is /. | ||
| 328 | ;; | ||
| 329 | ;; The letter 'h' is used in a number of two character postfix mappings, | ||
| 330 | ;; for example ``sh'' ش. So if you need the sequence of ``s'' and ``h'' you | ||
| 331 | ;; need to repeat the ``s''. For example: سحر = 's' 's' 'h' 'r'. | ||
| 332 | ;; | ||
| 207 | 333 | ||
| 208 | 334 | ||
| 209 | (quail-define-package | 335 | (quail-define-package |
| 210 | "farsi-translit" "Farsi" "پ" t | 336 | "farsi-transliterate-banan" "Farsi" "ب" t |
| 211 | "Intuitive transliteration keyboard layout for persian/farsi. | 337 | "Intuitive transliteration keyboard layout for persian/farsi. |
| 212 | " nil t t t t nil nil nil nil nil t) | 338 | " nil t t t t nil nil nil nil nil t) |
| 213 | 339 | ||
| 214 | 340 | ||
| 215 | (quail-define-rules | 341 | (quail-define-rules |
| 216 | ("a" ?ا) | 342 | ;;;;;;;;;;; isiri-6219 Table 5 -- جدول ۵ - حروِفِ اصلیِ فارسی |
| 217 | ("A" ?آ) ;; alef madde | 343 | ("W" ?ء) ;; hamzeh |
| 218 | ("b" ?ب) | 344 | ("A" ?آ) ;; U+0622 & ARABIC LETTER ALEF WITH MADDA ABOVE & الف با کلاه |
| 219 | ("p" ?پ) | 345 | ("a" ?ا) ;; U+0627 & ARABIC LETTER ALEF & الف |
| 346 | ("\\a" ?أ) | ||
| 347 | ("b" ?ب) ;; U+0628 & ARABIC LETTER BEH & | ||
| 348 | ("p" ?پ) ;; U+067e & ARABIC LETTER PEH & | ||
| 220 | ("t" ?ت) | 349 | ("t" ?ت) |
| 350 | ("tt" ?ت) | ||
| 221 | ("c" ?ث) | 351 | ("c" ?ث) |
| 352 | ("cc" ?ث) | ||
| 222 | ("j" ?ج) | 353 | ("j" ?ج) |
| 223 | ("ch" ?چ) | 354 | ("ch" ?چ) |
| 224 | ("hh" ?ح) | 355 | ("h" ?ح) |
| 225 | ("kh" ?خ) | 356 | ("kh" ?خ) |
| 226 | ("d" ?د) | 357 | ("d" ?د) |
| 227 | ("Z" ?ذ) | 358 | ("Z" ?ذ) |
| 228 | ("r" ?ر) | 359 | ("r" ?ر) |
| 229 | ("z" ?ز) | 360 | ("z" ?ز) |
| 361 | ("zz" ?ز) | ||
| 230 | ("zh" ?ژ) | 362 | ("zh" ?ژ) |
| 231 | ("s" ?س) | 363 | ("s" ?س) |
| 364 | ("ss" ?س) | ||
| 232 | ("sh" ?ش) | 365 | ("sh" ?ش) |
| 233 | ("S" ?ص) | 366 | ("S" ?ص) |
| 234 | ("x" ?ض) | 367 | ("x" ?ض) |
| 235 | ("T" ?ط) | 368 | ("T" ?ط) |
| 369 | ("TT" ?ط) | ||
| 236 | ("X" ?ظ) | 370 | ("X" ?ظ) |
| 237 | ("w" ?ع) | 371 | ("w" ?ع) |
| 238 | ("Q" ?غ) | 372 | ("q" ?غ) |
| 239 | ("f" ?ف) | 373 | ("f" ?ف) |
| 240 | ("q" ?ق) | 374 | ("Q" ?ق) |
| 241 | ("gh" ?ق) | 375 | ("gh" ?ق) |
| 242 | ("k" ?ک) | 376 | ("k" ?ک) |
| 243 | ("K" ?ك) ;; Arabic kaf | 377 | ("kk" ?ک) |
| 244 | ("g" ?گ) | 378 | ("g" ?گ) |
| 379 | ("gg" ?گ) | ||
| 245 | ("l" ?ل) | 380 | ("l" ?ل) |
| 246 | ("lh" ?ﻻ) | ||
| 247 | ("m" ?م) | 381 | ("m" ?م) |
| 248 | ("n" ?ن) | 382 | ("n" ?ن) |
| 249 | ("v" ?و) | 383 | ("v" ?و) |
| 250 | ("V" ?ؤ) | ||
| 251 | ("u" ?و) | 384 | ("u" ?و) |
| 385 | ("V" ?ؤ) | ||
| 252 | ("H" ?ه) | 386 | ("H" ?ه) |
| 253 | ("h" ?ه) | 387 | ("y" ?ی) |
| 254 | ("th" ?ة) ;; ta marbuteh | 388 | ("i" ?ی) |
| 255 | ("yh" ?ۀ) ;; he ye | ||
| 256 | ("y" ?ى) | ||
| 257 | ("i" ?ي) | ||
| 258 | ("I" ?ئ) | 389 | ("I" ?ئ) |
| 259 | 390 | ||
| 391 | |||
| 392 | ;;;;;;;;;;; isiri-6219 Table 6 -- جدول ۶ - حروِفِ عربی | ||
| 393 | ("F" ?إ) | ||
| 394 | ("D" ?\u0671) ;; (ucs-insert #x0671)ٱ named: حرفِ الفِ وصل | ||
| 395 | ("K" ?ك) ;; Arabic kaf | ||
| 396 | ("Th" ?ة) ;; ta marbuteh | ||
| 397 | ("Y" ?ي) | ||
| 398 | ("YY" ?ي) | ||
| 399 | ("Yh" ?ى) | ||
| 400 | |||
| 401 | ;;;;;;;;;;; isiri-6219 Table 4 -- جدول ۴ - ارقام و علائم ریاضی | ||
| 402 | ("0" ?۰) | ||
| 260 | ("1" ?۱) | 403 | ("1" ?۱) |
| 261 | ("2" ?۲) | 404 | ("2" ?۲) |
| 262 | ("3" ?۳) | 405 | ("3" ?۳) |
| @@ -266,31 +409,106 @@ Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards. | |||
| 266 | ("7" ?۷) | 409 | ("7" ?۷) |
| 267 | ("8" ?۸) | 410 | ("8" ?۸) |
| 268 | ("9" ?۹) | 411 | ("9" ?۹) |
| 269 | ("0" ?۰) | ||
| 270 | 412 | ||
| 271 | ("F" ?إ) | 413 | ("\\/" ?\u066B) ;; (ucs-insert #x066B)٫ named: ممیزِ فارسی |
| 272 | ("G" ?أ) | 414 | ("\\," ?\u066C) ;; (ucs-insert #x066C)٬ named: جداکنندهی هزارهای فارسی |
| 415 | ("%" ?\u066A) ;; (ucs-insert #x066A)٪ named: درصدِ فارسی | ||
| 416 | ("+" ?\u002B) ;; (ucs-insert #x002B)+ named: علامتِ بهاضافه | ||
| 417 | ("-" ?\u2212) ;; (ucs-insert #x2212)− named: علامتِ منها | ||
| 418 | ("\\*" ?\u00D7) ;; (ucs-insert #x00D7)× named: علامتِ ضرب | ||
| 419 | ("\\%" ?\u007F) ;; (ucs-insert #x00F7)÷ named: علامتِ تقسیم | ||
| 420 | ("<" ?\u003C) ;; (ucs-insert #x003C)< named: علامتِ کوچکتر | ||
| 421 | ("=" ?\u003D) ;; (ucs-insert #x003D)= named: علامتِ مساوی | ||
| 422 | (">" ?\u003E) ;; (ucs-insert #x003E)> named: علامتِ بزرگتر | ||
| 273 | 423 | ||
| 274 | ("~" ?ّ) ;; tashdid ;; تشديد فارسى | 424 | |
| 275 | ("`" ?ٓ) | 425 | ;;;;;;;;;;; isiri-6219 Table 2 -- جدول ۲ - علائم نقطه گذاریِ مشترک |
| 276 | ("e" ?ِ) ;; zir زير فارسى -- فتحه | 426 | ;;; Space |
| 277 | ("E" ?ٍ) ;; eizan ;; دو زير فارسى -- تنوين جر | ||
| 278 | ("#" ?ً) ;; ً tanvin nasb ;; دو زبر فارسى -- تنوين نصب | ||
| 279 | ("@" ?ْ) ;; ساکن فارسى | ||
| 280 | ("^" ?َ) ;; zbar ;; زبر فارسى -- فتحه | ||
| 281 | ("o" ?ُ) ;; peesh ;; پيش فارسى -- ضمه | ||
| 282 | ("O" ?ٌ) ;; دو پيش فارسى -- تنوين رفع | ||
| 283 | ("?" ?؟) ;; alamat soal | ||
| 284 | ("&" ?ٔ) ;; همزه فارسى بالا | ||
| 285 | ("$" ?ء) ;; hamzeh | ||
| 286 | ("%" ?÷) ;; | ||
| 287 | ("*" ?×) ;; | ||
| 288 | (";" ?؛) ;; | ||
| 289 | (",h" ?،) ;; farsi | ||
| 290 | (",h" ?,) ;; latin | ||
| 291 | ("." ?.) ;; | 427 | ("." ?.) ;; |
| 428 | (":" ?\u003A) ;; (ucs-insert #x003A): named: | ||
| 429 | ("!" ?\u0021) ;; (ucs-insert #x0021)! named: | ||
| 430 | ("\\." ?\u2026) ;; (ucs-insert #x2026)… named: | ||
| 431 | ("\\-" ?\u2010) ;; (ucs-insert #x2010)‐ named: | ||
| 432 | ("-" ?\u002D) ;; (ucs-insert #x002D)- named: | ||
| 433 | ("|" ?|) | ||
| 434 | ;;("\\\\" ?\) | ||
| 435 | ("//" ?/) | ||
| 436 | ("*" ?\u002A) ;; (ucs-insert #x002A)* named: | ||
| 437 | ("(" ?\u0028) ;; (ucs-insert #x0028)( named: | ||
| 438 | (")" ?\u0029) ;; (ucs-insert #x0029)) named: | ||
| 439 | ("[" ?\u005B) ;; (ucs-insert #x005B)[ named: | ||
| 440 | ("[" ?\u005D) ;; (ucs-insert #x005D)] named: | ||
| 441 | ("{" ?\u007B) ;; (ucs-insert #x007B){ named: | ||
| 442 | ("}" ?\u007D) ;; (ucs-insert #x007D)} named: | ||
| 443 | ("\\<" ?\u00AB) ;; (ucs-insert #x00AB)« named: | ||
| 444 | ("\\>" ?\u00BB) ;; (ucs-insert #x00BB)» named: | ||
| 445 | |||
| 446 | |||
| 447 | ;;;;;;;;;;; isiri-6219 Table 3 -- جدول ۳ - علائم نقطه گذاریِ فارسی | ||
| 448 | ("," ?،) ;; farsi | ||
| 449 | (";" ?؛) ;; | ||
| 450 | ("?" ?؟) ;; alamat soal | ||
| 292 | ("_" ?ـ) ;; | 451 | ("_" ?ـ) ;; |
| 293 | ) | ||
| 294 | 452 | ||
| 295 | 453 | ||
| 454 | ;;;;;;;;;;; isiri-6219 Table 1 -- جدول ۱ - نویسههای کنترلی | ||
| 455 | ;; LF | ||
| 456 | ;; CR | ||
| 457 | ("‌" ?\u200C) ;; (ucs-insert #x200C) named: فاصلهی مجازی | ||
| 458 | ("/" ?\u200C) ;; | ||
| 459 | ("‍" ?\u200D) ;; (ucs-insert #x200D) named: اتصالِ مجازی | ||
| 460 | ("J" ?\u200D) ;; | ||
| 461 | ("‎" ?\u200E) ;; (ucs-insert #x200E) named: نشانهی چپبهراست | ||
| 462 | ("‏" ?\u200F) ;; (ucs-insert #x200F) named: نشانهی راستبهچپ | ||
| 463 | ("&ls;" ?\u2028) ;; (ucs-insert #x2028) named: جداکنندهی سطرها | ||
| 464 | ("&ps;" ?\u2028) ;; (ucs-insert #x2029) named: جداکنندهی بندها | ||
| 465 | ("&lre;" ?\u202A) ;; (ucs-insert #x202A) named: زیرمتنِ چپبهراست | ||
| 466 | ("&rle;" ?\u202B) ;; (ucs-insert #x202B) named: زیرمتنِ راستبهچپ | ||
| 467 | ("&pdf;" ?\u202C) ;; (ucs-insert #x202C) named: پایانِ زیرمتن | ||
| 468 | ("&lro;" ?\u202D) ;; (ucs-insert #x202D) named: زیرمتنِ اکیداً چپبهراست | ||
| 469 | ("&rlo;" ?\u202D) ;; (ucs-insert #x202E) named: زیرمتنِ اکیداً راستبهچپ | ||
| 470 | ("&bom;" ?\uFEFF) ;; (ucs-insert #xFEFF) named: نشانهی ترتیبِ بایتها | ||
| 471 | |||
| 472 | |||
| 473 | ;;;;;;;;;;; isiri-6219 Table 7 -- جدول ۷ - نشانههایِ فارسی | ||
| 474 | ("^" ?َ) ;; zbar ;; زبر فارسى | ||
| 475 | ("e" ?ِ) ;; zir زير فارسى | ||
| 476 | ("o" ?ُ) ;; peesh ;; پيش فارسى -- ضمه | ||
| 477 | ("E" ?ٍ) ;; eizan ;; دو زير فارسى -- تنوين جر | ||
| 478 | ("#" ?ً) ;; دو زبر | ||
| 479 | ("O" ?ٌ) ;; دو پيش فارسى -- تنوين رفع | ||
| 480 | ("~" ?ّ) ;; tashdid ;; تشديد فارسى | ||
| 481 | ("@" ?ْ) ;; ساکن فارسى | ||
| 482 | ("U" ?\u0653) ;; (ucs-insert #x0653)ٓ named: مدِ فارسی | ||
| 483 | ("`" ?ٔ) ;; همزه فارسى بالا | ||
| 484 | ("C" ?\u0655) ;; (ucs-insert #x0655)ٕ named: همزه فارسى پایین | ||
| 485 | ("$" ?\u0670) ;; (ucs-insert #x0670)ٰ named: الفِ مقصورهی فارسی | ||
| 486 | |||
| 487 | |||
| 488 | ;;;;;;;;;;; isiri-6219 Table 8 - Forbiden Characters -- جدول ۸ - نویسههایِ ممنوع | ||
| 489 | ;; ;; he ye (ucs-insert 1728) kills emacs-24.0.90 | ||
| 490 | ;; arabic digits 0-9 | ||
| 491 | |||
| 492 | |||
| 493 | ;;;;;;; Latin Extensions | ||
| 494 | ("\\" ?\\) ;; خط اريب وارو | ||
| 495 | ("\\\\" ?\\) | ||
| 496 | ("\\~" ?~) | ||
| 497 | ("\\@" ?@) | ||
| 498 | ("\\#" ?#) | ||
| 499 | ("\\$" ?\uFDFC) ;; (ucs-insert #xFDFC)﷼ named: | ||
| 500 | ("\\^" ?^) | ||
| 501 | ("\\1" ?1) | ||
| 502 | ("\\2" ?2) | ||
| 503 | ("\\3" ?3) | ||
| 504 | ("\\4" ?4) | ||
| 505 | ("\\5" ?5) | ||
| 506 | ("\\6" ?6) | ||
| 507 | ("\\7" ?7) | ||
| 508 | ("\\8" ?8) | ||
| 509 | ("\\9" ?9) | ||
| 510 | ("\\0" ?0) | ||
| 511 | |||
| 512 | ) | ||
| 513 | |||
| 296 | ;;; persian.el ends here | 514 | ;;; persian.el ends here |