2008年10月13日

cannadic改 081012 補足 (追記2)

頭の中でうまくまとめられないので、先にこっちで説明してみます。

言いたかったことは要するに、「alt-cannadic/extra/ 以下には EUC-JP では表示できない文字を含んだエントリの辞書が入れてあり、それらを使うにはいくつか注意が必要」ということなんですが。
【追記】 10/14
要するに、(自分の記憶と調査が間違ってなければ)

・extra に入れてある辞書を使うなら、フロントエンドは現状ではほぼ uim 1択ですよ
・変換時には読みのケツに「t」を付ける必要がありますよ
・「t」が嫌なら、変えるなり取るなりしてくださいね

ということが主に言いたかったことです。

【追記】 10/18
uim で確認してみようと思ったら、ここ

 --enable-anthy-utf8-static (UTF-8版UimAnthyのスタティックビルド) (trunkのみ)
 --with-anthy-utf8 (UTF-8版UimAnthyをビルド) (trunkのみ)

って書いてあった…。
「なぬ? 以前試したのはもう一年以上前なのに、まだ正式対応じゃないの?」と思って、「もしかして情報が古いだけかも」と儚い期待にしがみつきつつ、uim-1.5.3 で試してみたけどやはりダメっぽい。「--with-anthy-utf8」を付けてもビルド&インストールはできるけど、anthy-utf8 がない…。
「情報が古いだけかも」どころか、むしろ逆に、自分が調べもせずに嘘書いたから書き足された可能性大かも。もしそうなら、ごめんなさい。

というわけで、使うには svn の trunk から取ってきて自力で入れる必要があるみたいです。

……「ibus も入れておいて、丸数字やローマ数字とかを入力したいときだけ ibus に切り替える」というのが、現状では一番簡単ってことになりますかね。

…と思ったけど、1.5.0 のリリースノートには

 - New IM uim-anthy-utf8

ってあるんだよなぁ。やっぱ、自分がミスってるだけ?
trunk(rev.5595)取ってきてやってみたけど、同じ状態だ。設定画面の左側「グループ」のところには「Anthy(UTF-8)」がいるんだけど、「全体設定」の「入力方式」の中には「Anthy」しかいなくて選択できない。「標準」の方も「副」の方も。前は「副」の方にだけいる状態だったと思うんだけど。

$ uim-sh
uim> enabled-im-list
(anthy skk latin direct)

あと、候補ウィンドウのフォントを設定するところってなかったんだっけか…?こっちは記憶がないな。

お、fedora は 10 から uim-1.5.x になって、uim-anthy に anthy-utf8 が入るみたいですね。ということは、やっぱあるんだ。嘘言ってなくてよかった & ちゃんとビルドできてないんだな…

10/19
「もしかして」と思って ~/.uim.d/ を消したらちゃんと出てきました。anthy-utf8(uim-1.5.3)。
よく見たら、「全体設定」のところに「使用可能にする入力方式」っていうのがあった。もしかしたら、 ~/.uim.d/ を消さなくてもここの「編集」ボタンを押して追加することでもできたかも。

注意点は大まかに言って 2点あります。「入れるまで」と「変換の仕方」です。


【入れるまで】
※以下、自分の怪しい理解に基づく説明なので、不正確な表現等があるかもしれません。

extra/ 以下の辞書を使うのに必要なもの:

* Anthy >= 8819
* JISX0213 に対応したフォント
* UTF-8 に対応したフロントエンド

このうち、上の 2つはまず問題ないと思います。今なら大抵のディストリビューションで、Anthy は 9100* でしょうし、フォントも IPA フォントや VL フォントが入ってると思いますので。

問題は「UTF-8 に対応したフロントエンド」です。
現在主流のデフォルト IM は scim-anthy-1.2.x だと思いますが、これは UTF-8 非対応なので変換しても extra の辞書の候補を表示できません。

じゃ、「UTF-8 に対応したフロントエンド」には何があるかというと、自分が知っている限りでは、

* uim-anthy >= 1.4.0 1.5.0
* scim-anthy >= 1.3.0
* ibus-anthy

ですが、このうち uim 以外は今のところ(?)実用にはならないので、実質的に uim-anthy が唯一の選択肢ということになります。ただ、uim の 1.4.0 以上というのは、パッケージのないディストリビューションもあるようなので、その場合は自力で入れることになります(openSUSE にはない。ubuntu もない? Fedora や debian はあるみたい?)。
scim-anthy-1.3.1 はちょっとだけ試してみたんですが、動きませんですた。

ちょっと試してみたいだけなら、ibus がバイナリがあって簡単みたいです(Fedora9, ubuntu8.04, ArchLinux, openSUSE)。

