みずぴー日記

陽気なプログラマが世界を廻す

iOS用SKK: FlickSKK

f:id:mzp:20141212011415p:plain

10月ごろから作っていたiOS向けのSKKであるFlickSKKをリリースした。 フリック入力で使えるようにしているので、iPhoneのような小さい画面でも使いやすいと思う。

https://itunes.apple.com/jp/app/flickskk/id944678753?mt=8

フルキーボードでない、ローマ字入力ではなどの理由で他のSKKと比較すると、かなり機能を限定しているが、最低限は使えると思う。L辞書を同梱しているので、語彙にも不自由しないはず。

f:id:mzp:20141212005023p:plain

Tl; dr

iOSの制限

以下の機能は、iOSの制限により実現不可。(2014年12月12日時点)

  • 外部キーボードの利用
  • インラインでの文字変換
  • 全アプリケーションでの利用
  • フルアクセスの許可を求めない辞書登録
  • 地球マークを長押し・スライドによる他のiOSキーボードへの切り替え

「っ」送り仮名の変換

「っ」だけは対応するローマ字が1パターンではないので、特殊な変換ルールを採用している。

  1. n送り仮名が「っ」の場合、タ行が後置していると仮定する
  2. 送り仮名の1つ前が「っ」の場合、そこからの変換も候補にいれる

例えば、「入った」を入力するには、以下の方法がある。

  • 「↑」「は」「い」「↑」「っ」「た」 (ルール1の適用)
  • 「↑」「は」「い」「っ」「↑」「た」 (ルール2の適用)

詳しい議論は Issues #27 に残っている。

フルキーボード対応

AquaSKKを移植したQwertyキーボード対応版も作った。というか最初は、こっちを作っていた。(参考: https://github.com/codefirst/SKK-for-iOS/issues/2 )

f:id:mzp:20141212005142p:plain

  • AquaSKKGPLのため、iOSアプリもGPLとなりAppStoreで配布できない。
  • そもそもiPhone画面でQwertyキーボードは使いづらい。

という理由で作るのをやめた。たぶん再開しない。

ソースコード

https://github.com/codefirst/FlickSKK

AppStoreの制約で再配布を許可するライセンスを適用できないため、ライセンスを未定にしている。 特に利用を制約する意図はない。

また同様の理由で、GPLLGPL等が適用されるソースコードは受け入れられない。

ライセンス

ソースコードの配布でも述べたが、AppStoreで配布する場合、GPLは利用できない。 (参考: http://blog.tai2.net/lgpl_and_appstore.html )

FlickSKKは以下の方法で、この問題を回避している。

既存のGPLでリリースされているSKKエンジンのforkではなく、独自実装のSKKエンジンを開発している。 GPLでリリースされているL辞書を利用しているが、リンクしているわけではなく同梱のため、ライセンスの影響を受けない。

詳しい議論は Issues #8 に残っている。