KWIC Finderリニューアル作業はほぼ完成に近付いており、現在はマニュアルの作成などリリース準備と最終テストを行っているところ。
前回の報告以後大きく変わったのは、テキスト表示のエディタコンポーネントを、C#のRIchEditBoxから、Azuki editor engineに変更したことである。
KWIC Finderでは、検索に一致したファイルの箇所を強調して表示している。この時にエディタコンポーネントを使用するが、C# の標準部品ではTextBoxとRichEditBoxが利用できる。TextBoxは文字の修飾ができず、テキストのサイズも64Kまでという制限があるので、RichEditBoxを使用するしかない。ところがC# のRichEditBoxは、なぜかCR+LFを内部で勝手にLF 1個に変えてしまうので、検索に一致したファイルのオフセットとRichEditBoxのテキストのオフセットがずれてしまう。また、ファイルサイズの制限がないのは良いが、数百KBを超えると極端に動作が遅くなる。
何か代替になる日本語に対応したエディタコンポーネントを探したところ、Azukiが見つかった。右端で折り返すモードで大きなサイズのファイルを読み込むと流石に遅くなるが、RichEditBoxよりは良好なようだ。他にも行番号の表示の有無や、制御コードの表示の有無など、細かく設定できる。
良質なコンポーネントを利用しやすいライセンスで公開してくださっている作者の方に、感謝したい。