Emacs-21.1 で utf-8 に対応されましたが、U+0000..U+33FF と U+E000..U+FFFF
の文字にしか対応しておらず、日本語等を取り扱えませんでした。
Emacs-22.1 にて utf-translate-cjk-mode というマイナーモードが追加され、
CJK に限り変換ができるようになるようです。このマイナーモードはデフォルトで
有効となっているので、設定は特に必要としません。
デフォルトでは U+0080 - U+2E7F の文字は mule-unicode-XXXX-XXXX にデコード
されますが、utf-translate-cjk-unicode-range を設定することで、
CJK にデコードすることができます。
設定例は以下の通りです。
(utf-translate-cjk-set-unicode-range
'((#x00a2 . #x00a3) ; ¢, £
(#x00a7 . #x00a8) ; §, ¨
(#x00ac . #x00ac) ; ¬
(#x00b0 . #x00b1) ; °, ±
(#x00b4 . #x00b4) ; ´
(#x00b6 . #x00b6) ; ¶
(#x00d7 . #x00d7) ; ×
(#X00f7 . #x00f7) ; ÷
(#x0370 . #x03ff) ; Greek and Coptic
(#x0400 . #x04FF) ; Cyrillic
(#x2000 . #x206F) ; General Punctuation
(#x2100 . #x214F) ; Letterlike Symbols
(#x2190 . #x21FF) ; Arrows
(#x2200 . #x22FF) ; Mathematical Operators
(#x2300 . #x23FF) ; Miscellaneous Technical
(#x2500 . #x257F) ; Box Drawing
(#x25A0 . #x25FF) ; Geometric Shapes
(#x2600 . #x26FF) ; Miscellaneous Symbols
(#x2e80 . #xd7a3) (#xff00 . #xffef)))
subst-jis は glibc の変換テーブルを基にしているようで、Windows の変換テーブルと いくつかの文字が違います。 subst-win.elをロードすると、Windows の 変換テーブルに従った encode / decode が行われるようになります。