リーディングシステムは、ファイルをレンダリングする前に、メディア タイプを使用してファイルに含まれるコンテンツの種類を判断します。次の表に、最も一般的なファイル形式とそれに対応するメディア タイプ値の一部を示します。
ファイル形式 | メディアタイプ |
---|---|
XHTML | application/xhtml+xml |
SVG | image/svg+xml |
CSS | text/css |
JavaScript | application/javascript |
JPEG | image/jpeg |
EPUB 仕様では、コア メディア タイプと呼ばれる一連のファイル形式が定義されています。これは、作成者が、EPUB コンテンツ ドキュメントに、フォールバックを必要とせずに含めることができるファイル形式です。
リーディングシステムは、必要なレンダリングをサポートしている限り、これらの形式をサポートする必要があります(たとえば、テキストのみを読み上げるリーディングシステムは CSS または画像形式をサポートする必要はありませんが、視覚的な表示を備えたリーディングシステムはサポートする必要があります)。
EPUB 出版物でコア メディア タイプのみを使用すると、どのリーディングシステムを使ってもその出版物を読めるように保障できます。
EPUB の各バージョンでは、サポートされているメディア タイプの完全なリストが提供されます。
フォールバック
EPUB 形式は、出版に適した、広くサポートされているファイル形式をできるだけ多く取り入れようとしていますが、コア セットに含まれていない形式が必要になる場合もあります。たとえば、リーディングシステムが、新しい高度な画像形式を最初にサポートする場合があります。
EPUBは、出版物の読みやすさを損なうことなく、リーディングシステムが広くサポートしていない形式を出版社が利用できるようにするために、独自のフォールバック方法とHTMLで元々使用できる方法の両方を活用します。著者がコア メディア タイプへのフォールバックを提供する限り、EPUB 出版物に任意のファイル形式を追加できます。
次のサブセクションでは、EPUB が提供するフォールバック メカニズムについて説明します。
HTML フォールバック
作成者がページにコンテンツを埋め込むことができるほとんどの HTML 要素は、プライマリ ソースが利用できない場合やリーディングシステムがそれをレンダリングできない場合に備えて、フォールバック コンテンツを含める手段を提供します。
たとえば、 audio
要素とvideo
要素では、作成者は複数のsource
要素を使用して、複数の形式でメディアを提供できます。
audio
要素やvideo
要素とは異なり、 object
要素のネストされたコンテンツはフォールバックを表します。リーディングシステムは、ファイルのメディア タイプをサポートしていない場合、このコンテンツをレンダリングします。
画像のフォールバックを埋め込むことは以前は困難でしたが、 srcset
属性とpicture
要素の追加により状況は大幅に改善されました(フォールバックの欠如が EPUB でマニフェスト フォールバックが作成された主な理由でした)。
免除要素
EPUB 3 では、次の要素もフォールバック要件から免除されます。
-
rel
属性値pronunciation
がある場合のlink
(発音辞書ファイルを許可するため)。 -
track
(キャプション、字幕、および同様の音声/ビデオ トラック形式を含めることができます) -
video
(EPUB では、すべてのリーディングシステムがサポートする必要がある単一のビデオ形式は定義されていません)。
このような場合、作成者は任意の形式を指定できますが、リーディングシステムがその形式のレンダリングをサポートするという保証はありません。
EPUB 固有のフォールバック
manifestフォールバック
manifestフォールバックは、EPUB パッケージ ドキュメントでどのように実装されているかによって名前が付けられます。 manifest
要素には、出版物で使用されるすべてのリソースがリストされ、その中の各item
要素では、 fallback
属性を使用して別のitem
をフォールバックとして指定できます。
manifestフォールバックが使用される場所は 2 つあります。1 つ目は、未知のメディア タイプをspineに含めることです(つまり、出版物の読み取り順でドキュメント化する)。ただし、この方法は主に EPUB 2 で XHTML フォールバックを使用してspineに SVG 画像を許可するために使用されていたため、ほとんど使用されなくなりました。
この場合、リーディングシステムが SVG をサポートしていない場合は、サポートできるメディア タイプが見つかるまでfallback
属性参照に従います。上記のケースではフォールバックは 1 つだけですが、サポートされているメディア タイプに到達するまで、複数の項目をフォールバックし続けることができます。フォールバック チェーンの唯一の要件は、コア メディア タイプを含める必要があることです。
manifestフォールバックが使用されるもう 1 つの場所は、HTML img
要素のフォールバック画像を提供する場所です。最近srcset
属性が追加され、新しいpicture
要素が作成されるまでは、HTML ではimg
要素を使用して埋め込まれた画像のフォールバックを提供することができませんでした。回避策として、リーディングシステムは、 img
要素のソースをmanifestで指定されたフォールバックに変更することが期待されます。
EPUB 2 で他に選択肢がない場合を除いて、画像のmanifest フォールバックは避けるのが最善です。manifest フォールバックは十分にサポートされていません。
非推奨のフォールバック手法
EPUB には、使用が推奨されなくなった 2 つのフォールバック手法があります。
- コンテンツの切り替え
-
EPUB のコンテンツ切り替えメカニズムにより、作成者は XHTML コンテンツ ドキュメント内に MathML などのマークアップ言語を埋め込むことができました。このメカニズムはプログラミング言語の switch ケースをモデルにしており、
case
要素に外部マークアップが含まれています。リーディングシステムがこれらのマークアップ言語をサポートしていない場合、default
要素にフォールバックとして使用する HTML が含まれています。コンテンツ切り替えは、XHTML コンテンツ ドキュメント内で MathML または SVG が許可されなかった EPUB 2 用に開発されました。EPUB 3 では一時的に許可されていましたが、サポート不足のため最終的に廃止されました。
- バインディング
-
EPUB 3 では、外部メディア タイプ用のスクリプト フォールバックを提供するためにバインディングが作成されました。リーディングシステムが
object
タグ内のメディア タイプをサポートしていない場合、作成者はパッケージ ドキュメント内のリソースを、object
で指定された引数が渡されるフォールバック スクリプト ドキュメントに「バインド」できます。バインディングの手法は、機能の実際的な必要性がなく、リーディングシステムでのサポートがまったくないため、最新バージョンの EPUB 3 では非推奨になっています。したがって、使用は避ける必要があります。
リソースの場所
EPUB では、次の種類のコンテンツを ZIP コンテナ内に保存するのではなく、Web 上でホストできます。
- 音声ファイル
- ビデオファイル
- フォントファイル
- スクリプトによって取得されるリソース(スクリプトコードそのものではありません)
ただし、このような場合には注意が必要です。ユーザーがリモートでホストされているコンテンツをダウンロードできるという保証はなく、ネットワーク アクセスが利用可能であっても、リーディングシステムがリモートでホストされているリソースを取得できるという保証もありません。
関連リンク
- HTML —
audio
要素 - HTML —
img
要素 - HTML —
object
要素 - HTML —
picture
要素 - HTML —
video
要素 - EPUB 3 —サポートされているメディアタイプ
- EPUB 2 — MIME メディア タイプ