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