iOS用キーボードflickSKKの辞書を強化する
価値ある情報をユーザー視点で発信するブログ
先日紹介のiOS用キーボード、flickSKK。
FlickSKK
カテゴリ: Utilities
販売元: JUN BAN(サイズ: 5.6 MB)
全てのバージョンの評価: (0 件の評価)
日本語入力プログラムSKKのiOS版とでもいうもの。僕は気に入っております。他人には勧めないですけれど。
日本語入力プログラムSKKのiOS版FlickSKKがついにリリース
使っていると、地名などに弱いのが気になります。
変換できなければそのまま自動的に単語登録モードに移行するので、ポチポチ登録していけばいいわけですが、もう少し何とかしたい。
flickSKKはSKK用の辞書を若干加工したものを使っています。
flickSKKが使うSKK用の辞書は、基本辞書以外にも、専門辞書が各種取りそろえられています。
ここに、以下のように書かれていますので、専門辞書を併用してみましょう。(続きは[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 .
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に言及がある通り、住所に含まれない地名については依然弱いのが問題といえば問題。例えば、山の名前は、まだかなり変換できません。山の名前と読み方リストみたいなのがあるといいんですが。
使ってみたところ、特に遅くなったようには感じません。依然軽快です。ただ、メモリは食うようになるとは思います。
SKKの辞書はテキストファイルで、エントリの構造が至極単純である上に、辞書関係のユーティリティもあるので、自分で好きなようにできるのがいいところです。
僕がSKKを好きなのは、こういうところにも理由があります。
たつお /達夫/達雄/辰夫/辰雄/達男/達郎/龍雄/龍夫/辰男/龍男/竜夫/竜雄/竜生/立雄/
たつおか /立岡/龍岡/竜岡/
たつおかもん /竜岡門/龍岡門/
たつおき /辰興/
たつかわ /立川/達川/
たつき /立木/方便/活計/
たつきち /辰吉/
現状Jailbreakが必要な状況になってしまっているのかもしれませんが、いじった辞書がiTunesで転送できるようになるといいですね。
入獄状態でアプリケーションバンドルにアクセスできる方法があったら教えてください。
アプリケーションバンドルの中をいじることになるので、flickSKKのipaがiTunes側に吸い上げられると、改造辞書ごととなり、以降iTunes側からiPhoneへのインストールができなくなります。
flickSKKのバージョンアップがあると、辞書がデフォルトのものに戻されるかもしれません(今は差分アップデートなのでどうなるかよく分からない)。アップデート自体が失敗する可能性が高いです。
何か不具合が生じたら、一度flickSKKをiTunesからも、iPhoneからも削除してApp Storeからダウンロードし直せば元通りだと思います。