フォント埋め込みとは
電子ドキュメント内の文字情報は文字コードを使って表すが、文字コードだけでは文字の形を表示できない。文字の形を表示するにはフォントを使う。電子ドキュメント作成時にフォントのデータを内部に含めることを「フォント埋め込み」という。フォント埋め込みした電子ドキュメントは、ドキュメント作成者が意図したフォントで文字を表示できる。
もっと詳しく!
フォントの所在
モバイル機器、PCなどの機器(デバイス)で、電子ドキュメントを表示(より専門的には、可視化という)するにはデバイス・OS・リーダーアプリなどに装備されているフォントを使うのが普通である。インターネット上のフォントサーバーからフォントを入手して表示するWebフォント・サービスも普及し始めた。
フォントの内容
デジタルフォントでは文字の形をグリフという。フォントは、一定のデザインのもとに作成した多数のグリフの集合である。一つの文字コードに対して複数のグリフが用意されている文字もたくさんある。もっとも成功したデジタルフォントであるアウトラインフォントはグリフを曲線で描画する。この描画パラメータをグリフデータという。OpenTypeのようなインテリジェントなフォントは、グリフデータに加えて、文字コードからグリフデータへの対応表、グリフを配置するための寸法や位置に関するデータ(フォントメトリックス)、縦書・横書際のグリフ切替表、などの付随データをひとつのファイルにまとめて提供している。
電子ドキュメント作成時のグリフの扱い
電子ドキュメントを作成するとき、グリフの扱いを大きく分けると次の3通りになる。
イ.電子ドキュメントに文字コードのみを含め、グリフデータは含めない(フォント埋め込みなし)
ロ.電子ドキュメントに、グリフデータを含める(フォント埋め込み)。
ハ.フォントからグリフデータを取り出し、グリフを描画する線画データに変換してから電子ドキュメントに埋め込む(アウトライン化)。
アウトライン化は特殊な用途なので除外し、以下では、a.フォント埋め込みなしと、b.フォント埋め込みについて、表示の違い、PDFとEPUBの埋め込み方法を比較しながら説明する。
フォント埋め込みの有無による表示の違い
受け手が電子ドキュメントを表示するとき、フォントが埋め込まれていないときと埋め込まれているときでの相違を簡単に説明する。
(1) フォント埋め込みなし電子ドキュメントの表示
電子ドキュメントの表示アプリケーションは、デバイス・OS・アプリなどがもつフォントを使う。電子ドキュメントの中で指定されているフォントが使えないときは、類似の代替フォントを使う。代替フォントを表示に使うと、文字の形・見栄えが作成者の意図と違ってしまう。異なるフォントではフォントメトリックスが異なるので作成時と文字の配置が変わり、レイアウトが崩れる。フォントが文字コードに対応するグリフをもっていないとき文字が化けてしまう。
(2) フォント埋め込みあり電子ドキュメントの表示
フォントを埋め込んだ電子ドキュメントを、埋め込まれたフォントを使って表示すれば、文字の形や配置が変わることなく、作成者の意図通りのデザインを再現できる。但し、表示アプリケーションによっては正しく再現できないこともあるが、これはアプリケーションの責任である。
PDFとEPUBのフォント埋め込み方法の比較
PDFとEPUBでは、フォント埋め込みという用語は同じでも、その仕組みは相当に異なる。次にそれぞれの仕組みを簡単に説明する。
(1) PDF
PDFは文字の位置を正確に指定する機能を備えている。フォント埋め込みしたPDFでは、テキストは位置指定されたグリフID列で表す。必要なグリフデータはPDF中の共有リソースとして保存される。さらに、グリフIDから文字コードへの対応表が作成される(これを、ToUnicode CMapという。他の方法もある)。ToUnicode CMapは、PDFの文字を検索したり、テキストの読み上げ、テキスト取り出しなどで使われる。このようにPDFのフォント埋め込みではフォントの中のグリフデータだけ取り込まれるのであり、フォントをそのまま埋め込むのではない。埋め込まれたグリフデータをPDF以外に転用するのは困難である。
(2) EPUB
EPUBのコンテンツ文書はXHTMLであり、テキストは文字コードで表される。EPUBのリーダーはフォントを使ってテキストを可視化する。このためEPUBのフォント埋め込みはフォントファイルを自分のパッケージ内に含める。そしてWebフォントと同じように、CSS3の@font-face規則でフォントの属性とフォントのパスを記述する。つまり、EPUBのフォント埋め込みはフォントファイルのパスが自分のパッケージ内であるのに対して、Webフォントはフォントファイルの場所をURLで示す。
サブセット化・難読化
フォント埋め込みのオプションについて説明する。
(1) サブセット埋め込み
電子ドキュメント作成時にフォントを埋め込むとき、フォントの中の全ての文字ではなく、その電子ドキュメントで使われている文字のみに絞ってグリフデータを埋め込むことをサブセット埋め込みという。日本語は文字数が多いのでフォントのサイズが大きいが、サブセット化するとサイズを大幅に圧縮できる。このため日本語のフォント埋め込みではサブセット化が重要である。PDFのサブセット埋め込みでは使われているグリフデータだけ集めれば良いが、EPUBのサブセット埋め込みはEPUB作成の度にサブセットフォントを作成する必要がある。Webフォントでも指定されたフォントファイルを丸ごとダウンロードするのではなく、フォントサーバーでダイナミックにサブセット化するのが普通なので、技術的には共通である。
(2) 難読化
EPUBのフォント埋め込みではフォントファイルの形式で埋め込むため、フォントを取り出してEPUB表示以外の目的につかうことも難しくない。目的外利用を抑制するため、フォントファイルの内部を解読し難くすることを難読化という。EPUB作成時にフォントが難読化されると、EPUBリーダーではそれを解読して読む必要がある。このため難読化に関しては作り手と受け手間で合意が必要であり、EPUB3.0の仕様書は難読化のアルゴリズムやキーの使い方を規定している。
埋め込みとフォントの権利
フォントはプログラムとして著作者の権利が認められている。フォントを埋め込んだ電子ドキュメントの作成・頒布は、フォントの一部または全部の複製と再配布に該当するので、原則として著作権者の許諾が必要である。
フォント・ベンダーによってはライセンス契約に埋め込み許諾・制限・不許可を記載している。しかし、PDFを作成するにあたって、ユーザーがいちいちフォント・ベンダーの許可を確認するのは面倒である。そこでOpenTypeにはフォントファイルに「埋め込み許可フラグ」が設定されており、PDF作成ソフトがそのフラグをみて埋め込みできるかどうか判断するという簡易的な枠組ができている。
PDFが登場したのは1990年代の後半であるが、当初はフォントを埋め込まないPDFは読み手の環境によっては正しく表示できないという問題があり、誤解や混乱が見られた。しかし、うえに述べたような枠組みができ、1998年には日本タイポグラフィ協会は「電子ドキュメントデータへのフォント埋込み機能に対する タイプフェイス/フォントの権利保護に関する声明書」[1]で秩序ある埋め込みを許容する方向を示すなど、フォント埋め込みが幅広く使えるようになった。この結果、今では、どこでも、だれでもPDFを正しく表示できるようになった。PDFの普及にあたってフォント埋め込みが果たした役割は大きい。
EPUBへのフォント埋め込みを許諾するかどうかはフォント・ベンダーによって方針が異なるようだ。またフォントファイルの「埋め込み許可フラグ」がEPUBを想定しているかどうかも不明である。こうしたことでEPUBのフォント埋め込みはまだ普及していない。フォント埋め込みが普及すれば、文字による表現力が豊かになり、また特殊な文字や外字などをイメージファイルとして表す必要がなくなる。EPUBへのフォント埋め込みの普及を期待したい。
「1」電子ドキュメントデータへのフォント埋込み機能に対する タイプフェイス/フォントの権利保護に関する声明書
http://www.typography.or.jp/act/morals/moral4.html
[小林 徳滋 アンテナハウス株式会社 20150907]