Anthy-YahooJIMService


Anthy-YahooJIMServiceは、Yahoo!の仮名漢字変換WebサービスをLinux上の仮名漢字変換のバックエンドとして使うためのラッパーライブラリです。 libanthy.so (Anthyの変換コアライブラリ)を再実装し、そっくりライブラリ を入れ替えることで YahooJIMService経由での日本語入力を実現しています。 共用のLinuxデスクトップやキオスク・多目的端末での利用を想定しています。

機能

サポートされている機能

サポートされていない機能

スクリーンショット

通常の変換. 右画面はYahooJIMServiceが返す変換結果XML

予測入力

ダウンロード

インストール

注意事項

Anthy-YahooJIMService 経由で入力する場合、その性質上ユーザが入力したすべての変換リクエストは、Yahooのサーバに暗号化されることなく送信されます。これは一種のキーロガーとして機能します。この点を十分熟知した上でご使用ください。

ビルド

ビルドには、anthy のヘッダファイル (anthy/anthy.h, anthy/dicutil.h) が必要です。Ubuntuでしたら apt-get を使いヘッダをインストールすることができます。以下、ファイルパス等は Ubuntuをベースにして説明しています。適宜読み替えてください。

% sudo apt-get install libanthy-dev

ライブラリのビルドは、make コマンドだけです。 C++とiconvにしか依存していないので、POSIXライクなOSでしたら、インストール可能かと思います。 Yahoo ディベロッパーIDをお持ちの方は YAHOO_APP_ID を設定します

% make YAHOO_APP_ID=your_id

テスト

anthy-agentをつかって動作確認をします

% echo "watasinonamaehanakanodesu(space)" | env LD_LIBRARY_PATH=./ anthy-agent | nkf -w
(3 ((UL RV) "私の" 0 11) ((UL) "名前は" 0 5) ((UL) "中のです" 0 51))

YahooJIMService経由で結果が来ているかどうか確認するには、 ANTHY_YAHOO_JIM_SERVICE_LOGFILE 環境変数を使います。YahooJIMServiceとの やりとりが指定されたファイルに保存されます

% echo "watasinonamaehanakanodesu(space)" | env LD_LIBRARY_PATH=./  ANTHY_YAHOO_JIM_SERVICE_LOGFILE="log" anthy-agent
(3 ((UL RV) "私の" 0 11) ((UL) "名前は" 0 5) ((UL) "中のです" 0 51))

% cat log
/JIMService/V1/conversion?&response=katakana,hiragana,alphanumeric,half_katakana,half_alphanumeric&appid=YahooDemo&sentence=%e3%82%8f%e3%81%9f%e3%81%97%e3%81%ae%e3%81%aa%e3%81%be%e3%81%88%e3%81%af%e3%81%aa%e3%81%8b%e3%81%ae%e3%81%a7%e3%81%99&dictionary=default,name,place,zip,symbol
HTTP/1.1 200 OK
..

インストール

通常のanthyにいつでも戻せるように、現在使っている libanthy.so.0.1.0 を待避した上で、 コピーします。

% sudo mv /usr/lib/libanthy.so.0.1.0 /usr/lib/libanthy.so.0.1.0-org
% sudo cp libanthy.so.0 /usr/lib/libanthy.so.0.1.0

アンインストール

バックアップを元に戻します

% sudo mv /usr/lib/libanthy.so.0.1.0-org /usr/lib/libanthy.so.0.1.0

使い方

Anthy の APIをそっくり再実 装しているだけなので、ユーザインタフェイス側の変更は基本的にありません。 SCIM-anthy, UIM-anthy, anthy-el を使って日本語入力ができます。tcpdump (tcpdump -X "port 80")を 使うと、自分のリクエストがどのタイミングで送信されたかわかります。

エラー

変換結果が得られない場合は、エラーメッセージを変換候補の1番目に表示します。

プロキシー

プロキシー経由でアクセスする場合は、環境変数 HTTP_PROXY を使います。

% echo "kitakore(space)" | env HTTP_PROXY=proxy:8888 anthy-agent

辞書の変更

YahooJIMServiceは、変換の時に用いる辞書を変更することができます。デフォルト ではすべての辞書を使うようにしていますが、ユーザ側で変更した い場合は、ANTHY_YAHOO_JIM_SERVICE_DIC環境変数を使います。

% echo "kitakore(space)" | env ANTHY_YAHOO_JIM_SERVICE_DIC="default" anthy-agent

辞書は default,name,place,zip,symbol から選択することができます(,区切り で複数選択可)。詳細は、YahooJIMServiceのページをご覧ください。

今後