同一視指定ファイルの作成方法(Ver3.54対応版)
 同一視指定ファイルは、HMJRE.DLLに標準で用意されているあいまい検索よりも、さらにあいまいに検索させたい場合に指定するファイルで、ユーザー様が作成する物です。

 同一視指定ファイルは、普通のテキストファイルです。作成場所は自由ですが、なくべくHMJRE.DLLと同じ場所に置いておく方が無難かと思います。
書き方
 同一視指定ファイルには、1行内に、同一視指定したい単語を複数、空白(半角に限る)またはタブ文字で区切って指定します。 例えば、「〜」と「−」を同一視させたい場合は、1行の中に、「〜」と「−」の文字をタブ文字または空白で区切って指定すればいいです。
 区切り用のタブ文字または空白の個数は何個でもかまいません。

 行の途中に「//」を書くと、それ以降はコメントとして扱われます。例えば、
− 〜 // 横棒系文字の同一視
 のようにコメントを入れるのに使います。

 上記の仕様であるため、半角空白やタブ文字を含む文字列や、「//」で始まる単語を同一視指定することは出来ません。

 同一視指定する単語の1つのグループ中の単語数は、最大でも255個程度までです。グループの数については制限はありません。


ユニコード文字の指定
 同一視指定ファイルは、従来はShift-JIS文字コードで作成する必要があって、扱える文字の種類もShift-JIS文字コードで扱える文字だけでした。
 HMJRE.DLLのV3.40からは、同一視指定ファイルをユニコード(UTF-16,BOMあり)で作成することが出来るようになりました。  ユニコード文字を含んだ同一視指定ファイルを作成する時は、必ずUTF-16,BOMあり形式で作成してください。BOM無しのUTF-16やUTF-8形式で作成されたファイルはうまく解釈出来ません。UTF-16Big Endian形式も不可で、Little-Endian形式(普通のUTF-16形式)でないとダメです。


1文字指定と複数文字指定 (別に知らなくてもいいけど)
 HMJRE.DLLは、1文字のみの単語を同一視指定した場合と、複数文字の単語を1つでも含む場合とで、内部的に別の扱いをします。

 例えば、「ー」と「「〜」を同一視指定した場合、それは「1文字のみの単語の同一視指定」と見なされます。その場合、検索文字列および検索対象文字列中の「〜」を、 すべて「−」に変換してから検索するような処理を行います。どちらかと言うとこちらの方が処理速度的に都合がいいです。

 逆に、例えば「ABC」と「XYZ」を同一視指定するよう指示した場合、それは「文字列の同一視指定」と扱われます。この場合、検索文字列中の「ABC」を、正規表現の「(ABC|XYZ)」に変換して検索することで処理されます。 「ABC」と「XYZ」程度ならたいしたことはありませんが、もっと多くの単語を同一視指定した場合には、検索速度はかなり遅くなります。


サンプル
 同一視指定用のファイルのサンプルが、秀まるおのホームページにて公開されています。参考にしてください。



戻る