ArtIME バージョンアップ (v1.3)

前回のアップデートから半年経ってしまいましたが、ようやくバグを取りきり、アップデートを掛けました。

ダラダラ書かせていただくと、今回のアップデートはちょっとしたバグを取るために正攻法で挑んだため、アプリサイズが倍になってしまうという状態になっています。
元々のバグというのは、AndroidのOS側に起因した、

「キーリピートされている状態でキーボードの変更が起きるとリピートが解除されない」

というもので、Androidで日本語IMEを開発されている方には有名なバグのようです。
動作としては、「未変換状態の日本語を2文字以上入力し、デリートボタンを押し続けると、2文字以降はキーリピートがかかるが、入力領域の最後の1文字を削除する直前でKeyboardView側のKeyboardが入れ替わり、その入れ替わりのタイミングでキーリピートが解除されない」事象が発生します。

正攻法で、と言ったのは、結局このバグを取るためにAndroid側のソースをForkして、修正して取り込んだためです。 このために、周辺のリソースをも巻き込んだ膨大な修正をせねばならず、結果サイズが増えました。本来はそのキーリピートの部分だけ上手く回避して実装する方法もあるのですが、今後の拡張性を考えて、Android側のソースをプロジェジェクト側に持っておいたほうが良い、という判断を最終的にしています。

今後のArtIMEですが、できるだけOpenWnnのソースを残すように拡張していたのですが、ここで思い切ってソースを綺麗に書き換えようと思っています。当然スピードも早くなりますし、メンテンナンス性も向上することが見込まれます。また、複数あるビジュアルテーマも統合し、プラグイン化して外出ししようと思っています。ArtIMEの次のバージョンにご期待ください。