emacs (;´Д`)ハァハァ問題について

[id:rna:20041022#p1] の続き。mule-ja ML で教えてもらった方法でとりあえず ATOK X からの入力に関しては解決しました(たぶん)。X からのペーストに関してはまだうまくいきません。

Mule-UCS の設定で、UNICODE の文字を変換する際にどの文字セットの文字として変換するかをコントロールできるそうです。具体的には un-define-change-charset-order を使うと、文字セットに優先順位をつけて優先順位の高い文字セットの文字に優先的に変換されるように設定できます。

そういうわけで以下のように設定すると ATOK X の辞書からは (;´Д`)ハァハァできるようになりました(ATOK パレットからの入力はなんかうまくいかない、ていうか入力できなくなってる?)。→以下の設定には問題があります[id:rna:20041031#p1]参照

(un-define-change-charset-order 
 (list
  'japanese-jisx0208 
  'katakana-jisx0201
  'ascii))

しかし、X からのコピペは相変わらず半角ラテン文字に化けます。

これとは別に開発中の emacs (CVS ツリーの HEAD タグのやつ)に半田さんが変換表のカスタマイズ機能をつけてくれたのですが、これを使っても X からのコピペは NG。

うーん。でもとりあえず一歩前進。

追記: 最新 emacs でコピペも OK に

GNU Emacs 21.3.50.3 の CVS HEAD 版でコピペも含めほぼ解決しました。半田さんに感謝。10/28 14:00 頃の時点のツリーで以下の設定で動作確認。

(set-language-environment "Japanese")
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(setq x-select-request-type 'UTF8_STRING) ; X からのコピペで必要
(utf-translate-cjk-set-unicode-range  ; 変換テーブルの設定
 '((#x2e80 . #xd7a3)
   (#xff00 . #xffef)
   (#xa7 . #xa7);§
   (#xb0 . #xb1);°±
   (#xb4 . #xb4);´
   (#xb6 . #xb6);¶
   (#xd7 . #xd7);×
   (#xf7 . #xf7);÷
   (#x370 . #x3ff);ギリシャ
   (#x400 . #x4ff);キリル
   (#x2000 . #x206f) ; 一般句読点
   (#x2103 . #x2103) ; ℃
   (#x212b . #x212b) ; Å
   (#x2190 . #x21ff) ; 矢印
   (#x2200 . #x22ff) ; 数学記号
   (#x2300 . #x23ff) ; 技術記号
   (#x2500 . #x257f) ; 罫線
   (#x25a0 . #x25ff) ; 幾何学模様
   (#x2600 . #x26ff) ; その他の記号
))
(utf-translate-cjk-load-tables) ; 変換テーブルの更新

ATOK, コピペ共に(;´Д`)ハァハァできました。でも半角カナが ATOK から入力できたりできなかったり*1。まだ流動的なので上の設定は不十分かもしれませんので注意。変換テーブルも一通り入れたつもりですが漏れがあるかも。余計な範囲も含んでいますが、それはたぶん実害はないと思われます。


*1:バッファによって豆腐になる。でも保存すると正しい文字が入っている。