ひとりぶろぐ

価値ある情報をユーザー視点で発信するブログ

iOS用キーボードflickSKKの辞書を強化する

   

先日紹介のiOS用キーボード、flickSKK。

FlickSKKApp
カテゴリ: Utilities
販売元: JUN BAN(サイズ: 5.6 MB)
全てのバージョンの評価: (0 件の評価)

日本語入力プログラムSKKのiOS版とでもいうもの。僕は気に入っております。他人には勧めないですけれど。

日本語入力プログラムSKKのiOS版FlickSKKがついにリリース

使っていると、地名などに弱いのが気になります。

変換できなければそのまま自動的に単語登録モードに移行するので、ポチポチ登録していけばいいわけですが、もう少し何とかしたい。

flickSKKはSKK用の辞書を若干加工したものを使っています。

flickSKKが使うSKK用の辞書は、基本辞書以外にも、専門辞書が各種取りそろえられています。

SKK辞書 – SKK辞書Wiki

ここに、以下のように書かれていますので、専門辞書を併用してみましょう。(続きは[Read More]から)

L辞書をお使いで、PCに余力がおありなら、各種の固有名詞を体系的に補うjinmei, geo, station, propernounの併用をお勧めします。

とりあえず、FlickSKKから基本辞書を抜き出してきます。

FlickSKKの基本辞書は、アプリケーションバンドルの中に設置されています。iFunBox的なツールがiOS 8に対応していれば、Jailbreakをしていなくてもアプリケーションバンドルにアクセスできると思うのですが、現状対応していないようでアクセスできない、のでしょうか?

僕はJailbreakしているので、sshとscpを使ってコピーしてきました。下のAppGroupの中にあるskk.jisyoは、ユーザ辞書の方です。「BC6E80FE〜」「9D13D9EF〜」の部分は、それぞれの環境によって異なるものになりますので、以降読み替えてください。

(iPhoneにログインしての作業)

$ sudo find / | grep -i skk.jisyo
/private/var/mobile/Containers/Bundle/Application/BC6E80FE-3F43-41FB-AEB8-EB4515E3D0EF/FlickSKK.app/PlugIns/FlickSKKKeyboard.appex/skk.jisyo
/private/var/mobile/Containers/Shared/AppGroup/9D13D9EF-0539-4F14-88A4-16B0248126E1/Library/skk.jisyo
$ scp mobile@iPhoneのIPアドレス:/private/var/mobile/Containers/Bundle/Application/BC6E80FE-3F43-41FB-AEB8-EB4515E3D0EF/FlickSKK.app/PlugIns/FlickSKKKeyboard.appex/skk.jisyo .

SPONSORED LINK


Homebrewでnkfとskktoolsをインストール。

(Macでの作業)

$ brew update
$ brew install nkf skktools

作業ディレクトリを掘り、コピーしてきたskk.jisyoを移動、cdします。

(Macでの作業)

mkdir skkdic
mv skk.jisyo skkdic/
cd skkdic

専門辞書をダウンロードして解凍。

(Macでの作業)

wget http://openlab.jp/skk/dic/SKK-JISYO.geo.gz
wget http://openlab.jp/skk/dic/SKK-JISYO.station.gz
wget http://openlab.jp/skk/dic/SKK-JISYO.jinmei.gz
wget http://openlab.jp/skk/dic/SKK-JISYO.propernoun.gz
gzip -d *

ダウンロードしてきた専門辞書はEUC-JP / LFですが、アプリケーションバンドルからコピーしてきたskk.jisyoはUTF-8 / LFなので、nkfでEUC-JPに変換して統一。

(Macでの作業)

nkf -e -Lu skk.jisyo > skk.jisyo.euc

SKK辞書のマージツールskkdic-expr2で集めた辞書をマージ、nkfでUTF-8に変換し、sedで不要な注釈(annotation)を削除。

(Macでの作業)

$ skkdic-expr2 skk.jisyo.euc + SKK-JISYO.geo + SKK-JISYO.station + SKK-JISYO.jinmei + SKK-JISYO.propernoun | nkf --utf8 | sed -e 's|;[^/][^/]*/|/|g' >skk.jisyo.new

skkdic-expr2に与える引数の順番が反映されるので、頻用する単語が登録された基本辞書は、必ず引数の最初に。以降、自分が重要だと思う順番に並べていきます。

出来たskk.jisyo.newを、元あったskk.jisyoとすげ替えます。

(iPhoneにsshでログインしての作業)

$ cd /private/var/mobile/Containers/Bundle/Application/BC6E80FE-3F43-41FB-AEB8-EB4515E3D0EF/FlickSKK.app/PlugIns/FlickSKKKeyboard.appex/
$ mv skk.jisyo skk.jisyo.org

(Macでの作業)

$ scp skk.jisyo.new mobile@iPhoneのIPアドレス:/private/var/mobile/Containers/Bundle/Application/BC6E80FE-3F43-41FB-AEB8-EB4515E3D0EF/FlickSKK.app/PlugIns/FlickSKKKeyboard.appex/skk.jisyo

skk.jisyoの容量は、4.8MBから9.8MBに増えました。

そして、僕はここでiPhoneを再起動しています。FlickSKKのフルアクセスをオン/オフするのでもいいかもしれません。

「けんさく」で変換してみました。語彙が増えています。SKK辞書Wikiに言及がある通り、住所に含まれない地名については依然弱いのが問題といえば問題。例えば、山の名前は、まだかなり変換できません。山の名前と読み方リストみたいなのがあるといいんですが。

IMG 0878

使ってみたところ、特に遅くなったようには感じません。依然軽快です。ただ、メモリは食うようになるとは思います。

SKKの辞書はテキストファイルで、エントリの構造が至極単純である上に、辞書関係のユーティリティもあるので、自分で好きなようにできるのがいいところです。

僕がSKKを好きなのは、こういうところにも理由があります。

たつお /達夫/達雄/辰夫/辰雄/達男/達郎/龍雄/龍夫/辰男/龍男/竜夫/竜雄/竜生/立雄/
たつおか /立岡/龍岡/竜岡/
たつおかもん /竜岡門/龍岡門/
たつおき /辰興/
たつかわ /立川/達川/
たつき /立木/方便/活計/
たつきち /辰吉/

現状Jailbreakが必要な状況になってしまっているのかもしれませんが、いじった辞書がiTunesで転送できるようになるといいですね。

入獄状態でアプリケーションバンドルにアクセスできる方法があったら教えてください。

アプリケーションバンドルの中をいじることになるので、flickSKKのipaがiTunes側に吸い上げられると、改造辞書ごととなり、以降iTunes側からiPhoneへのインストールができなくなります。

flickSKKのバージョンアップがあると、辞書がデフォルトのものに戻されるかもしれません(今は差分アップデートなのでどうなるかよく分からない)。アップデート自体が失敗する可能性が高いです。

何か不具合が生じたら、一度flickSKKをiTunesからも、iPhoneからも削除してApp Storeからダウンロードし直せば元通りだと思います。

 - iOS, iPad, iPhone