(MAKEIT.BAT): Modify for apel-ja@lists.chise.org.
[elisp/apel.git] / mcs-xm.el
index 3497be1..cfb8320 100644 (file)
--- a/mcs-xm.el
+++ b/mcs-xm.el
@@ -1,9 +1,9 @@
 ;;; mcs-xm.el --- MIME charset implementation for XEmacs-mule
 
-;; Copyright (C) 1997,1998,1999 Free Software Foundation, Inc.
+;; Copyright (C) 1997,1998,1999,2000,2002,2010 Free Software Foundation, Inc.
 
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: emulation, compatibility, Mule
+;; Author: MORIOKA Tomohiko <tomo@m17n.org>
+;; Keywords: MIME-charset, coding-system, emulation, compatibility, Mule
 
 ;; This file is part of APEL (A Portable Emacs Library).
 
@@ -19,8 +19,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
@@ -29,7 +29,7 @@
 
 ;;; Code:
 
-(require 'mcs-20)
+(require 'poem)
 
 
 (defun encode-mime-charset-region (start end charset &optional lbt)
       )))
 
 (unless (featurep 'utf-2000)
-  (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 start)
-               (while (search-forward (car pair) end 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)))))
-      ))
-  )
+  (require 'mcs-xmu))
 
 (defun decode-mime-charset-region-for-hz (start end charset lbt)
   (if lbt
                       (assq t mime-charset-decoder-alist)))))
     (funcall func start end charset lbt)))
 
-(defsubst encode-mime-charset-string (string charset &optional lbt)
+(defun encode-mime-charset-string (string charset &optional lbt)
   "Encode the STRING as MIME CHARSET."
   (let ((cs (mime-charset-to-coding-system charset lbt)))
     (if cs
 
 
 (defvar charsets-mime-charset-alist
-  '(((ascii)                                           . us-ascii)
-    ((ascii latin-iso8859-1)                           . iso-8859-1)
-    ((ascii latin-iso8859-2)                           . iso-8859-2)
-    ((ascii latin-iso8859-3)                           . iso-8859-3)
-    ((ascii latin-iso8859-4)                           . iso-8859-4)
-    ((ascii cyrillic-iso8859-5)                                . iso-8859-5)
-;;; ((ascii cyrillic-iso8859-5)                                . koi8-r)
-    ((ascii arabic-iso8859-6)                          . iso-8859-6)
-    ((ascii greek-iso8859-7)                           . iso-8859-7)
-    ((ascii hebrew-iso8859-8)                          . iso-8859-8)
-    ((ascii latin-iso8859-9)                           . iso-8859-9)
-    ((ascii latin-jisx0201
-           japanese-jisx0208-1978 japanese-jisx0208)   . iso-2022-jp)
-    ((ascii latin-jisx0201
-           katakana-jisx0201 japanese-jisx0208)        . shift_jis)
-    ((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
-           korean-ksc5601 japanese-jisx0212)           . iso-2022-jp-2)
-    ;; ((ascii latin-iso8859-1 greek-iso8859-7
-    ;;         latin-jisx0201 japanese-jisx0208-1978
-    ;;         chinese-gb2312 japanese-jisx0208
-    ;;         korean-ksc5601 japanese-jisx0212
-    ;;         chinese-cns11643-1 chinese-cns11643-2)      . iso-2022-int-1)
-    ))
+  (delq
+   nil
+   `(((ascii)                                          . us-ascii)
+     ((ascii latin-iso8859-1)                          . iso-8859-1)
+     ((ascii latin-iso8859-2)                          . iso-8859-2)
+     ((ascii latin-iso8859-3)                          . iso-8859-3)
+     ((ascii latin-iso8859-4)                          . iso-8859-4)
+     ((ascii cyrillic-iso8859-5)                       . iso-8859-5)
+     ;;((ascii cyrillic-iso8859-5)                     . koi8-r)
+     ((ascii arabic-iso8859-6)                         . iso-8859-6)
+     ((ascii greek-iso8859-7)                          . iso-8859-7)
+     ((ascii hebrew-iso8859-8)                         . iso-8859-8)
+     ((ascii latin-iso8859-9)                          . iso-8859-9)
+     ,(if (find-coding-system 'iso-8859-14)
+         '((ascii latin-iso8859-14)                    . iso-8859-14))
+     ,(if (find-coding-system 'iso-8859-15)
+         '((ascii latin-iso8859-15)                    . iso-8859-15))
+     ;; ,(if (featurep 'utf-2000)
+     ;;      '((ascii latin-jisx0201
+     ;;               japanese-jisx0208-1978
+     ;;               japanese-jisx0208
+     ;;               japanese-jisx0208-1990)              . iso-2022-jp)
+     ;;    '((ascii latin-jisx0201
+     ;;             japanese-jisx0208-1978 japanese-jisx0208)
+     ;;      . iso-2022-jp))
+     ((ascii latin-jisx0201
+            japanese-jisx0208-1978 japanese-jisx0208)  . iso-2022-jp)
+     ;; ,(if (featurep 'utf-2000)
+     ;;      '((ascii latin-jisx0201
+     ;;               japanese-jisx0208-1978
+     ;;               japanese-jisx0208
+     ;;               japanese-jisx0208-1990
+     ;;               japanese-jisx0213-1
+     ;;               japanese-jisx0213-2)                 . iso-2022-jp-3)
+     ;;    '((ascii latin-jisx0201
+     ;;             japanese-jisx0208-1978 japanese-jisx0208
+     ;;             japanese-jisx0213-1
+     ;;             japanese-jisx0213-2)                   . iso-2022-jp-3))
+     ,(if (featurep 'utf-2000)
+         '((ascii latin-jisx0201 katakana-jisx0201
+                  japanese-jisx0208-1990)              . utf-8)
+       '((ascii latin-jisx0201
+                katakana-jisx0201 japanese-jisx0208)   . shift_jis))
+     ((ascii korean-ksc5601)                           . euc-kr)
+     ((ascii chinese-gb2312)                           . gb2312)
+     ((ascii chinese-big5-1 chinese-big5-2)            . big5)
+     ((ascii thai-xtis)                                        . tis-620)
+     ;; ,(if (featurep 'utf-2000)
+     ;;      '((ascii latin-jisx0201 latin-iso8859-1
+     ;;               greek-iso8859-7
+     ;;               japanese-jisx0208-1978 japanese-jisx0208
+     ;;               japanese-jisx0208-1990
+     ;;               japanese-jisx0212
+     ;;               chinese-gb2312
+     ;;               korean-ksc5601)              . iso-2022-jp-2)
+     ;;    '((ascii latin-jisx0201 latin-iso8859-1
+     ;;             greek-iso8859-7
+     ;;             japanese-jisx0208-1978 japanese-jisx0208
+     ;;             japanese-jisx0212
+     ;;             chinese-gb2312
+     ;;             korean-ksc5601)                        . iso-2022-jp-2))
+     ;;((ascii latin-iso8859-1 greek-iso8859-7
+     ;;        latin-jisx0201 japanese-jisx0208-1978
+     ;;        chinese-gb2312 japanese-jisx0208
+     ;;        korean-ksc5601 japanese-jisx0212
+     ;;        chinese-cns11643-1 chinese-cns11643-2)      . iso-2022-int-1)
+     )))
 
 
 (defun coding-system-to-mime-charset (coding-system)
@@ -209,6 +197,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