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は正しい実装をしているのだが……。


コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.