Microsoft Word 2002 が吐き出す HTML



Microsoft Word 2002 で図形を含む文書を HTMLフォーマットで保存すると、図形の部分がVMLとgif画像の両方で保存される。

-- sample_doc.htm --
..
<p class=MsoNormal><!--[if gte vml 1]>
..
VMLのコード
..
<![endif]--><![if !vml]>
..
<img width=100 height=100 src="sample_doc.files/image001.gif" v:shapes=..>
..
<![endif]>
..
--

まず、こういう二重処理をしているところに驚かされる。

更に、この HTML 文書を NetscapeやFireFoxで保存すると、<![if !vml]>の部分が<!--[if !vml]-->というようにコメントアウトに変換される。

-- sample_doc2.html --
..
<p class=MsoNormal><!--[if gte vml 1]>
..
VMLのコード
..
<![endif]--><!--[if !vml]-->
..
<img width=100 height=100 src="sample_doc2_files/image001.gif" v:shapes="..>
..
<!--[endif]-->
..
--

こういう処理が入っているというのにも驚かされる。

保存後のsample_doc2.htmlをNetscapeやFireFoxで閲覧する分には問題ない。ところが、Internet Explorerで閲覧すると、画像が二枚表示される。これはIEのバグだと思ったら、違った。VMLに対応しているかどうかの条件文がコメントとして処理されるから、図形がVMLとgif画像の二枚とも表示されてしまうのだった。Netscape/FireFoxだとVMLに対応していないから、gif画像の一枚だけ表示されるので、見た目的には問題が無いように見える。

以上をまとめると、

・Wordを使ってHTML文書を作りたい人がいるという事
・VMLとgif画像の両方で図形を保存するWordのHTML出力の意図
・Netscape/Firefox でVMLの条件文をコメントアウトしている処理の意図

んで、結局、何が問題で、どうあるべきなんでしょうね?

Posted: 火 - 5月 11, 2004 at 01:16 午前        


©