| 1 | ;;; misc-lang.el --- support for miscellaneous languages (characters) -*- no-byte-compile: t -*- |
| 2 | |
| 3 | ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, |
| 4 | ;; 2005, 2006, 2007, 2008, 2009, 2010, 2011 |
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 6 | ;; Registration Number H14PRO021 |
| 7 | |
| 8 | ;; Keywords: multilingual, character set, coding system |
| 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 | ;;; Code: |
| 28 | |
| 29 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 30 | ;;; IPA (International Phonetic Alphabet) |
| 31 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 32 | |
| 33 | (set-language-info-alist |
| 34 | "IPA" '((charset . (ipa)) |
| 35 | (coding-priority utf-8) |
| 36 | (coding-system utf-8) |
| 37 | (input-method . "ipa") |
| 38 | (nonascii-translation . ipa) |
| 39 | (documentation . "\ |
| 40 | IPA is International Phonetic Alphabet for English, French, German |
| 41 | and Italian."))) |
| 42 | |
| 43 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 44 | ;; Arabic |
| 45 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 46 | |
| 47 | (define-coding-system 'iso-8859-6 |
| 48 | "ISO-8859-6 based encoding (MIME:ISO-8859-6)." |
| 49 | :coding-type 'charset |
| 50 | :mnemonic ?6 |
| 51 | :charset-list '(iso-8859-6) |
| 52 | :mime-charset 'iso-8859-6) |
| 53 | |
| 54 | (define-coding-system 'windows-1256 |
| 55 | "windows-1256 (Arabic) encoding (MIME: WINDOWS-1256)" |
| 56 | :coding-type 'charset |
| 57 | :mnemonic ?A |
| 58 | :charset-list '(windows-1256) |
| 59 | :mime-charset 'windows-1256) |
| 60 | (define-coding-system-alias 'cp1256 'windows-1256) |
| 61 | |
| 62 | (set-language-info-alist |
| 63 | "Arabic" '((charset unicode) |
| 64 | (coding-system utf-8 iso-8859-6 windows-1256) |
| 65 | (coding-priority utf-8 iso-8859-6 windows-1256) |
| 66 | (input-method . "arabic") |
| 67 | (sample-text . "Arabic السّلام عليكم") |
| 68 | (documentation . "Bidirectional editing is supported."))) |
| 69 | |
| 70 | (set-char-table-range |
| 71 | composition-function-table |
| 72 | '(#x600 . #x6FF) |
| 73 | (list ["[\u0600-\u06FF]+" 0 font-shape-gstring])) |
| 74 | |
| 75 | (provide 'misc-lang) |
| 76 | |
| 77 | ;;; misc-lang.el ends here |