【コラム】
OS X ハッキング!
83 Carbon Emacsの設定(4)
2004/03/15
日本ではイマイチ存在感が薄かったBluetoothだが、auのCDMA2000 1x端末「A5504T」が発表されるなど、ようやく本格的な普及の兆しを見せ始めた。筆者もこの数ヶ月ほどApple Wireless Keyboardを使っているのだが……もはや有線の世界に、僕は、僕は帰れない。Happy Hacking Keyboardよ、君を忘れて変わってく僕を許して〜♪
さて、1回間をおいてしまったが、再びCarbon Emacsの設定について。今回は、CVSにマージされる見込みすら未定の、開発が始まったばかりでごく限られたユーザしか試していないパッチおよびlispプログラムの紹介だ。
待望のインラインパッチが登場
他のOSで動作するEmacs(Emacs 21)では、カーソル位置に日本語IMEの変換候補を表示しつつ入力作業を進める「インライン入力」は当然の機能として利用されている。Carbon Emacsも、シェルから起動(emacs -nw)すればインライン入力は可能だが、Aquaのウインドウとして表示されるモードでインライン入力できないとなると魅力は半減してしまう。
この日本人ユーザの悲願(?)を果たすのが、橋本泰一氏作の題して「インライン入力パッチ」だ。2004年2月26日時点におけるCarbon Emacs(CVS版Emacs)のソースコードに対するパッチであり、それ以降に入手したソースコードに適用するとリジェクト(当てるべきソースを検出できなかったときに発生するエラー)される可能性があるため、以下に示す手順に従い日付を指定しダウンロードしてほしい。
$ export CVS_RSH="ssh"
$ cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co -D "2004-03-04" emacs
$ curl -O http://pcweb.mycom.co.jp/column/osx/083/emacs-im-pacth-040226.patch.gz
$ cd emacs
$ zcat ../emacs-im-pacth-040226.patch.gz | patch -p0
(以下の作業は当コラム第81回を参照のこと)
コンパイル後、Carbon Emacsの初期化ファイル(~/.emacs.el)でキーボードの符号化形式として「utf-8」を指定すれば準備完了だ。当コラムでは、第79回から第81回の3回にわたり~/.emacs.elのサンプルを断続的に掲載しているが、そこで示した行番号に従うと、第9行を変更すればいいことになる。はじめてCarbon Emacsに挑戦しようという読者は、第79〜81回のリストを入力後、第9行を以下のとおり修正してほしい。
9 (set-keyboard-coding-system 'utf-8)
その後Carbon Emacsを起動すると……一般的なCocoa/Carbonアプリと同様、[command]-[SPC]を押せば、ことえりやATOKを利用したインライン入力が可能となる。これまでのインライン入力非対応のCarbon Emacsでは、かな漢字変換時に目線をCarbon Emacsのウインドウの外へ移動しなければならなかったが、これでスイスイと文章を入力できるようになるはずだ。
なお、インライン入力パッチは開発途上であり、IME有効時にインクリメンタルサーチが機能しない、記号など一部の文字を入力できない、といった不具合が存在する。作者の橋本氏はバグ発見などの報告を求めているので、気付いた点はパッチに記載されている氏のメールアドレスへ連絡してほしい。また、このパッチは日本語以外のIMEでも利用可能(のはず)だが、今のところ日本語IME以外の動作報告はないとのことなので、日本語以外の言語環境で利用している読者にも是非協力をお願いしたい。
Diredモードで濁点/半濁点を表示
OS Xのファイルシステム(HFS+)およびCocoa/Carbon APIでは、ファイル名の符号化形式としてUTF-8を採用しているが、文字の合成/分解にUnicode 3準拠のNFD(Normalization Form D)を使用する。その結果、他のプラットフォームで使用されているUTF-8との"方言"が生じてしまい、濁点/半濁点を含むファイル/フォルダを正しく表示できないという問題が発生する。
Emacs上で動作するファイラの一種「Diredモード(M-x dired)」でもこの問題は起こるが、銭谷誠司氏が作成したEmacs Lispプログラムを利用することで回避可能だ。試しに、~/Library/elispディレクトリにそのプログラム(utf-8m.el)を保存し、以下に示すリストを~/.emacs.elに追加してほしい。これで、Diredモードで「が」や「パ」といった文字を含むファイル/フォルダを表示できるようになるはずだ。
$ curl -O http://pcweb.mycom.co.jp/column/osx/083/utf-8m.el
$ cp utf-8m.el ~/Library/elisp/
45 (setq load-path (cons (expand-file-name
46 "/Users/ユーザ名/Library/elisp") load-path))
47 (load "utf-8m")
48 (set-file-name-coding-system 'utf-8m)
これで、Carbon Emacsシリーズはひとまず終了。なお、大幅な機能の変更があったときには、再び当コラムで取りあげる予定だ。
ヘッドライン
- アイ・オー・データ、REGZAの録画にも使えるカードリッジ式外付けHDD[19:20 3/10]周辺機器
- 日本エイサー、最大30,000円のキャッシュバックキャンペーン[18:52 3/10]本体
- アイ・オー・データ、iVDR-SカートリッジをPCで利用するためのUSBアダプタ[18:11 3/10]周辺機器
- Microsoft、Windows 2000/XP SP2/Vista RTMのサポートを終了[17:36 3/10]ソフト
- ロジクール、メイプルストーリー推奨認定記念で特典付ゲームコントローラ[16:52 3/10]周辺機器
- Valve、「Steam」と「Source」エンジンでMacにネイティブ対応[16:24 3/10]アップル
- 画像ファイルを一括変換!「スグレモ 縮画ツール」が発売[15:44 3/10]ソフト
- 【レポート】マイクロソフト、月例のセキュリティ更新プログラムを公開[14:53 3/10]ソフト
- GIGABYTE、Atom D510搭載のUD3品質Mini-ITXマザーボード「GA-D510UD」[13:53 3/10]自作
- バッファロー、外付けHDDと外付けポータブルDVDで最大17%値下げ[13:34 3/10]周辺機器









