Nemacsには英数字を半角にするhankaku-regionというコマンドがあって、非常に重宝していたのだが、MuleそしてEmacs21と進むにつれていつの間にやら使えなくなっていた。
いつのまにやらjapan-util.elというモジュールができていて、japanese-hankaku-regionというコマンドが存在していることに気づく。
が、これをそのまま使うと、カナまで1byte文字に変換されてしまう。
そこで、
C-u M-x japanese-hankaku-region
しかしこれだと、音引き(ー)までハイフン(-)に変換されてしまう。
そこで、以下のコードを.emacsに加える。
(eval-after-load "japan-util"
'(progn
(put-char-code-property ?ー 'jisx0201 ?ー)
(put-char-code-property ?ー 'ascii nil)
(put-char-code-property ?ー 'jisx0208 ?ー)
(put-char-code-property ?ー 'ascii nil)
(put-char-code-property ?~ 'ascii nil)
(put-char-code-property ?、 'ascii nil)
(put-char-code-property ?。 'ascii nil)
(put-char-code-property ?, 'jisx0208 ?,)
(put-char-code-property ?. 'jisx0208 ?.)
))
参考にしたのは、以下のURL
Medowメーリングリスト
大文字小文字変換 - とりあえず暇だったし何となく始めたブログ