font-family on CSS

CSSにはfont-familyというプロパティがある。たとえば以下のように指定する。

p{font-family: "Times New Roman", Times, "MS P明朝", "MS 明朝", serif;}

この場合、UAは、font-familyにあげられたフォントを一番目から適用し、そのフォントが存在しなければ、順次次のフォントを適用することが求められている。またもしフォントが存在しても、その字形に適用すべきフォントがなければ、次のフォントを使用することが求められている。上記の例で日本語英語混在の文章の場合は、英語ではTimes New Romanがまず適用され、日本語ではTimes New Roman、Timesに日本語のフォントは含まれないためMS P明朝がまず適用されるフォントということになる。

一太郎やWORDなどで欧文と日本語で別のフォントを指定するようなシステムはCSSではこのようにして実現する。しかるにInternet Explorerでは、最初のフォントがなければ、デフォルトのフォントを適用してしまう。つまり上記の例では、デフォルトのフォントにMS Pゴシックが指定されていれば、それが適用されるということである。私自身は非常に迷惑しているわけだが、このルールはCSS2で明文化されたので、CSS1フルサポートをうたっているにすぎないInternet Explorerをあまり強く責められない。Mozillaは正しい実装をしているのだが……。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください