openwnnのCPP辞書を作成する。
ここを参考にソースコ> ードから解析をした
ヘッダ
00000000-00000003:[NJDC]識別子
00000004-00000007:バージョン
00000008-0000000b:タイプ
0000000c-0000000f:データサイズ
00000010-00000013:extサイズ
00000014-00000017:max check用(使ってない?)
00000018-0000001b:maxlen check用(使ってない?)
0000001c-0000001f:extサイズ
00000020-00000023:未使用
00000024-00000027:単語ブロックのアドレス
00000028-0000002b:登録されている単語の数
0000002c-0000002f:登録されている単語の数?
00000030-00000033:que size,データ領域の一つのブロックのバイト数
00000034-00000037:最後に編集した単語ブロックの位置, 未使用
00000038-0000003b:未使用
0000003C-0000003F:インデックス1のアドレス
00000040-00000043:インデックス2のアドレス
インデックス
インデックス1は読み、インデックス2は表記の昇順で、
単語ブロックの位置が2バイトずつ並んでいる
最後に2バイト00がついている
単語ブロック
00000000-00000000: 2bit fflag, 4bit mflag, 6-7bit type
00000001-00000002: 1-9bit 前品詞,10-16bit 読みバイト数
00000003-00000004: 1-9bit 後品詞,10-16bit 表記バイト数
00000005- :読み、表記が詰めて設定されている
文字コードはUNICODE
フッタ
[NJDC]識別子
writedic.cppが変換用プログラム
入力ファイルはタブ区切りで
よみ 表記
の順に並んでいること
一ファイルは最大65535行まで。
作成したファイルをWnnJpnDic.hのdic_07_dataなどを作成し貼り付ける。
dic_dataにもdic_07_dataを追加。プログラムから出力されるサイズをdic_sizeの該当の場所にコピー。
コンパイルはAndroidStudioから行う場合には文字量によるがメモリが必要なので注意。AnroidStudioのメモリ量を増やしておく必要あり