]> code.delx.au - gnu-emacs/blobdiff - lisp/international/mule-conf.el
Update copyright year to 2014 by running admin/update-copyright.
[gnu-emacs] / lisp / international / mule-conf.el
index f53b69eed8bb17cdfc6613e0b7d0ce89359d14ea..7ae4426ccc56f4acd936feb1475a216b0f85b4dd 100644 (file)
@@ -1,8 +1,7 @@
 ;;; mule-conf.el --- configure multilingual environment
 
-;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-;;   2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 ;; Copyright (C) 2003
 (fmakunbound 'define-iso-single-byte-charset)
 
 ;; Can this be shared with 8859-11?
-;; N.b. not all of these are defined unicodes.
+;; N.b. not all of these are defined in Unicode.
 (define-charset 'thai-tis620
   "TIS620.2533"
   :short-name "TIS620.2533"
 (define-charset-alias 'cp866u 'cp1125)
 
 ;; Fixme: C.f. iconv, http://czyborra.com/charsets/codepages.html
-;; shows this as not ASCII comptaible, with various graphics in
+;; shows this as not ASCII compatible, with various graphics in
 ;; 0x01-0x1F.
 (define-charset 'cp437
   "CP437 (MS-DOS United States, Australia, New Zealand, South Africa)"
 
 ;; Lao script.
 ;; Codes 0x21..0x7E are mapped to Unicode U+0E81..U+0EDF.
-;; Not all of them are defined unicodes.
+;; Not all of them are defined in Unicode.
 (define-charset 'lao
   "Lao characters (ISO10646 0E81..0EDF)"
   :short-name "Lao"
 ;; script which IS-13194 supports.
 
 (define-charset 'indian-is13194
-  "Generic Indian charset for data exchange with IS 13194"
-  :short-name "IS 13194"
-  :long-name "Indian IS 13194"
+  "7-bit representation of IS 13194 (ISCII) for Devanagari"
+  :short-name "IS 13194 (DEV)"
+  :long-name "Indian IS 13194 (DEV)"
   :iso-final-char ?5
   :emacs-mule-id 225
   :supplementary-p t
   :code-space [33 126]
-  :code-offset #x180000)
+  :code-offset #x180000
+  :unify-map "MULE-is13194")
 
 (let ((code-offset #x180100))
   (dolist (script '(devanagari sanskrit bengali tamil telugu assamese
 (unify-charset 'ipa)
 (unify-charset 'tibetan)
 (unify-charset 'ethiopic)
+(unify-charset 'indian-is13194)
 (unify-charset 'japanese-jisx0208-1978)
 (unify-charset 'japanese-jisx0208)
 (unify-charset 'japanese-jisx0212)
 (define-coding-system-alias 'dos 'undecided-dos)
 (define-coding-system-alias 'mac 'undecided-mac)
 
+(define-coding-system 'prefer-utf-8
+  "Like `undecided' but prefer UTF-8 when appropriate.
+On decoding, if the source contains 8-bit codes and they all
+are valid UTF-8 sequences, detect the source as UTF-8 encoding
+regardless of the coding priority.
+On encoding, if the source contains non-ASCII characters, encode them
+by UTF-8."
+  :coding-type 'undecided
+  :mnemonic ?-
+  :charset-list '(emacs)
+  :prefer-utf-8 t)
+
 (define-coding-system 'raw-text
   "Raw text, which means text contains random 8-bit codes.
 Encoding text with this coding system produces the actual byte
@@ -1410,9 +1423,10 @@ is treated as a character."
   :flags '(ascii-at-eol ascii-at-cntl designation single-shift composition))
 
 (define-coding-system 'compound-text
-  "Compound text based generic encoding for decoding unknown messages.
-
-This coding system does not support extended segments of CTEXT."
+  "Compound text based generic encoding.
+This coding system is an extension of X's \"Compound Text Encoding\".
+It encodes many characters using the normal ISO-2022 designation sequences,
+but it doesn't support extended segments of CTEXT."
   :coding-type 'iso-2022
   :mnemonic ?x
   :charset-list 'iso-2022
@@ -1432,7 +1446,7 @@ This coding system does not support extended segments of CTEXT."
 ;; not have a mime-charset property, to prevent it from showing up
 ;; close to the beginning of coding systems ordered by priority.
 (define-coding-system 'ctext-no-compositions
- "Compound text based generic encoding for decoding unknown messages.
+ "Compound text based generic encoding.
 
 Like `compound-text', but does not produce escape sequences for compositions."
   :coding-type 'iso-2022
@@ -1445,8 +1459,9 @@ Like `compound-text', but does not produce escape sequences for compositions."
 (define-coding-system 'compound-text-with-extensions
  "Compound text encoding with ICCCM Extended Segment extensions.
 
-See the variable `ctext-non-standard-encodings-alist' for the
-detail about how extended segments are handled.
+See the variables `ctext-standard-encodings' and
+`ctext-non-standard-encodings-alist' for the detail about how
+extended segments are handled.
 
 This coding system should be used only for X selections.  It is inappropriate
 for decoding and encoding files, process I/O, etc."
@@ -1457,7 +1472,8 @@ for decoding and encoding files, process I/O, etc."
   :flags '(ascii-at-eol ascii-at-cntl long-form
                        designation locking-shift single-shift)
   :post-read-conversion 'ctext-post-read-conversion
-  :pre-write-conversion 'ctext-pre-write-conversion)
+  :pre-write-conversion 'ctext-pre-write-conversion
+  :mime-charset 'x-ctext)
 
 (define-coding-system-alias
   'x-ctext-with-extensions 'compound-text-with-extensions)
@@ -1506,6 +1522,7 @@ for decoding and encoding files, process I/O, etc."
 (setq file-coding-system-alist
       (mapcar (lambda (arg) (cons (purecopy (car arg)) (cdr arg)))
       '(("\\.elc\\'" . utf-8-emacs)
+       ("\\.el\\'" . prefer-utf-8)
        ("\\.utf\\(-8\\)?\\'" . utf-8)
        ("\\.xml\\'" . xml-find-file-coding-system)
        ;; We use raw-text for reading loaddefs.el so that if it
@@ -1553,5 +1570,4 @@ for decoding and encoding files, process I/O, etc."
 ;; code.
 (provide 'code-pages)
 
-;; arch-tag: 7d5fed55-b6df-42f6-8d3d-0011190551f5
 ;;; mule-conf.el ends here