トップ «前の日記(2009-07-16) 最新 次の日記(2009-07-20)» 編集

Ussy Diary


2009-07-17

[ATOK][Mac][Ruby]繰り返し入力する ATOK ダイレクト API プラグイン

ATOK 2009 for Mac が発売されたものの月額制サービス開始まで待とうと思ったのですが、開始が 9 月ということで 2 ヶ月近く待たされます。ので優待版をダウンロード版で購入してしまいました。 ATOK 2007 for Mac は購入していたのですが、ATOK ダイレクト API を使ってみたかったからです。

今回試しに指定した数値だけ文字列を繰り返す repeat プラグインというものを作成しました。セットアップからインストールして、いったんログアウトするとプラグインが有効になります。あとは変換するところで Ctrl + t を入力すると ATOK ダイレクトが実行されます。

今回作成したプラグインでは

10てすと

と入力すると

てすとてすとてすとてすとてすとてすとてすとてすとてすとてすと

になり、ニコニコ動画でも

20w

を入力して Ctrl + t で確定すると

wwwwwwwwwwwwwwwwwwww

に変換できます。これがやりたかっただけな気がします。

実装コード

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

module Atok_plugin
  def run_process(a_request_data)
    value = a_request_data["composition_string"]
    value.tr!("0-9", "0-9")
    match = value.match(/^(\d+)(.*$)/)
    return unless match || match[2] == ""

    repeat = [match[1].to_i, 100].min
    {"candidate" => [{"hyoki" => match[2] * repeat}]}
  end
end

初めて作ったのですがプラグインの作成まで 1 時間半ぐらいでできました。ドキュメントやデバッグツールが充実していて、次からはもう少し早くできるのではないかなと思います。使ってみた感想ですが、これすごい便利です。 Perl/Ruby/Python のどれかさえ覚えれば IME で色々な情報を取得して入力できます。

今回作成したプラグインは下に置いてあります。

http://www.pshared.net/pub/atok/repeat_for_mac.tar.gz