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

Re: [バグレポ ート] w3 m-treat-image-sizeがきか ない



>>>>> In [emacs-w3m : No.06702]
>>>>>	Kiyoka Nishiyama <kiyoka@netfort.gr.jp> wrote:

> [現象]
>   イメージサイズの自動縮小がうまく動きません。
>   自動縮小がされず、w3m-treat-image-sizeがnilの時と同様の
>   画像サイズで画像表示されます。
>   ※ 自動縮小とは、w3mコマンドに "-ppl" というスイッチを与えて
>      そのレンダリング結果を元に 画像縮小する機能のことを指しています。

今までよくわかっていなかったんですが、w3m-treat-image-size が
non-nil の場合の意味は以下の解釈で良いでしょうか?

1. テキストと画像の相対関係を正しくする。
2. 画像を表示しないときに alt 文字列を画像と同じ幅で表示する。

> [調査内容]
>   w3m-rendering-half-dump() 関数で以下のような条件式がありますが、
>   この時に (w3m-display-inline-images-p) が nil を返すのが問題の
>   ようです。

>     (if (and w3m-treat-image-size
>      (w3m-display-inline-images-p))

>   この時の状況を、edebugで見てみると
>   w3m-display-inline-images-p ()関数内で
>   変数 w3m-display-inline-images が nil となっていました。

>   ページが全部表示されきった後で、変数 w3m-display-inline-imagesの
>   値を確認すると  t  になっていました。

デフォルトでは w3m-display-inline-images が nil で、T コマンドで
画像の表示を有効にしても、実際にその変数の値が t になるのは
halfdump の実行 (このとき w3m-display-inline-images-p が呼ばれる)
後なので、Kiyoka さんの調査結果は正しく w3m.el の動作を表してい
ます。

>     (if (and w3m-treat-image-size
>      (w3m-display-inline-images-p))

以前ここでは w3m-display-graphic-p が使われていたのですが、以下
の経緯によって w3m-display-inline-images-p に変更されました。

rxelayspeg.wl@hiromi.i.nes.nec.co.jp">http://thread.gmane.org/rxelayspeg.wl@hiromi.i.nes.nec.co.jp

ここで議論されているのは alt 文字列の表示幅ですが、これって単に
w3m-treat-image-size を無効にしただけだったんじゃないでしょうか?
たとえ alt 文字列がちぎれてしまうとしても、w3m-display-graphic-p
を使うのが正しいんじゃないかと思うんですが。

about:// のページで emacs-w3m という文字列が尻切れになってしまう
問題に対しては、そのページでだけ w3m-treat-image-size を nil に
束縛する、とか。
-- 
Katsumi Yamaoka <yamaoka@jpl.org>