2011年7月27日

[Namazu-devel-ja 1878]Unicode の正規化 Re: Re: stable-2-0 に 2.0.21 を反映

臼田です

Unicode の正規化の話はこちらで続けます。

On 2011/07/26, at 11:40, Tasamasa Teranishi wrote:
>
> (2011/07/26 11:36), Tasamasa Teranishi wrote:
>>> Perl の Unicode::Normalize は使えないでしょうか。Perl 5.8.x なら

>>> 標準で入っています。(そろそろ Perl 5.8.1 未満は切り捨ててもいいような)
>>
>> mknmz じゃなくて、namazu, namazu.cgi 側の話なんで、C ライブラリ
>> の方が都合がいいのです。
>
> もちろん mknmz 側でも UNICODE の正規化 は必要になると思いますが、
> そっちでは使うことになると思います。
> # というか、そのつもりで、Perl 側の UNICODE の正規化はあまり問題
> # になることはないと思っているので、軽く流しています。

検索漏れが生じないようにインデックス作成時と、入力された検索語に
対して UNICODE の正規化が必要という話ですが、
Web で検索した範囲では、 NFC でないことにより問題となる事例は
Mac OSX からファイルをアップロードするときにファイル名に
濁点があると失敗するいうものぐらいしか見つかりませんでした。

HEAD の実装では以下のようにするのでしょうか。

【インデックスの正規化】
・インデックス対象文書は何が入っているかわからないので
 mknmz では Unicode::Normalize で NFC に正規化する。
・インデックス環境が Mac OSX の場合はファイルシステムで NFD もどき
 が使われているので、この環境のファイル名を扱うときは注意して
 NFC に正規化する。正規化したファイル名では実体にアクセスでき
 なくなると思われるので検索表示用と URI 用の両方を保持?

【検索語の正規化】
・ICU を使用。

一般的には入力時点では NFC の合成済み文字であると期待したいところですが、、
やはりそうでないアプリケーションもあるのですかね。


「参考」Unicodeの正規化について日本語で詳しく書かれたページ
http://homepage1.nifty.com/nomenclator/unicode/normalization.htm

臼田幸生
_______________________________________________
Namazu-devel-ja mailing list
Namazu-devel-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-devel-ja


投稿者 xml-rpc : 2011年7月27日 21:57
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/105224
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。