2015年5月2日

IMEの拡張機能


IMEの各種設定のうちキーバインドやローマ字仮名変換ルールなどは基本的な機能として用意されていることがほとんどですが、例えば、標準以外の辞書を使いたいとか候補を整形したいなどの要望に答えるため、いくつかのIMEでは簡易的なスクリプトを組むことでそれらを実現できる機能を持っています。

実現可能な機能については各IMEによって異なりますが、主に以下のような機能を有しているようです。
  1. 外部からデータを取得する
  2. 外部にデータを出力する
  3. 動的に候補や注釈を生成する
  4. これらをスクリプト言語で組める
以下、拡張機能を持っているWindows用IMEの紹介です。


ATOK


ATOKダイレクトAPI
http://atok.com/useful/developer/api/

使用言語 : Perl, Ruby, Python


SKK日本語入力FEP


SKKGate
http://coexe.web.fc2.com/skkgate.html
SKKプラス
http://coexe.web.fc2.com/skkextend.html

使用言語 : JavaScript など


CorvusSKK


Lua拡張
https://github.com/nathancorvussolis/corvusskk/wiki#Lua
https://github.com/nathancorvussolis/corvusskk/blob/master/installer/config-lua/init.lua

使用言語 : Lua


SKK日本語入力FEPとCorvusSKKに関しては、操作体系の元ネタであるSKKがEmacsLispで記述された候補を実行して動的に候補を生成する機能を元々持っているので、これを拡張可能にしているのも自然な流れかなと思います。

Windows用IMEでユーザー数が多いMS-IMEとGoogle日本語入力には拡張機能はないようですが、Android用のGoogle日本語入力やATOKには他のアプリのと連携を行うマッシュルーム機能があるそうです。

以前某IMEでも話題になりましたが、気を付けなければならないのがIMEのセキュリティについてです。
拡張機能を不用意に使うと穴ができる可能性があるので、製作者側にも使用者側にも慎重さが求められます。

IME as a Possible Keylogger (symantec)
https://www.symantec.com/avcenter/reference/ime.as.a.possible.keylogger.pdf

それでは、良い連休を。

0 件のコメント:

コメントを投稿