※Emacs で使う方法は自分が知らないので書きませんが、egg-anthy が UTF-8 に対応していたはずです。
【追記】 10/16
こちらにある変更を加えれば uim-el でも使えるみたいです(…でいいのかな? すみません、自分では確認してません)。……そうか、uim も UTF-8 を有効にしてビルドしてやらないとダメなんだったっけ。ということは、ディストリの公式 pkg があったとしても使えるとは限らないですね(というか、多分有効になってない気がするな)。Let's 自力! ですかね、やはり。

続き。…何やら大変そうですね。お疲れさまでした。

この 3つのもの(Anthy、フォント、フロントエンド)が揃えば、extra の辞書を使う条件が整ったことになります。

一番簡単な使い方は、個人用辞書として使う方法です。

1. imported_words_default.d/ がなければ作る
 $ mkdir ~/.anthy/imported_words_default.d/

2. alt-cannadic-20081012/extra/ から imported_words_default.d/ 以下に使いたい辞書ファイルをコピる

以上。
再ログインも IM の再起動も不要、コピった瞬間から使えるようです。

次に共有辞書に含めて使う場合。
anthy.dic の作り方はこれまでとさほど変わらないので、以下、ざっと流れだけ説明します。

1. alt-cannadic-20081012 を anthy のソース内にコピーし、
 $ cd anthy-9100e/
 $ mv alt-cannadic-20081012/Makefile alt-cannadic-20081012/Makefile.orig
 $ mv alt-cannadic/Makefile.{am,in} alt-cannadic-20081012/
 $ rm -rf alt-cannadic/
 $ mv alt-cannadic-20081012/ alt-cannadic/
 (本当は Makefile の手当てをしなければいけないんですが、端折ります)

2.
 $ mv mkworddic/dict.args.in mkworddic/dict.args.in.orig
 $ cp alt-cannadic/sample/dict.args.in.utf8 mkworddic/dict.args.in
 dict.args.in 編集(使いたくない辞書ファイルがあればコメントアウトする)

3. あとは、お決まりの手順で、最後に anthy.dic を既存のと置き換える
 $ ./configure
 $ make
 $ su
 # mv /usr/share/anthy/anthy.dic /usr/share/anthy/anthy.dic.orig
 # mv mkanthydic/anthy.dic /usr/share/anthy/
 再ログイン


【変換の仕方】

基本的にはすべて、「読み」に「t」(半角小文字)をつけて変換します。
例:
あおうみがめt → 黿
さんt → 巑
しもやけt → 瘃
※ここでは文字が表示されてませんが、後で wiki に転載すれば表示されるので許してください

ただし、「読み」が数字や記号になっているものは「t」をつけずにそのままで変換します。
例:
!? → ⁉
11 → ⅺ

逆に、出したい文字が記号であっても、「読み」が数字や記号で
ないなら、「t」をつけます
例:
けーけーt →
しょうわt →
じゅういちt → Ⅺ

ちなみに、今回から extra ではなくメインの方に入れた gt_okuri.ctd, gt_okuri.t ですが、こちらは "送り仮名や助詞を含めた「読み」" に「t」をつけて変換します。
例:
あうt → 会
あおるt → 煽
あたらしいt → 新
すでにt → 既
すなわちt → 即

尚、かな入力派の方など、「t」を読みとして入力できない方は、
sed やエディタなどでお好きな別の文字に置換してお使いください。

 例: 「t」の代わりに「ヶ」を使うようにする
 $ mv gt-tankanji_hikanji-34.t gt-tankanji_hikanji-34.t.orig
 $ sed 's/^\([^ ]\+\)t /\1ヶ /' gt-tankanji_hikanji-34.t.orig > gt-tankanji_hikanji-34.t


【「何で読みに"t"とか付けてるのか」について】
・gt_okuri.ctd, gt_okuri.t
普通に変換したときにこれらの候補が先に出てしまうのを避けるため。
尤も、この辞書は入れなくても多分実用上問題ないと思います。

・extra/ 以下のもの
MS-IME や ATOK ように、普通の読みで変換しても「この候補には JISX0213 の文字が含まれてますよ」という情報を候補ウィンドウに表示できればいいんですが、あいにくそういうことができるものがないので、苦肉の策で、ユーザが入力する「読み」で区別するようにしています。
なので、「自分は別にそんな区別はしなくてもいい、普通の読みで出したい」ということなら、"t"を取って貰って構いません。



ぬー、下手糞すぎる説明だ……
posted by vagus at 22:23| 東京 ☀| Comment(0) | TrackBack(0) | cannadic改 - 更新情報 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック