|
同一視指定ファイルの作成方法(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」程度ならたいしたことはありませんが、もっと多くの単語を同一視指定した場合には、検索速度はかなり遅くなります。
- サンプル
-
同一視指定用のファイルのサンプルが、秀まるおのホームページにて公開されています。参考にしてください。
|