)))
(defcustom mime-iso646-character-unification-alist
- `,(let (dest
+ (eval-when-compile
+ (let (dest
(i 33))
(while (< i 92)
(setq dest
(format "%c" i))
dest))
(setq i (1+ i)))
- (nreverse dest))
+ (nreverse dest)))
"Alist unified string vs. canonical string."
:group 'i18n
:type '(repeat (cons string string)))
((ascii latin-jisx0201
katakana-jisx0201 japanese-jisx0208) . shift_jis)
((ascii korean-ksc5601) . euc-kr)
- ((ascii chinese-gb2312) . cn-gb-2312)
- ((ascii chinese-big5-1 chinese-big5-2) . cn-big5)
+ ((ascii chinese-gb2312) . gb2312)
+ ((ascii chinese-big5-1 chinese-big5-2) . big5)
((ascii latin-iso8859-1 greek-iso8859-7
latin-jisx0201 japanese-jisx0208-1978
chinese-gb2312 japanese-jisx0208
chinese-gb2312 japanese-jisx0208
korean-ksc5601 japanese-jisx0212
chinese-cns11643-1 chinese-cns11643-2) . iso-2022-int-1)
- ;; ((ascii latin-iso8859-1 latin-iso8859-2
- ;; cyrillic-iso8859-5 greek-iso8859-7
- ;; latin-jisx0201 japanese-jisx0208-1978
- ;; chinese-gb2312 japanese-jisx0208
- ;; korean-ksc5601 japanese-jisx0212
- ;; chinese-cns11643-1 chinese-cns11643-2
- ;; chinese-cns11643-3 chinese-cns11643-4
- ;; chinese-cns11643-5 chinese-cns11643-6
- ;; chinese-cns11643-7) . iso-2022-int-1)
))
+(defun coding-system-to-mime-charset (coding-system)
+ "Convert CODING-SYSTEM to a MIME-charset.
+Return nil if corresponding MIME-charset is not found."
+ (setq coding-system
+ (coding-system-name (coding-system-base coding-system)))
+ (or (car (rassq coding-system mime-charset-coding-system-alist))
+ coding-system))
+
+(defun mime-charset-list ()
+ "Return a list of all existing MIME-charset."
+ (let ((dest (mapcar (function car) mime-charset-coding-system-alist))
+ (rest (coding-system-list))
+ cs)
+ (while rest
+ (setq cs (coding-system-name (coding-system-base (car rest))))
+ (or (rassq cs mime-charset-coding-system-alist)
+ (memq cs dest)
+ (setq dest (cons cs dest)))
+ (setq rest (cdr rest)))
+ dest))
+
+
;;; @ end
;;;