Mozc で(だいたい) T-Code風入力

漢直 Advent Calendar

この記事は漢直 Advent Calendar : ATNDのために書かれました。

Emacsの外での T-Code どうしてますか?

Emacs の中であれば、T-Code環境は tc2 一択でしょう。しかし、世の中にはEmacsの外で作業しなければならないことも多々あります。そういう時にT-Codeを使うにはどうしたらいいでしょうか?

というと、多くの人は uim でT-Codeを使っていることでしょう。uim のT-Codeサポートはなかなか優れていて交ぜ書きもできれば、部首合成もできます。(ちょっと賢くないのがたまにきず?)

さて、少しT-Codeから離れて日本語入力に目を向けてみると、最近はGoogle 日本語入力(Mozc)が流行っていますね。使ってみたいけど…ローマ字入力なのはちょっと…と思っていると…

なんと、MozcでもT-Codeが使える?

ということで、試してみました。

Mozc でT-Code

これには、Mozcのローマ字カスタマイズ機能を使います。まず、mozcのカスタマイズ画面を起動しましょう。

/usr/lib/mozc/mozc_tool --mode=config_dialog

すると、こんな画面がでてきます。

これの「ローマ字テーブル」で接定します。写真だともうT-Codeのものに置き換わっていますが、デフォルトだと、いわゆるローマ字のテーブルに矢印などのちょっとした設定が追加されたものがでてきてると思います。

まず、一番上のエントリをクリックしてから、一番下まで移動しシフトを押しながら一番下のエントリをクリックしてすでに登録されているエントリ全体を選択します。それから、「編集」の「選択されたエントリーを削除」して、「インポート」で次のテキストファイルを読みこませます。

https://gist.github.com/raw/751736/0f8e112c12bb31c4286a752122ccc2a5d971a8b3/roman.t-code.txt

これだけです。これでmozcでT-Codeが(ある程度)使えるようになります。どの程度、かと言うと

  • T-Code通りにひらがな・漢字がでてくる
  • 交ぜ書きは動いたり動かなかったり(あまり期待しないほうがいいです。
  • 部首合成はできない

と、まぁなんとも微妙ですが、ひらがなからの漢字変換に関してはさすがになかなか賢いのでしばらく使ってみようかと思っています。

与太話

どうやってあのテキストを作ったのか。 uim の T-Code の SchemeファイルからS式をコピペしてELispで処理しました。こんなソースコードですね。

https://gist.github.com/751734