« 2006年03月22日 | メイン | 2006年03月24日 »

2006年03月23日

PDFとフォント(12) CSSのフォント選択仕様

和文フォント”平成角ゴシック Std”は、もともと、W3、W5、W7、W9がフォントファミリーとして設計されています。しかし、現在のWindowsアプリケーションは、Microsoft OfficeでもWebブラウザ(IE6、Firefox)でも、”平成角ゴシック Std”をフォントファミリー名として認識できていないことを示しました。

私の想像ですが、この原因は、次のようなことでしょう。
(1) フォントファミリーは印刷業界などの専門家向けのDTPソフトで使われていたが、Microsoft Officeでは、文字にフォントを指定する際に、フォントファミリーを使うという概念がなかった。
(2) さらに、WindowsのAPI(アプリケーション・プログラム・インターフェイス)もMicrosoft Officeのような一般ビジネス文書用のアプリケーション用途になっているため、OpenTypeの優先フォントファミリー(ID16)の情報をアプリケーションに提供するようになっていない。

この解決策はないのでしょうか?

CSS2では、ブラウザがフォントを選択するための仕組みとしてフォント記述(Font Description)という仕様が定義されています。

例えば、平成角ゴシック Stdというフォントファミリーは@font-faceを使って、次のように記述することができます。

<style type="text/css">
@font-face { src : local("平成角ゴシック Std W3");
font-family : "平成角ゴシック Std" ;
font-weight : 300
}
@font-face { src : local("平成角ゴシック Std W5");
font-family : "平成角ゴシック Std" ;
font-weight : 500
}
@font-face { src : local("平成角ゴシック Std W7");
font-family : "平成角ゴシック Std" ;
font-weight : 700;
}
@font-face { src : local("平成角ゴシック Std W9");
font-family : "平成角ゴシック Std" ;
font-weight : 900
}
</style>

こうすれば、font-weightが300、500、700、900の4つの特性をもつ平成角ゴシック Stdというフォントファミリーを定義できるはずです。しかし、残念ながらIE6も、Firefoxも@font-face指定を認識できません。

@font-faceはCSS2から導入されました。IE6はCSS2は未対応。
CSS2の@font-face宣言は、CSS2.1(Working Draft)では削除されています。

Cascading Style Sheets, level 2 revision 1
CSS 2.1 Specification
W3C Working Draft 13 June 2005

Appendix C. Changes

そのためかどうか、Firefoxでも@font-faceによる上の定義は認識できないようです。

ここにサンプルファイルを置きます。お使いのブラウザでお試しになってみてください。
Download file

どこかに、@font-faceを認識するブラウザがあるのでしょうか?また、Internet Explorer7になったらできるようになるのでしょうか?

投票をお願いいたします

投稿者 koba : 08:00 | コメント (0) | トラックバック