« 本日よりサーバベース・コンバータV3.0MR5をリリースしました。 | メイン | PDF Tool API V3.1 MR6 をリリースしました。 »

2011年04月19日

EPUBのフォント埋め込みについてのメモ

EPUBにおけるフォント埋め込みについて少し調べてみましたのでメモとして整理しておきます。

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

CSSではフォントリソースを指定する@font-faceルールが規定されている。@font-faceルールを使って閲読環境にないフォントリソースを指定しておき、そのフォントリソースをスタイルシートで利用することができる。EPUBではフォントリソースを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. EPUBの場合
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://idpf.org/epub/30/spec/epub30-contentdocs.html#sec-css-fonts

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

4. フォントファイルの難読化
フォントファイルなにも細工しないでEPUBに同梱すると、EPUBはZIP形式なのでZIPを解凍してフォントファイルを取り出すことができてしまう。この防止のため、EPUBのファイル形式を定めるOpen Container Format(OCF)でフォントをそのままでは利用できないようにする難読化の方法が提案されている。

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

4.2 OCF3.0
EPUB Open Container Format (OCF) 3.0
「5 Font Obfuscation」の項
http://idpf.org/epub/30/spec/epub30-ocf.html#font-obfuscation

※このメモの内容は、cassupportの日記の(4/19)に書いた内容とおおよそ同じです。
http://d.hatena.ne.jp/cassupport/

投稿者 koba : 2011年04月19日 20:05

トラックバック

このエントリーのトラックバックURL:
http://blog.antenna.co.jp/PDFTool/mt-tbng2.cgi/1603

コメント

コメントしてください

サイン・インを確認しました、 さん。コメントしてください。 ( サイン・アウト)

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


情報を登録する?