[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
2000/10/18 15:21 from Asaka
Title: [teenbbs:816] Re:810)BR98 table処理

No.   : 816
Sender: Asaka
URL   : asaka@proc.org.tohoku.ac.jp
Title : Re:810)BR98 table処理

>>htm2txt と比べると他の二つは colspan, rowspan, align 属性等をうまく処理
>>できていないような気がします.
>
>Mee だと rowspan がちゃんと縦に並んで綺麗ですね
>br98 は colspan,rowspan を処理していないようですね。
>htm2txt は簡単な表だと逆に変になることが多いです(^^;
># 原因はわかっていますが…

それどころか、tr,td,thしか処理した記憶がないです(笑)
widthとかcaptionとか、かなりひどい扱いです。
(1)各セルごとに横幅を求め、縦1列見て最大値を求める
(2)横幅が608dot(表示領域)に収まるように、大きい方から横幅を下げていく
(3)セルごとに、そうやって決まった横幅に内容をおさめる
とやっていますので、(1)(3)と2回table内容を読んでいます。
ので、進行状況のバーも2回出ます。

>さらに httpget.exe の wrapper のような物にすれば br98 でもキャッシュが
>使用できると思いますがどうするべきでしょう。

ちなみに現在の実装状況ですが、br98内部では画像をキャッシュしています。
作業ディレクトリに、一旦書き出した変換後ファイルを消さずにおくだけですが。
(だから作業領域の残りがどんどん減る)
一度読み込んだ画像がもう一度指定されたときは使う...はずですがたまに失敗します(
爆)

どんな処理をしているかは、br98終了後にundeleteをかけて
$temp.???をひととおり見ればすぐに分かるレベルです。
(640KB未満マシンをにらんで、メモリ内のキャッシュは一切行わないようにしています)
HTML変換後ファイルのキャッシュは...戻るときだけやってます(笑)

※このキャッシュはいずれも、httpgetなどでファイルを読み込んでから
  br98内で処理しているときの話です。

ので、httpgetにキャッシュを実装すれば、それだけでも速度はかなり上がるのではない
でしょうか。
実装方法ですが、br98はhttpgetをバッチファイルでよびだしていますので、
httpgetと同じ引数を受け付けるようにして、
「以前getしたファイルならその中身を指定出力ファイルに書き出す」
「まだgetしていないファイルならhttpgetを呼び出し、指定出力ファイルに書き出すと
ともに保管しておく」
ようにすればよいかと思います。

※他ブラウザのことはまったく考慮に入れていない意見ですので参考まで。

[レスを書く]