PNGとは「Portable Network Graphics」の頭文字であるからして、JPEGやGIFと同様、画像フォーマットの一種である。詳しいことは、PNG Home Siteであるとか、PNGの仕様書ページなどを見てもらうとして。
最近のWebブラウザは、PNGフォーマットに対応したものが多いらしい。例えば Netscape Navigator 4.04 以降は、PNGイメージをインライン表示できるそうである。だからそれ以降のヴァージョンを使っていれば、PNGがどうしたこうしたなんてことは別に考えなくてもいい。
しかし、ここで稼働しているのは68K Mac、システムは7.5.5、ネスケのヴァージョンは3.0である。この条件下でPNGをインライン表示させるためには、多少の手間を必要とする。
新しいネスケが動くなら話は簡単であるが、システムのヴァージョンが7.5.5だと、Netscape Navigator 4.04 以降が使えない。Mac OS 7.6以降でないと駄目なのだ。
ネスケの2.0以降なら、プラグインを追加すればPNGに対応できるらしい。というわけで、「WWW and Online Browsers with PNG Support」というページなどを見ながら、ネスケ用プラグインを探す。
結構種類はあるものの、Mac用のは少ない。68K対応となると更に少ない。Appleが「QuickTime PNG plug-in」ってのを出していたらしいが、探しても見つからない。「PNG Live plug-in」というのは、Power Mac用のみ。
結局使えそうなのは、「PNG plug-in」ってやつだけ。これは実は上で触れた「QuickTime PNG plug-in」の原形で、ベータ版がリリースされた後、そちらに吸収されていったものらしい。何にせよ、他に候補が見つからないので、これをダウンロードして試すことにする。
「PNG plug-in」はちゃんと働いてくれて、付属のサンプルページでのPNGインライン表示テストにも成功した。ただし、一つ問題がある。サンプルページのソースを開いて見ると、こんな風に書いてある。
<EMBED SRC="pngtest.png" WIDTH=400 HEIGHT=200 BORDER=5 TYPE="image/png">
<EMBED>ってのは見慣れないタグで、使ったこともない。イメージなんだから<IMG>タグを使うんじゃないの? と思ったのだが、違うのである。「PNG plug-in」の注意書きにも<EMBED>タグのみに対応と書いてあるし、「WWW and Online Browsers with PNG Support」ページにも同様の但し書きがある。
で、この<EMBED>は、ネスケ独自のタグである。ネスケならどれでも大丈夫か、というとそうでもない。実はLinuxに入っている Netscape Communicator はヴァージョンが4.08なので、PNGにネイティヴ対応しているのである(普通の<IMG>タグでPNGのインライン表示ができる)。こいつで<EMBED>タグを使ったサンプルページを開くと、「対応するプラグインがない」とイメージを表示してくれない。
つまり、<EMBED>タグは、PNG用のプラグインを追加したネスケでないと意味を持ってくれない。はっきり言って、そんなタグ、使いたくない。自分で見るだけのページだとしても、<EMBED>を使うとLinuxのネスケでは表示できないし、<IMG>にするとMacのネスケで見れない。
PNGイメージの例。
![]() | |
| <EMBED>したもの | <IMG>したもの |
すぐに思いつく解決策が二つ。LinuxのネスケにPNG用のプラグインを追加する。<EMBED>タグと<IMG>タグを両方使う。……どちらも馬鹿らしくて、積極的に採用したい策じゃない。
実はこれにも簡単な代案がある。Macで、ネスケの代わりにiCabを使えばいいのである。iCabならPNGのインライン表示(<IMG>タグ)に対応しているし、ネスケ独自の<EMBED>もちゃんと解釈してイメージを表示してくれる。
iCabには他にも長所がたくさんあるから、さっさと乗り換えてしまいたいのだが、68K版はシフトJIS以外の日本語に対応していない、という大きな障害があって、ネスケとの併用に留まっている。
というわけで、「時代遅れのMac環境の下、WebブラウザにPNGイメージをインライン表示させる」という課題への決定的な回答は見つからないままなのである。パテント問題を抱えるGIFからフリーなPNGへの転換を考えてはいても、なかなか実行に移すことができない。
暫定的に、PNGとGIF、両方の画像を使うことにした。一応PNGをメインにして、GIFは補助的に。