ごとけんです

In message "[ruby-list:20244] Re: (rd2) nl in Japanese chars"
    on 00/01/17, Toshiro Kuwabara <toshirok / yb3.so-net.ne.jp> writes:

>正直、僕にもよくわかってません。RDtoolが、日本語と英語をちゃんと
>扱い分けられるようになってないといけないのでしょうが。
># こういうのには"RD Header"が必要でしょうか?

どうなんでしょうねぇ。このような、いわゆるメタデータの記述は
WWW Consortium だと外に置くRDFになってますが、RDの場合は
ASCIIのスーパーセットであるような文字集合(今はせいぜい日本語)
の言語で書かれていることは分かってますから RD Header で解決
するという手は有効ですね。HTMLみたいにlang属性をつけてまわる
のはRDには向いてないように思いますし。

><URL:http://www2.pos.to/~tosh/ruby/rdtool/rd2html-ja.rb>
>
>ろくにテストしてないのでバグがありそうですが。

いえいえ参考になりますです。感謝感謝。

ただ、僕の書いたやつは元の文字列が短すぎるとコードを判定でき
ないという問題がありますのでそのまま採用するには良くないです。
ごめんなさい。

これは rb_nkf_guess() と kanji_convert() のアルゴリズムが違
うためで、Kconv::guess の値が Kconv::UNKNOWN のときは少なく
とも処理せずに返したほうがよいです。あと除去するパターンも 
\n\s*でなくて \s*\n\s* のほうが世間一般的かも。

>フィルターはRDで扱わない部分の処理をする為のモノなのでこのような
>用途には使えません。

そうなんですか。分かってなかった(汗)

>この正規表現の"[、-瑤]"の部分は「前の行の最後と次の行の最初が非ASCIIな
>時だけ」というのを示している、って理解であってますでしょうか?

そのつもりです。「、」と「瑤」は日本語EUCの最初と最後の文字です。

-- gotoken