From: TOYOFUKU Chikanobu Date: 2001-07-23T00:06:44+09:00 Subject: [ruby-dev:13986] Re: m17n ruby 特に TRON 文字コード 豊福です。 まつもとさん >|・マルチバイト文字の1バイト目*だけ*からバイト数がわかる >|という条件がエンコーディングには要求されるんですね。 >|(そうなるようなエンコーディングが普通でしょうけど) > > あ、そうか...そうですね。気付いてませんでしたがそうなります。 mbcspan的なインタフェースにすればいいんでしょうけど getc的な 場面で少し手直しが要るですね。 >| これ、islead で1バイト目であることがすぐわかればラッキーだし >|わからなければ文字列先頭から文字の切れ目を調べ直すみたいな使い方 >|でしょうか。 > > そうです。純粋にパフォーマンス向上のためにあります。 regex.c の BMサーチ関係で使ってるんですね。 素人考えですが must[1] が islead でなくても skipバイトを超える まで先頭文字ポインタずらしていくようにすれば BMサーチ使えない でしょうか。 同じく regex.c で if ((unsigned char)bufp->must[i] == 0xff) { の 0xff はどういう意味を持つのですか。文字のマルチバイトの中に 0xff を持つようなエンコーディングはまずいですか。 --- 豊福 toyofuku@juice.or.jp