- mime/charset-type-list))
-
-
-;;; @ coding-system
-;;;
-
-(defvar mime/charset-coding-system-alist
- (let* (csl
- (f (if (and running-xemacs-20 (featurep 'mule))
- (progn
- (setq csl (coding-system-list))
- (function
- (lambda (a cell)
- (if (memq (cdr cell) csl)
- (cons cell a)
- a))))
- (function
- (lambda (a cell)
- (let ((sym (symbol-concat "*" (cdr cell) "*")))
- (if (boundp sym)
- (cons (cons (car cell) (symbol-value sym)) a)
- a))))
- )))
- (foldr f nil
- '(("ISO-2022-JP" . junet)
- ("ISO-2022-KR" . iso-2022-kr)
- ("EUC-KR" . euc-kr)
- ("ISO-8859-1" . ctext)
- ("ISO-8859-2" . iso-8859-2)
- ("ISO-8859-3" . iso-8859-3)
- ("ISO-8859-4" . iso-8859-4)
- ("ISO-8859-5" . iso-8859-5)
- ("KOI8-R" . koi8)
- ("ISO-8859-7" . iso-8859-7)
- ("ISO-8859-8" . iso-8859-8)
- ("ISO-8859-9" . iso-8859-9)
- ("ISO-2022-JP-2" . iso-2022-ss2-7)
- ("X-ISO-2022-JP-2" . iso-2022-ss2-7)
- ("ISO-2022-INT-1" . iso-2022-int-1)
- ("SHIFT_JIS" . sjis)
- ("X-SHIFTJIS" . sjis)
- ("BIG5" . big5)
- ))))
-
-(defvar mime/default-coding-system *ctext*)
-
-(defun mime-charset-encode-string (str charset)
- (let ((cs (assoc charset mime/charset-coding-system-alist)))
- (if cs
- (character-encode-string str (cdr cs))
- )))
-
-(defun mime-charset-decode-string (str charset)
- (let ((cs (assoc charset mime/charset-coding-system-alist)))
- (if cs
- (character-decode-string str (cdr cs))
- )))
-
-(defun mime-charset-encode-region (beg end charset &optional encoding)
- (let ((ct
- (if (stringp charset)
- (cdr (assoc (upcase charset) mime/charset-coding-system-alist))
- mime/default-coding-system)))
- (if ct
- (character-encode-region beg end ct)
- )))
-
-(defun mime-charset-decode-region (beg end charset &optional encoding)
- (let ((ct
- (if (stringp charset)
- (cdr (assoc (upcase charset) mime/charset-coding-system-alist))
- mime/default-coding-system)))
- (if ct
- (character-decode-region beg end ct)
- )))