]> code.delx.au - gnu-emacs/blob - lisp/language/persian.el
8860acd1ca444fdb37f408cebc0f6096b7288799
[gnu-emacs] / lisp / language / persian.el
1 ;;; persian.el --- support for Persian -*- coding: utf-8;-*-
2
3 ;; Copyright (C) 2012 Free Software Foundation, Inc.
4
5 ;; Author: Mohsen BANAN <libre@mohsen.1.banan.byname.net>
6 ;; X-URL: http://mohsen.1.banan.byname.net/contact
7
8 ;; Keywords: multilingual, Farsi, Persian
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
25 ;;; Commentary:
26
27 ;; For Persian, the character set ISO8859-6 is supported. (Same as Arabic)
28
29 ;;; Code:
30
31 (define-coding-system 'iso-8859-6
32 "ISO-8859-6 based encoding (MIME:ISO-8859-6)."
33 :coding-type 'charset
34 :mnemonic ?6
35 :charset-list '(iso-8859-6)
36 :mime-charset 'iso-8859-6)
37
38 (define-coding-system 'windows-1256
39 "windows-1256 (Arabic) encoding (MIME: WINDOWS-1256)"
40 :coding-type 'charset
41 :mnemonic ?A
42 :charset-list '(windows-1256)
43 :mime-charset 'windows-1256)
44
45 (define-coding-system-alias 'cp1256 'windows-1256)
46
47 (set-language-info-alist
48 "Persian" '((charset unicode)
49 (coding-system utf-8 iso-8859-6 windows-1256)
50 (coding-priority utf-8 iso-8859-6 windows-1256)
51 (input-method . "farsi-transliterate-banan")
52 (sample-text . "Persian فارسی")
53 (documentation . "Bidirectional editing is supported.")))
54
55 (set-char-table-range
56 composition-function-table
57 '(#x600 . #x6FF)
58 (list ["[\u0600-\u06FF]+" 0 font-shape-gstring]))
59
60 (provide 'persian)
61
62 ;;; persian.el ends here