summaryrefslogtreecommitdiff
path: root/lisp/language
diff options
context:
space:
mode:
authorMohsen BANAN <libre@mohsen.1.banan.byname.net>2012-08-06 00:31:31 -0700
committerGlenn Morris <rgm@gnu.org>2012-08-06 00:31:31 -0700
commitd5be7bd03b5d4efbe49a42358c67f712115dfb68 (patch)
tree4c2b11cee4d025acb57b53f40c7451d5bc3b3893 /lisp/language
parente296d94b3369d05eeeeffde728a8bf5de885c720 (diff)
downloademacs-d5be7bd03b5d4efbe49a42358c67f712115dfb68.tar.gz
* lisp/language/persian.el: New file.
* lisp/loadup.el: Add language/persian.el. Fixes: debbugs:11812
Diffstat (limited to 'lisp/language')
-rw-r--r--lisp/language/persian.el62
1 files changed, 62 insertions, 0 deletions
diff --git a/lisp/language/persian.el b/lisp/language/persian.el
new file mode 100644
index 00000000000..8860acd1ca4
--- /dev/null
+++ b/lisp/language/persian.el
@@ -0,0 +1,62 @@
+;;; persian.el --- support for Persian -*- coding: utf-8;-*-
+
+;; Copyright (C) 2012 Free Software Foundation, Inc.
+
+;; Author: Mohsen BANAN <libre@mohsen.1.banan.byname.net>
+;; X-URL: http://mohsen.1.banan.byname.net/contact
+
+;; Keywords: multilingual, Farsi, Persian
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; For Persian, the character set ISO8859-6 is supported. (Same as Arabic)
+
+;;; Code:
+
+(define-coding-system 'iso-8859-6
+ "ISO-8859-6 based encoding (MIME:ISO-8859-6)."
+ :coding-type 'charset
+ :mnemonic ?6
+ :charset-list '(iso-8859-6)
+ :mime-charset 'iso-8859-6)
+
+(define-coding-system 'windows-1256
+ "windows-1256 (Arabic) encoding (MIME: WINDOWS-1256)"
+ :coding-type 'charset
+ :mnemonic ?A
+ :charset-list '(windows-1256)
+ :mime-charset 'windows-1256)
+
+(define-coding-system-alias 'cp1256 'windows-1256)
+
+(set-language-info-alist
+ "Persian" '((charset unicode)
+ (coding-system utf-8 iso-8859-6 windows-1256)
+ (coding-priority utf-8 iso-8859-6 windows-1256)
+ (input-method . "farsi-transliterate-banan")
+ (sample-text . "Persian فارسی")
+ (documentation . "Bidirectional editing is supported.")))
+
+(set-char-table-range
+ composition-function-table
+ '(#x600 . #x6FF)
+ (list ["[\u0600-\u06FF]+" 0 font-shape-gstring]))
+
+(provide 'persian)
+
+;;; persian.el ends here