ATOKダイレクト Social IME変換プラグイン公開

1日にSocial IMEプラグインスクリーンショットだけ公開したら、id:nokunoさんからトラックバックが。


API仕様書を公開しました - nokunoの日記

とのことですが、公開していただいてOKです。というか私も使ってみたいので、是非公開して下さい(笑)。


なんてこった、適当に作っただけだからお蔵入りの予定だったのにこれじゃ逃げられないじゃないですか(笑)
と言うわけで公開することにしました。ついでに計算プラグインも公開します。


公開先:SkyDrive
http://cid-8200fae396e53ba8.skydrive.live.com/browse.aspx/ATOKDirectPlugin

2009/03/26 公開先をATOKダイレクトグループに変えました。
http://atokdirect.g.hatena.ne.jp/t_daicho/20090326/1238066816


2008/11/05 2:42 追記:一言付け加え忘れました。公開しているプラグインはCtrl + Shift + Insでプラグインを選択しないと出ないようにセットアップツールで設定しています(only_individual_runがtrue)。変えたい場合はセットアップ後に設定するなり、セットアップ前にfalseに変えるなりしてください。

2008/11/20 13:21 追記2:RubyプラグインなのでRuby実行環境が必要です。
動作環境などはこちらを確認してください。
http://www.atok.com/useful/developer/api/


以下はSocial IMEプラグインソースコード

module Atok_plugin
  def run_process( a_request_data )
    result_data = Hash.new

    require 'uri'
    query = '/api/?string=' + URI.escape(a_request_data['composition_string'])

    require 'net/http'
    http = Net::HTTP.get 'www.social-ime.com', query

    candidate_array = Array.new

    require 'kconv'
    http.kconv(Kconv::UTF8,  Kconv::EUC).split(/\n/).each do | tangoArray |
      tangoArray.split(/\t/).each do | tango |
        candidate_array.push( { 'hyoki' => tango , 
                                'comment=> "Social IME 変換"})
      end
    end
    result_data[ 'candidate' ] = candidate_array
    result_data
  end
end

ATOKからもらった読みをSocial IMEAPIに投げて、結果のタブ区切り文字列を順に候補として出しているだけです。
Social IME APIの出力は仕様書にもある通り、文節区切りごとにその文節の候補がタブ区切りで送られてきますが、ATOKダイレクトで文節移動させて候補を確定なんてできないので、このプラグインは単語変換と割り切って複数の文節に切られたときのことは一切無視しています。
1単語として登録されていない「きょうはいいてんきですね」なんて打つと、「きょうはい」「い」「てんきですね」の候補が一列に並ぶことになります。


id:atzyさんがATOKダイレクトの出力を入力にする方法を公開しているし、うまくやれば文節移動もできるかもしれません。
ATOKダイレクトプラグインを連鎖させる(ファイル絶対パス選択プラグイン) - Atzy->getLog()