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

Re: convert bug?



From:  Katsumi Yamaoka <yamaoka@jpl.org> さん曰く
Subject: [emacs-w3m:04446] convert bug?
Message-ID: <yotlfzsw990f.fsf@jpl.org>
Date: Tue, 17 Dec 2002 20:31:44 +0900

山岡さん> ImageMagick の convert が作る xpm データの色が相変わらず
山岡さん> "rrggbb00" の形式なので、favicon の表示ができないのですが、皆さ
山岡さん> んはいかがでしょうか?

ぼくは w3m-favicon-type を新設したときに 'gif にしてしまいました。

山岡さん> この問題が普遍的なものならば、w3m-favicon-type のデフォルト値は
山岡さん> png などに変えた方が良いと思うのですが。

とりあえず、png => gif => xpm とかいう優先順位でフォーマットを決
めればよいのかしら。xpm より png, gif の方が convert の処理が速
いようですし(Emacs の表示速度はわかりませんが)。

(defcustom w3m-favicon-type (let ((types '(png gif xpm)))
			      (catch 'det
				(while types
				  (when (image-type-available-p (car types))
				    (throw 'det (car types)))
				  (setq types (cdr types)))))

P.S. 

すでに解析されているような気もしますが

山岡さん> 現在は ImageMagick-5.5.2 というものを使っているのですが、これっ
山岡さん> て xpm は自前で処理しているんですね。

手元のものは ImageMagick-5.4.9 なのですが、そのようですね。
coders/xpm.c を見ると xpm を作るときに

icon から    => WritePICONImage()
その他の画像 => WriteXPMImage()

と、もともと呼び出す関数が違っていて、そのなかから読んでいる
QueryColorname() => magick/color.c:GetColorTuple() を
matte が真(icon だと真になる)だと、わざわざ opacity(不透明度?)
をつけていました。抑制するオプションはないようです。

# で、GetColorTuple() で opacity をつけないようにすると、xpm で
# も大丈夫になりましたが、これはムチャでしょうし、わざわざ処理を
# 変えているのにはなにか意味があるのでしょう。xpm opacity で
# google するといろいろあるようですし。

-- 
白井秀行 (mailto:shirai@rdmg.mgcs.mei.co.jp)