hishidaの開発blog

EBシリーズ(EBPocket,EBWin,EBMac,EBStudio),KWIC Finder,xdoc2txt,読書尚友の開発者ブログ

KWIC Finder 4.1 リリース

KWIC Finder 4.1をリリースした。主な追加機能は、ファイルの一括置換である。旧版のKWIC Finderで以前から要望のあった機能で、指定したパスのテキストファイルの文字列を一括置換する。ただし対象はテキストファイルだけである。

f:id:hishida:20181107153906p:plain

入力エンコーディングと出力エンコーディングを別々に指定できるのがミソで、例えばShift_JISのhtmlのMETAタグのエンコーディング指定をutf-8に書き替えて、同時にutf-8に変換して保存できる。これができるソフトは案外少ないと思う。

他にもテキストの置換の正規表現で $0, $1 のようなグループ指定できるようにした。

これで当初KWIC Finder のリニューアルで実装したかった機能はほぼ開発が終わった。

 

KWIC Finder 4 公開

KWIC Finder 4 (GREP検索・KWIC索引・ファイルビューア)をVectorで公開しました。

KWIC Finder 4

www.vector.co.jp

  • 従来のKWIC Finderのユーザは優待アップグレードがあります(50%引き)。
  • 開発意向表明を行った2018年8月以降に旧版のKWIC Finderを購入された方は、無料アップグレードできます。該当の方はメールにてVECTORの申込日・お申込番号をお知らせください。折り返しライセンスキーを送付します。

 

KWIC Finder リニューアルの進捗状況(3)

KWIC Finderリニューアル作業はほぼ完成に近付いており、現在はマニュアルの作成などリリース準備と最終テストを行っているところ。

前回の報告以後大きく変わったのは、テキスト表示のエディタコンポーネントを、C#のRIchEditBoxから、Azuki editor engineに変更したことである。

osdn.net

KWIC Finderでは、検索に一致したファイルの箇所を強調して表示している。この時にエディタコンポーネントを使用するが、C# の標準部品ではTextBoxとRichEditBoxが利用できる。TextBoxは文字の修飾ができず、テキストのサイズも64Kまでという制限があるので、RichEditBoxを使用するしかない。ところがC# のRichEditBoxは、なぜかCR+LFを内部で勝手にLF 1個に変えてしまうので、検索に一致したファイルのオフセットとRichEditBoxのテキストのオフセットがずれてしまう。また、ファイルサイズの制限がないのは良いが、数百KBを超えると極端に動作が遅くなる。

何か代替になる日本語に対応したエディタコンポーネントを探したところ、Azukiが見つかった。右端で折り返すモードで大きなサイズのファイルを読み込むと流石に遅くなるが、RichEditBoxよりは良好なようだ。他にも行番号の表示の有無や、制御コードの表示の有無など、細かく設定できる。

良質なコンポーネントを利用しやすいライセンスで公開してくださっている作者の方に、感謝したい。

KWIC Finderリニューアルの進捗状況(2)

はてなダイアリーが2019年春で終了するということで、はてなブログに引っ越してきました。過去ログのインポートを行ったところ、混雑しているのか数日かかりましたが、移行はうまくいったようです。今後の開発関係のお知らせはこちらのブログで行わせていただきます。

KWIC Finderリニューアルの新機能

前回の報告後に実現できた新機能をご紹介する。

1) Windows Search対応

全文検索について、Hyper Estraierだけにすると告知していたが、Windows Search4.0に対応できることになった。Windows Search はWindows Vista以降はOSに統合されており、マシンの空き時間にインデックスをバックグラウンドで作成している。通常はファイル名だけの検索だが、指定によってファイルの中身もインデックス化できる。

ただし必ずしも期待するようなインデックス化がされているかどうかわからないので、
特定のディレクトリを対象に漏れのない全文検索を行うには、Hyper Estraierのほうが向いていると思う。

2) iFilter対応

iFilterに対応できる見通しがついた。iFilterを使用すると、例えば富士ゼロックスDoduWorksの文書を検索することができる。

3) PDFのブラウザモードでのプレビュー

Adobe Readerがインストールされていれば、ブラウザモードでPDFをインライン表示できる。

 

現在は基本的な機能の開発はほぼ終わっており、実際の利用現場に近い環境でのテストとバグ出しを行っている。従来のKWIC finderよりも操作性が向上しているので、なるべく早くリリースしたい。10月一杯をテストとマニュアル作成に費やし、11月にはリリースできると思う。

 

KWIC Finder リニューアルの進捗状況

