[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

不正対応のトラバース (old was italic text)



ども、長です。

# 以降は、emacs-w3m MLもプラス
# いろいろあってスレッドが切れます。

このメールは----------------------------------------------
山岡 克美 <yamaoka@xxxxxxx> さん( 山岡 と引用)の
MsgID   : [w3m-dev : No.04178]
Subject : [w3m-dev 04178] Re: italic text
Date    : [Wed, 06 Dec 2006 08:03:20 +0900]
-------------------------------------------への返信です-〆
 《件名・引用文は改行・削除・変更してあるかもしれません》
山岡> >>>>> In <b4mvekq7xzv.fsf@xxxxxxx> 山岡 wrote:
[...]
山岡> > <b>bold<u>bod-underline</u></b>underline

山岡> > であったものとして表示しなければならないんですよね(?)。

はい、補正するとそうなると思います。

| $ echo "<b>bold<u>bold-underline</b>underline</u>" | w3m -halfdump
| <b>bold<u>bold-underline</b>underline</u>

とそのままですね。

いまのemacs-w3mは、html要素のタグの開始/終了の対に処理するだけで、入れ子の構造の
補正がないと思いますので。

<b>bold<u>bold-underline</b>underline</u>
   ^^^^^^^^^^^^^^^^^^^^^                     boldのtext属性を付ける
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~        underlineのtext属性を付ける

となります。
また、実際そう表示されます。

ある意味HTML作者の期待した通りになりますが、規約的にはNGですよね。たぶん
# レンダリング結果はあくまでブラウザが好きにしていいとはいえ

タグの開始/終了をトラバースする必要が出てしまうというか

======================================================================
|<b>bold<u>bold-underline</b>underline</u>
|^^                                  <b>をpush
|   .....^^                          <u>をpush
|          ..............~~~         <b>をpopするまでstackの閉じ処理を代行する
|<b>bold<u>bold-underline</u></b>underline</u> 補正
|                                .........~~~
|                                    <u>をpopしたいがstackが空なので削除
|<b>bold<u>bold-underline</u></b>underline 補正
======================================================================

みたいなシーケンスが必要?
(これはSAXみたいなイベントドリブン式)

# これをemacs-w3mでやるのは、明かにw3の悪夢という感じがしますが(w
# w3mが補正しても、それはそれで時間がかかりそう....というか手間の割に
# 得られるものが少ないので、どうでしょうね

とりあえず、以上です。
--
Tsuyoshi CHO
  mailto:tsuyoshi_cho@xxxxxxxxx