これまでの手順で ios から辞書の部分が取り出せたので、そこにWindowsの辞書を書き込みます
書き込むためには以下の手順が必要です
a. 既存の辞書データをエクスポート b. Windowsの辞書を xmlに変換 c. 既存のユーザー辞書データを破棄 d. xmlに変換された辞書をインポート
※ iosで作成されたユーザー辞書は、Windowsのものに置き換えればいらなくなるという前提としています 合成したい場合は、エクスポートした既存の辞書の情報をフォーマットが単純なWindows の辞書の後ろにくっつけるなどで対応してください
a. 既存の辞書データをエクスポート
CloudUserDictionary.sqlite ファイルは、エディタ等で編集できるようなものではありませんので PupSQLite を使用して開きます
PupSQLiteの詳細情報はこちら https://www.eonet.ne.jp/~pup/software.html
CloudUserDictionary.sqlite を PupSQLite で開きます
ZUSERDICTIONARYENTRY を右クリックしてカラムを開きます
カラムにBLOBがあると インポート/エクスポートを拒否されてしまいますので一旦TEXTに変更して回避します
xmlで任意の作業フォルダにエクスポートします
エクスポートされました
<?xml version="1.0" standalone="yes"?> <CloudUserDictionary> <ZUSERDICTIONARYENTRY> <Z_PK>1</Z_PK> <Z_ENT>1</Z_ENT> <Z_OPT>1</Z_OPT> <ZTIMESTAMP>1430272685</ZTIMESTAMP> <ZPHRASE>雲母坂</ZPHRASE> <ZSHORTCUT>きららざか</ZSHORTCUT> </ZUSERDICTIONARYENTRY> </CloudUserDictionary>
こんな感じで出ています
windowsのユーザー辞書をエクスポートします
一覧の出力機能でテキストファイルでエクスポートします
!Microsoft IME Dictionary Tool !Version: !Format:WORDLIST !User Dictionary Name: C:\Documents and Settings\mueda\Application Data\Microsoft\IMJP14\imjp14cu.dic !Output File Name: C:\Documents and Settings\mueda\デスクトップ\output1.txt !DateTime: 2011年10月23日 2:02 きららざか 雲母坂 名詞
こんな感じで出力されます
windows から出力された辞書は タブ区切りの単純なものです
そのままでは使用できませんので変換します
VBScriptで作成してある簡易変換ツール DicCnv で、xml形式に変換できます ※ あくまでも、簡易ですので、最低限のことしかしていません 本ツールは、 zip を解凍した後、windows辞書をドラッグドロップでスクリプトに重ねると基の名前に_Out.txt が追加された名前で変換出力されます
変換したら秀丸エディタ等で utf-8 で保存します
保存したデータを CloudUserDictionary.xml と置き換えます
※ ファイルの種類は拡張子で判断されますので .xml になっていなと エラーとなります
PupSQLite に戻り、ZUSERDICTIONARYENTRY を開きます
レコードを全部削除します
消したら必ず閉じます 閉じ忘れると、後でエラーしますので注意が必要です
先ほど置き換えた CloudUserDictionary.xml をインポートします
参照で CloudUserDictionary.xml を選択して、 既存のテーブル をチェック
OKを押します
①テーブルの選択を押して…
追加実行を押します
これが出た場合は、レコードの削除がうまくいっていなかったという意味です
手順を見直してください
Windowsの辞書がレコードに収まりました
レコード数を確認し、最大数をメモしておきます
Z_PRIMARYKEY の Z_MAXを レコードの最大数に変更します
確認したら、閉じて
ZUSERDICTIONARYENTRY を右クリックしてカラムを開きます
終了します
これで CloudUserDictionary.sqlite が修正されました