前回KWIC Finderのリニューアルについて公表したが、2ヶ月経過してかなり具体的に進んでいる。リリースは年内を目標にしている。
ファイル検索ソフトには、ファイルシステムの中からどこに保存したかわからないファイルを探し出すもの(Everything等)と、ファイルの場所自体は分かっていてファイルの内容を検索するGrep系に大別できると思う。KWIC FinderはGrep系になるが、Grep系では最強の検索ソフトを目指している。

新バージョンの機能と特徴

新バージョンの特長は以下の通りで、操作性がかなり向上している。

  • VisualStudioのように各ペインを自由にドッキングできる。
  • 検索やテキストビューの表示がUnicode対応になった
  • ネットワークのパス ( \\ネットワーク名) の検索が可能になった。以前はネットワークドライブの割り当てを行ない、Z: などのドライブ表記にしないと検索できなかった。
  • 画像のプレビューにプラグインなしで対応した。(以前はGIFやPNGを表示するにはsusieプラグインを使用する必要があった)
  • zipフォルダの表示、およびZip内のファイル検索にネイティブ対応した。以前は統合アーカイバプロジェクトのDLLが必要だった。ただしzip以外の圧縮形式には対応していない。
  • KWICコンコーダンスの表示を、従来のKWIC Finder風のtree形式と、一般的なリスト形式の2種類で表示できるようになった。リスト形式の場合、見出しのクリックでソートができる。
  • 正規表現は外部DLLではなくC# の標準の正規表現を使用できるようにした。
  • 検索時に論理演算子AND OR NEAR ANDNOTが使用できる(旧版からサポートしている)
  • ワイルドカード文字(*)で前方一致、後方一致、部分一致ができる(旧版からサポートしている)
  • 全文検索インデックスのエンジンは、Hyper Estraierを使用。(旧版でサポートしていたGoogle Desktopは今日では使えないので、削除した。)
  • 設定項目やメニューは大幅に整理してわかりやすくした。
  • 起動オプション等は従来通りなので、Wordや秀丸のマクロから起動できる。
  • dpi aware
  • 64bit版サポート予定
  • 英語/日本語UI
  • xdoc2txtでサポートしているMicrosoft Office文書、Open Office文書、PDF、一太郎等の検索が可能。

画面例

ファイルエクスプローラ画面。選択したファイルの内容を右下画面にプレビューできる。

検索例。検索結果のKWICコンコーダンスをリスト形式表示している。ヘッダをクリックするとソートできるので、検索に一致した後続文字列で並び替えることもできる。zipの内部ファイルを検索している点にご注目。

検索結果を、同じくツリー形式表示したもので、従来のKWIC Finderと同じ表示形式。左側のペインはタブで検索条件ペインに切り替えている。

htmlをブラウザで表示した例。左側の検索条件ペインは画面の好きな位置にドッキング配置できる。

既存ユーザのアップグレードについて

バージョンアップではなく新開発になるので、既存のユーザには、優待価格でのアップグレードを予定している。

KWIC Finderリニューアルに着手

ここ数年、かつて2000年代に作成したアプリの書き換えを進めており、EBWin4に続いて昨年はEBStudio2をリリースした。残る大物アプリがファイル検索ソフトのKWIC Finderである。
KWIC Finder
KWIC Finderは基本的にファイルブラウザ+GREP検索+KWIC索引のアプリで、OfficeやPDF文書をプラグインなしで検索できることから長く利用されてきた。だが近年Windowsの利用環境の変化により、不便に感じることが多くなってきた。作者が考える致命的な問題点は次の2つである:

  1. Unicodeに未対応
  2. NASのネットワークフォルダに未対応

KWIC Finderからテキスト抽出フィルタの機能を独立させたxdoc2txt については、すでにUnicode対応を行ったver2.0をリリースしている。いよいよ本体のKWIC Finderに手をつけようかと考えている。
KWIC FinderのソースはVisual C++6.0なので、現在のVisual Studio では再コンパイルも難しく、C#で全面的に書き直すこととしたい。

KWIC Finderリニューアルの目標:

  • KWIC Finderの基本的な機能は踏襲する
  • 内部Unicode対応
  • 64bit版のサポート
  • ネットワークファイル対応の強化
  • Office文書やPDFはxdoc2txtを使用して抽出する。テキストファイルはネイティブ対応。
  • 高DPI対応
  • Hyper Estraierによる全文検索
  • ePub対応

現在のKWIC Fiderから削除する機能:

  • susieプラグイン対応は削除。代表的な画像フォーマットはネイティブ対応する。
  • Google Desktop等、現在は使われなくなった機能の削除。

開発を始めた証拠に、最初のスクリーンショットを掲載しておこう。最終的なUIはかなり変わると思う。

期間は半年から1年ぐらいを考えているが、自分で満足のいくものができたタイミングでリリースしたい。