仕様書(pdicu-dic.doc) PDIC/Unicode Ver.5.xで使用している辞書
従来のPDIC/W32の辞書仕様書を書き換え、Unicode専用に書き換えています。まだ書きかけなのでこの仕様書は信じないでください。昔の記述が残っていたりします。
圧縮について
PDIC/W32ではAR(lhaの仲間)を使用していましたが、独自実装のRangeCoderに変更しました。
用例、バイナリデータが辞書に格納できない場合、RangeCoderで圧縮されます。
PDIC/Unicodeでは辞書に格納できるデータの大きさの制限を大幅に緩くしたため、格納できないというケースは非常にレアであると思います。アプリケーションが圧縮に対応しない場合は、エラー表示するなどの対応でも問題ないと思います。(圧縮フラグで判断)
完全に対応したいという場合はこのRangeCoderのdecode(必要ならばencode)に対応する必要があります。as isでソースコードをとりあえずおいておきます。
※2000年頃に作ったもので、現在ではもっといい実装があるかもしれません。
※開発当初は圧縮率がいいけど、ちょっと遅いな。。と思いましたが、CPUが速くなったお陰でほとんどストレスがないと思います。(なのでPDIC/Unicodeでは圧縮・解凍プログレス表示はしていません。時間がなかったのもあるけど)
キーワード部(見出し語)
辞書の仕様書だけでは説明が足りないかも。言語プロセッサのキーワード部分の処理も目を通した方がいいかもしれません。
リンク
PDIC miniソースコード - 私自身全く確認していませんので保証はできませんが、PDIC/Unicodeの辞書を検索できるようです。
補足
PDICのソースコードを公開すれば・・・というのはあるかもしれませんが、見ないほうが身のためです。(笑)
ご意見など