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