[Namazu-users-ja 75] Re: [Namazu-devel-ja 178] Re: Namazu 2.0.13 の filter/excel.plの問題 ?

Yukio USUDA m6694ha392t @ asahi-net.or.jp
2004年 9月 23日 (木) 14:49:08 JST


臼田です

Tadamasa Teranishi wrote:

> > field 検索を重視するならOSにかかわらず正規化したほうがよいでしょう。
> > ただ、この filename_to_title ですべき処理かどうかは考えたほうがよいです。
> 
> どこでするかはともかく、どこかで正規化した方が良いでしょう。
> ここはあくまでもタイトル(ファイル名からタイトルに変換されたわけ)です
> から、正規化しても本来問題ないはずだし、ファイル名と厳密に一致する
> 必要もないはず。(実際、半角カナは変換されるし。あれ、UNIX で半角カナ
> だったらそのままか!?)
> 
とりあえず STABLE では filename_to_title でOSにかかわらず正規化
することにしておきましょう。
HEAD は少し考えましょう。

> # で、$tmp =~ s|/\\_\.-| |g; の意味は不明。tr したかったのかな?
タイトルに必要ない記号を消したかったのでしょうかね。
現状で働いていないと思えるし、tr に直すほどでもないので
この行は消しても良いのではないでしょうか

> > shiftjis <-> euc 変換だけ専用のサブルーチンが残っているのは
> > 速度かなにかを気にしたものでしょうかね
> 
> nkf -emZ1 のオプションの影響を受けないルーチンですね。
> 
ファイル名は正規化しないということでこれを使用したのでしょうね。


> > MS-Win32時の処理が汎用ルーチンに入っているのは気になるので
> > いずれどこかに切り出したいと思います。
> 
> 汎用ルーチンに入っている方が、汎用ルーチンを呼び出す側がすっきり
> するのでよさそうに思いますが、毎回条件判断されるのが嫌だとか
> ということでしょうか。
> あるいは、もっと前の処理で正規化してしまって、汎用ルーチンを通る
> ときは UNIX/Windows の区別がなくなった状態にしたいということで
> しょうか。
> -- 

utf8index以降の話になりますが
gfilter_to_titleに入る前にファイル名の文字コードは統一しておく、
正規化すべき field は mknmz::complete_field_info() でまとめて処理
としてはどうかと考えています。
正規化処理があちこちに散らばるとfieldによっては漏れが出たり
重複処理がでたりしそうなので出力直前の一箇所に集めてはどうかと
思っています。

現状の filter 内での gfilter::* の呼び出しも
処理が共通なので
mknmz::complete_field_info() の中か
filter から返ってきたところで行うようにしたいです。
(多段型フィルタについては残しておくほうがよさそうです)

utf8index ブランチではファイル名の文字コードの議論を元に
あれこれいじっている際に上記のような形にしたような気もします。

臼田幸生




Namazu-users-ja メーリングリストの案内