Header fix.
[elisp/apel.git] / mcs-xm.el
index 5caf854..0fd6d8d 100644 (file)
--- a/mcs-xm.el
+++ b/mcs-xm.el
@@ -1,6 +1,6 @@
 ;;; mcs-xm.el --- MIME charset implementation for XEmacs-mule
 
-;; Copyright (C) 1997,1998 Free Software Foundation, Inc.
+;; Copyright (C) 1997,1998,1999 Free Software Foundation, Inc.
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Keywords: emulation, compatibility, Mule
 
 
 (defcustom mime-charset-decoder-alist
-  '((iso-2022-jp . decode-mime-charset-region-with-iso646-unification)
-    (iso-2022-jp-2 . decode-mime-charset-region-with-iso646-unification)
-    (x-ctext . decode-mime-charset-region-with-iso646-unification)
-    (hz-gb-2312 . decode-mime-charset-region-for-hz)
-    (t . decode-mime-charset-region-default))
+  (let ((alist
+        '((hz-gb-2312 . decode-mime-charset-region-for-hz)
+          (t . decode-mime-charset-region-default))))
+    (if (featurep 'utf-2000)
+       alist
+      (list*
+       '(iso-2022-jp . decode-mime-charset-region-with-iso646-unification)
+       '(iso-2022-jp-2 . decode-mime-charset-region-with-iso646-unification)
+       alist)))
   "Alist MIME-charset vs. decoder function."
   :group 'i18n
   :type '(repeat (cons mime-charset function)))
        (decode-coding-region start end cs)
       )))
 
-(defcustom mime-iso646-character-unification-alist
-  (eval-when-compile
-    (let (dest
-         (i 33))
-      (while (< i 92)
-       (setq dest
-             (cons (cons (char-to-string (make-char 'latin-jisx0201 i))
-                         (format "%c" i))
-                   dest))
-       (setq i (1+ i)))
-      (setq i 93)
-      (while (< i 126)
-       (setq dest
-             (cons (cons (char-to-string (make-char 'latin-jisx0201 i))
-                         (format "%c" i))
-                   dest))
-       (setq i (1+ i)))
-      (nreverse dest)))
-  "Alist unified string vs. canonical string."
-  :group 'i18n
-  :type '(repeat (cons string string)))
-
-(defcustom mime-unified-character-face nil
-  "*Face of unified character."
-  :group 'i18n
-  :type 'face)
-
-(defcustom mime-character-unification-limit-size 2048
-  "*Limit size to unify characters."
-  :group 'i18n
-  :type 'integer)
-
-(defun decode-mime-charset-region-with-iso646-unification (start end charset
-                                                                lbt)
-  (decode-mime-charset-region-default start end charset lbt)
-  (if (<= (- end start) mime-character-unification-limit-size)
-      (save-excursion
-       (let ((rest mime-iso646-character-unification-alist))
-         (while rest
-           (let ((pair (car rest)))
-             (goto-char (point-min))
-             (while (search-forward (car pair) nil t)
-               (let ((str (cdr pair)))
-                 (put-text-property 0 (length str)
-                                    'face mime-unified-character-face str)
-                 (replace-match str 'fixed-case 'literal)
-                 )
-               ))
-           (setq rest (cdr rest)))))
-    ))
+(unless (featurep 'utf-2000)
+  (require 'mcs-xmu))
 
 (defun decode-mime-charset-region-for-hz (start end charset lbt)
   (if lbt
     ((ascii korean-ksc5601)                            . euc-kr)
     ((ascii chinese-gb2312)                            . gb2312)
     ((ascii chinese-big5-1 chinese-big5-2)             . big5)
+    ((ascii thai-xtis)                                 . tis-620)
     ((ascii latin-iso8859-1 greek-iso8859-7
            latin-jisx0201 japanese-jisx0208-1978
            chinese-gb2312 japanese-jisx0208
@@ -202,6 +159,7 @@ Return nil if corresponding MIME-charset is not found."
 ;;; @ end
 ;;;
 
-(provide 'mcs-xm)
+(require 'product)
+(product-provide (provide 'mcs-xm) (require 'apel-ver))
 
 ;;; mcs-xm.el ends here