EPUBへのフォント埋め込みの仕様について

1.@font-face規則とフォント埋め込み

CSSではフォントリソースを指定する@font-faceルールが規定されている。@font-faceルールを使って閲読環境にないフォントをスタイルシートで利用することができる。フォントリソースをEPUBファイルに同梱して、そのリソースを@font-faceで指定することでフォント埋め込みを実現できる。

2.@font-face仕様の変遷
2.1 CSS2.0
@font-faceはCSS2.0で規定されている。

15.3.1 Font Descriptions and @font-face

2.2 CSS2.1
しかし、@font-face規則はCSS2.1で削除された。CSS2.1は@font-faceをサポートしない。

2.3 CSS3
@font-faceはCSS3で復活する。
CSS3仕様書: 
CSS Fonts Module Level 3
http://www.w3.org/TR/css3-fonts/#font-face-rule

2.3.1 @font-face
@font-face { }
の形式は descriptor: value; のリスト。

font-family:ファミリー名;
src: url(上記ファミリー名フォントのリソースURI);

とするとダウンロード可能なフォントを既述できる。
ダウンロード可能なフォントはそれを参照している文書のみで利用可能とするべき。

ローカルフォントを使いたいとき
src: local(フォントフェース名);

3. EPUPの場合
3.1 EPUB2.0

EPUB2.0 Open Publication Structure (OPS)仕様では@font-faceルールを利用可能としている。次の記述子をサポートする。
・font-family
・font-style
・font-variant
・font-weight
・font-size
・src

3.2 EPUB3.0
http://epub-revision.googlecode.com/svn/trunk/build/spec/epub30-contentdocs.html

(4月19日現在)
EPUB3.0では、@font-faceルールをCSS3 Fonts に従って使うこととされている。
閲読システムは、最低限、次の記述子をサポートする。
・font-family
・font-style
・font-weight
・src
・unicode-range

4. フォントファイルの難読化
4.1 OCF2.0

Font Embedding for Open Container Format Files
http://idpf.org/epub/20/spec/FontManglingSpec.html

Open Container Format ファイルへのフォントの埋め込み
http://lost_and_found.lv9.org/FontManglingSpec_ja.html