オープンソースの画像生成AIをセットアップから使い方まで解説する『Stable Diffusion AI画像生成ガイドブック』(ソシム刊)発売中(→本のサポートページ

更新履歴的日記:トップページ更新/リンク復活

元記事:トップページ更新/リンク復活】

トップページを更新。Internet Explorer 3.xの人向けに、スタイルシートに関する提案を書いたページへのリンクを張った。それから、トップページからこのページへのリンクが「更新履歴」になっていたのを「更新履歴的日記」に変更。

IE 3の人向けのページへジャンプするリンクは、IE 3で閲覧している人にのみ見えるようにしている。内容は、IE 3はスタイルシートのサポートが非常に不完全なため、スタイルシートを適用せずに閲覧するほうが望ましいであろう、という話。

スタイルシート(正確な名称は「カスケーディングスタイルシート」)は、Webページの見栄えを指定するための規格である。HTMLは本来、文書の構造(ここが見出しであるとか、ここが段落であるとか)を定義するための言語であって、文書の見栄えを定義するものではない(実状はどうあれ、ね)。HTMLで文書構造の定義をし、スタイルシートで文書の見栄えを指定するというのがWebページの望ましいあり方である、とHTMLやスタイルシートの規格を勧告しているW3Cは考えている。

IEは3.xから、Netscape Navigatorは4.xからスタイルシートをサポートしている。ただこのサポート状況が問題で、IE 3.xはごくごく一部のみのサポート、Netscape Navigatorもかなりいい加減なサポートになってしまっているのだった。致命的なのはIE 3.xにおける行ピッチ指定の解釈である。

スタイルシートの規格では、行の高さ(正確には、ある行のベースラインと次の行のベースラインの距離)を以下の方法で指定できることになっている。

  1. フォントの高さに対するパーセンテージ(「100%」とか「150%」とか)
  2. フォントの高さに対する比(「1em」とか「1.5em」とか)
  3. ポイント数(「12pt」とか「18pt」とか)

ほかにもcmやmm、インチや「パイカ(1/72インチ)」という単位による指定などもできるのだが、そのへんは省略。「まんぷくや」のスタイルシートは「1.4em」、すなわち行の高さを、標準的なフォントの高さの1.4倍と指定している。のだが、何とIE 3.xは行の高さの指定を「ポイント」でしか解釈しないのだった。「150%」も「1.5em」もすべからく「150ポイント」「1.5ポイント」といった具合である。するとどうなるか。行の高さに「1.4em」を指定しているページは行の高さが1.4ポイントになり、行と行が重なって文字が読めなくなってしまうのだった。

これに限らず、HTMLやスタイルシートの規格をブラウザがきちんと実装していないケースはいくつかあるのだが、ここまで豪快な曲解をされるのは珍しい。ページが読めなくなってしまうかどうかという深刻な問題にかかわるので、IE 3.xではスタイルシートを適用せずに閲覧するほうがよいだろうということなのである。

ところで、行の高さを「ポイント」で指定することもできるのだが、「まんぷくや」ではそうしていない。なぜかといえば、人によってブラウザの表示に使っている文字の大きさが異なるから。文字を12ポイントで表示させている人には18ポイントの行間は読みやすいかもしれないが、18ポイントの文字で表示させている人には行と行がつまって見えてしまう。

実はスタイルシートを使うと、文字の大きさをポイントで指定することもできる。ブラウザの種類や設定によらず、決まった大きさの文字を表示できるのだが、この指定はページの「本文」には施すべきではないと思う。読みやすい文字の大きさは人によって違うからだ。同じ理由で、表示フォントの指定も装飾的な見出しなどを除いて使うべきではないと思っている。「coming soon」になったままの「webサイトを作ろう」ではこのへんの話を詳しく述べるつもりなのだが…新しいページを立ち上げる精神力がなかなかひねり出せない。期待している人がもしいたら、すいませんがもう少しお待ち下さい。