置いてけぼり日記

はてなRSSに追加Add to GoogleMy Yahoo!に追加RSS Feed
ATOKダイレクトAPIが公開された。
なんでもATOK2008用の変換モジュールが作れるものらしい。
http://www.atok.com/useful/developer/api/index.html

「ATOKダイレクト」といってATOKで入力される候補文字列を対象に、特別な辞書を引かせたり、Webから引っ張ってきた文字列を持ってきたりするものだそう。
この機能を使ったことが無かったので最初どういう意味なのかさっぱりだったんだけど、あれこれいじっているうちに使い方が分かってきた。

たとえばこういう風なAPIを書いてみた。

package Atok_plugin;

use strict;
use utf8;

sub run_process
{
  my($request) = @_;
  my %result;
  my @output;

  if($request->{'composition_string'} eq "背景"){
    push(@output,{'hyoki' => "■BG00001A 町・昼"});
    push(@output,{'hyoki' => "■BG00001B 町・夕方"});
    push(@output,{'hyoki' => "■BG00001C 町・夜"});
    push(@output,{'hyoki' => "■BG00002A 学校全景・昼"});
    push(@output,{'hyoki' => "■BG00003A 教室・生徒がいる"});
    push(@output,{'hyoki' => "■BG00003B 教室・誰もいない"});
  }

  if($request->{'composition_string'} eq "イベント"){
    push(@output,{'hyoki' => "■EV000001 オープニング"});
    push(@output,{'hyoki' => "■EV000002 ○○と出会う"});
    push(@output,{'hyoki' => "■EV000003 ○○ずっこける"});
  }

  if($request->{'composition_string'} eq "エッチ"){
    push(@output,{'hyoki' => "■HCG00001 エッチシーン1"});
    push(@output,{'hyoki' => "■HCG00002 エッチシーン2"});
    push(@output,{'hyoki' => "■HCG00003 エッチシーン3"});
    push(@output,{'hyoki' => "■HCG00004 エッチシーン4"});
  }

  $result{'candidate'} = \@output;

  return(%result);
}

1;

これを組み込むと、たとえば「背景」をキーに以下のように確定文字列が選べるようになる。

「背景」と入れると……

あと、「イベント」と入力すれば「■EV?????」が候補に出てくるようになって、「エッチ」と入力すれば「■HCG?????」が出てくる。

てなわけで、ゲームシナリオ支援ツールのできあがり。
これはPerlスクリプトに直接埋め込んでいるけど、外部ファイルにしておけばカスタマイズはもっと楽になるでしょうな。

検索キーワードTOP20