豊福です。

  1バイト目だけからでは文字長がわからないコーディングが
実際にあったんですね。

まつもとさん
>|一般的には
>|逆方向に文字先頭を探すというインターフェースが必要なのかも。
>|WindowsにあるCharPrevEx()というのがそれっぽいですが。
>
> そうですねえ。悩ましい。

  御検討の際には

Subject: [ruby-dev:14145] Re: BM(Boyer-Moore) search
|>> ・マッチした部分がマルチバイトの途中からでないかチェックする。
|>>   (1バイトずつ戻っていきながら文字の切れ目を見つけチェック)
|>> とやってるみたいです。
  ...
|     m17n_hugahuga(enc, begin, p, &s);
|     /* p以前で文字先頭になる*任意の*アドレスを s に返す。
|        (最悪 begin を返せばよい)
|        pに近いアドレスを返すほど後で役に立つかもしれない。 */

も路線が似てるので一緒にお願いします。
---
                                豊福
                                toyofuku / juice.or.jp