]> EPUB 3 Fixed Layout Documents(日本語訳版)

この文書は「EPUB 3 Fixed-Layout Documents」を日本語訳したものです。最新の文書は http://idpf.org/epub/fxl/ です。原文もしくは最新の情報を参照したい場合は、EPUB 3 Fixed-Layout Documents を参照ください。

この日本語訳は参考です。公式な文書ではありません。翻訳・解釈の正確性を保証しておりません。

公開日:
2012-04-20
改訂日:
2013-04-05
翻訳者:
Wataru Yoshimura
校正者:
Fumihiro Kato

本文中にある“合成された見開き”とは、隣接する二枚のページが見開きのページとして仮想的に一枚のページとなる状態を示す synthetic spread の日本語訳です。“両ページにまたがる図版”とは、“合成された見開き”の中央に位置するアイテムを示す center plate の日本語訳です。

なお、本文中の EPUB Publications 3.0 - 1.2. 用語 に定義されている用語は、なるべく原文のままとした。EPUB Publications 3.0 の日本語訳も参考ください。

また、原文で斜体の箇所は日本語は括弧で囲み、英数字はそのまま斜体としました。

EPUB 3 Fixed-Layout Documents

情報文書

この版:
http://www.idpf.org/epub/fxl/epub-fxl-20120313.html
最新版:
http://idpf.org/epub/fxl/
前の版:
http://www.idpf.org/epub/fxl/epub-fxl-20120308.html

Editors

Markus Gylling (IDPF), Dave Cramer (Hachette)

Authors

Takeshi Kanai (Sony), Peter Sorotokin (Adobe), Roger Webster (Barnes & Noble), James Lester (Barnes & Noble), Brady Kroupa (Barnes & Noble), Garth Conboy (Google), Brady Duga (Google), MURATA Makoto (JEPA), Edward O’Connor (Apple), Luc Audrain (Hachette Livre), Hadrien Gardeur (Feedbooks)

ドキュメントのステータス

これは IDPF EPUB working group よって制作され、2012年3月13日に IDPF 理事会によって承認された IDPF 情報文書である。任意の時点で他のドキュメントによって更新されたり、置き換えられたり、廃止されることがある(may)。

> 目的とスコープ

EPUB® ドキュメントは、印刷書籍や PDF ファイルとは異なり、変化するように設計されている。コンテンツは画面や読者の要求に合わせてフローまたはリフローをする。EPUB 3.0 仕様書は“コンテンツの表現は、ユーザーがコンテンツの特定の表現に合わせるのではなく、ユーザーに合わせるべきである(should)”と述べている。

しかしこの原則はすべての形式のドキュメントに適用されるわけではない。コンテンツとデザインは切り離すことができず、結び付けられている時がある。ささいな見た目の変更で意味が変化し、意味を失う危険がある。固定レイアウトドキュメントはコンテンツ制作者に表現をより詳細に制御できるようにするので、リフロー可能な EPUB コンテンツには適していない。

本文書、EPUB 3 Fixed-Layout Documents は、EPUB 3 のコンテキスト内で固定レイアウトドキュメントが意図しているレンダリング動作の宣言の語句を許可しているメタデータ要素の組を定義する。固定レイアウトの [ContentDocs30] XHTML コンテンツと SVG コンテンツおよびビットマップ画像の意図するレンダリングの寸法を表現するメカニズムもまた定義する。

note

EPUB 3 は EPUB 3 ドキュメント内の固定レイアウトのコンテンツを表現する複数のメカニズムを提供する。固定レイアウトコンテンツが必要な場合、著者が選択するメカニズムは、望む精度、ファイルサイズ、アクセシビリティなどを含む複数の要因に依存するだろう。本文書は著者が選択するメカニズムを指示することを意図するものではない。

> プロパティの定義

> rendition:layout プロパティ

名前

rendition:layout

概要

指定した Publication または spine item がリフローかページ区切りなのかを規定する。

reflowable | pre-paginated

使用例

Package Document の meta 要素

Package Document の itemref 要素

初期値

meta 内:reflowable

itemref 内:meta を継承

個数

metadata 内:0以上

itemref 内:0以上

> 使用例

rendition:layout プロパティが Package Document の meta 要素に指定されている時、ページ区切りまたはリフローのレイアウト形式(以下に許可された値を参照)が、それが指定された Publication(例えば全ての spine item)に包括的に適用されることを示している。

‘reflowable’ は meta 要素が使用される状況のプロパティの初期値で、このプロパティを含んでいる meta 要素が Package Document のインスタンス内に現れない場合はこの値がグローバル値であると Reading System によって想定されなければならない(must)。

rendition:layout プロパティは Package Document の spine itemref 要素へ局部的に指定してもよく(may)、この場合、指定された spine item のグローバル値は上書きされる。(局部的な仕様の構文規則の細目は spine itemref 要素の特定の名前と値の組を参照してください。)

> 許可された値

次の値は rendition:layout プロパティの用途で定義されている。

reflowable
指定された spine item はページとして区切られない。Reading System はこの spine item をレンダリングする場合は動的なページネーションを適用してもよい(may)。
pre-paginated
指定された spine item はページとして区切られている。Reading System はこの spine item をレンダリングする時は、厳密に1枚のページを生成しなければならない(must)。(寸法の宣言に関する規則は コンテンツの寸法 を参照してください。)

note

Reading System は一般的に、動的な様式の変化は意図しない結果をもたらす可能性が高いので、そうしたドキュメントの固有のプロパティがもたらす結果として、ページ区切りのドキュメントにユーザースタイルシートやユーザーエージェントスタイルシートの適用を制限または拒否する。Author は、リフローの代わりにページ区切りを使うことを選択した際に、こうした制約があることや、ユーザビリティやアクセシビリティに良くない影響があることを説明すべきである(should)。関連する情報は W3C User Agent Accessibility Guidelines の Guideline 1.4 - Provide text configuration を参照されたい。

> rendition:orientation プロパティ

名前

rendition:orientation

概要

Author が指定した Publication または spine item が、どちらの方向に回転して表示するかを規定する。

landscape | portrait | auto

使用例

Package Document の meta 要素

Package Document の itemref 要素

初期値

meta 内:auto

itemref 内:meta を継承

個数

metadata 内:0以上

itemref 内:0以上

> 使用例

rendition:orientation プロパティが Package Document の meta 要素に指定されている時、意図された回転方向が、指定された Publication(例えば全ての spine item)に包括的に適用されることを示している。

‘auto’ は meta 要素が使用される状況のプロパティの初期値で、この値はプロパティを運ぶ meta 要素が Package Document のインスタンス内に現れない場合はグローバル値であると Reading System によって想定されなければならない(must)。

rendition:orientation プロパティは Package Document の spine itemref 要素へ局部的に指定してもよく(may)、この場合、指定された spine item のグローバル値は上書きされる。(局部的な仕様の構文規則の細目は spine itemref 要素の特定の名前と値の組を参照してください。)

> 許可された値

次の値は rendition:orientation プロパティの用途で定義されている。

landscape
指定された spine item が横長(ランドスケープ)に表示されるのを目的にしている。
portrait
指定された spine item が縦長(ポートレート)に表示されるのを目的にしている。
auto
指定された spine item の向きは制限されない。

複数の回転方向をサポートしている Reading Systems は、指定された値が 'auto' でない限り、ユーザーに指定された回転方向を伝えるべきである(should)。意図を伝える手段は実装固有である。

> rendition:spread プロパティ

名前

rendition:spread

概要

Publication または spine item の、対象とする Reading System の合成された見開きの動作を規定する。

none | landscape | portrait | both | auto

使用例

Package Document の meta 要素

Package Document の itemref 要素

初期値

meta 内:auto

itemref 内:meta を継承

個数

metadata 内:0以上

itemref 内:0以上

> 使用例

rendition:spread プロパティが Package Document の meta 要素に指定されている時、意図している合成された見開きの動作が、指定された Publication(例えば全ての spine item)に包括的に適用されることを示している。

‘auto’ は meta 要素が使用される状況のプロパティの初期値で、この値はプロパティを運ぶ meta 要素が Package Document のインスタンス内に現れない場合はグローバル値であると Reading System によって想定されなければならない(must)。

rendition:spread プロパティは Package Document の spine itemref 要素へ局部的に指定してもよく(may)、この場合、指定された spine item のグローバル値は上書きされる。(局部的な仕様の構文規則の細目は spine itemref 要素の特定の名前と値の組を参照してください。)

> 許可された値

以下の値は、合成された見開きデバイスの画面上で同時に隣り合った二つのページがレンダリングするとして定義され、rendition:spread プロパティの用途で定義されている。

none
Reading System は合成された見開きに、この spine item を取り入れてはならない(must not)。
landscape
Reading System はデバイスが横長(ランドスケープ)の向きの場合にのみ、合成された見開きに、この spine item を取り入れるべきである(should)。
portrait
Reading System はデバイスが縦長(ポートレート)の向きの場合にのみ、合成された見開きに、この spine item を取り入れるべきである(should)。
both
Reading System はデバイスの向きに関わらず合成された見開きに、この spine item を取り入れるべきである(should)。
auto
明確な合成された見開きの動作は定義していない。Reading System は表示領域の利用最適化プロセスの一部として、特定またはすべてのデバイスの回転方向に合成された見開きを使用してもよい(may)。

合成された見開きが XHTML Content Documens と SVG Content Documens のコンテキストの中で使われた時、寸法は見開きの中の1ページのサイズを表現する viewport/viewBox メタデータから得られる。

note

page-progression-direction 属性とコンテンツドキュメントに含まれている局部的な page-progression-direction を使用して、全体の流れの方向性の宣言についての情報は 3.4.12 spine 要素を参照してください。

page-progression-direction 属性と XHTML Content Document 内の writing-modedirection プロパティの先行した規則の今後の仕様に関する議論は Issue 205 を参照してください。

> page-spread-* プロパティ

名前

rendition:page-spread-center と、[Publications30] で定義されている page-spread-leftpage-spread-right

概要

合成された見開きの Content Document での強制的な配置を規定する。

使用例

Package Document の spine itemref 要素

個数

0以上

Reading System が合成された見開きを表示する時、標準の動作は、“次”の配置が page progression direction を指定したページ、もしくはコンテンツドキュメントに含まれる局部的な宣言によって決定され、次に利用できる未実装のビューポートの中の次の Content Document を表示することによって、概念的に二つの隣接したビューポートで構成されるを見開きを配置する。spine itemref 要素の page-spread-* のいずれかのプロパティを与えることにより、著者は指定した Content Document を特定のビューポートに配置することを強制し、自動埋め込みの動作を上書きすることができる。

page-spread-leftpage-spread-right プロパティは [Publications30] で定義されている。本文書は合成された見開きモードが隣接する二つのビューポートの代わりに、単一のビューポートを使用しなければならず(must)、画面中央に位置することを優先させるべきであり(should)、rendition:page-spread-center という追加のプロパティを定義している。

rendition:page-spread-center の存在はビューポートの寸法を変更しないことに注意してください。特にそれは全体の見開きの大きさを持つビューポートを作成する必要があることを示すものではない。重要なのは倍率が通常のページと中央見開きページの間で一致し続けることである。

page-spread-leftpage-spread-rightrendition:page-spread-center プロパティはページ区切りコンテンツとリフローコンテンツの両方に適用され、それらは Reading System が合成された見開きを生成するときのみ適用する。

> EPUB3 Package Document 内での redition プロパティの使用例

> Prefix マッピング

本文書で定義されたメタデータプロパティが EPUB 3 Package Document に含まれている場合、それらは EPUB Publications 3.0 語彙の関連付けで定義された prefix 属性を使用して URI http://www.idpf.org/vocab/rendition/# にマッピングされなければならない(must)。

<package …  prefix="rendition: http://www.idpf.org/vocab/rendition/#"> 
    … 
</package>

実装者は [Publications30] の将来の改訂に配慮し、予約済みの語彙として URI http://www.idpf.org/vocab/rendition/# に表される語彙を定めてもよい(may)。この場合、結果は a) prefix 属性を使用する明確なマッピングの宣言はもはや適用されず、b) 接頭辞 ‘rendition’ はこの語彙ために予約される。[Publications30] の将来の改訂で、Package Document の標準語彙として、ここに定義されたプロパティも統合してもよい(may)。この場合、ここに定義されたプロパティは、接頭辞なしで Package Document に生じるのを許可する。

Package Document は(拡張性の詳細情報のための語彙の関連付けメカニズムを参照して)レイアウトの表現に関連する追加の独自のメタデータプロパティを含めてもよい(may)ことに注意してください。Reading System は、この文書内で定義されたプロパティのセマンティクスにより動作が矛盾するなら、このような表現は無視しなければならない(must)。

> spine itemref 要素の特定の名前と値の組

本文書で定義された要素のコンテキスト、および Package Document の spine itemref 要素の properties 属性で要素の名前と値の組み合わせを指定する時は、以下の構文を使用しなければならない(must)。

要素の名前と値は、区切り線としてハイフン・マイナス文字(U+002D)を使用し、単一の文字列で連結される。区切り文字の前後に空白を許可しないことに注意してください。

例えば、rendition:layout 要素は spine item に与えられた ‘reflowable’ の値を持っていることを表現するために、‘rendition:layout-reflowable’ という文字列を使用する。

<itemref … properties="rendition:layout-reflowable"/> 

> コンテンツの寸法

このセクションは XHTML Content Document と SVG Content Document [ContentDocs30]、ビットマップ画像の寸法のプロパティの表現と解釈のための規則を定義する。

本文書はどのように(XHTML や SVG、初期包含ブロックなどの)コンテンツが Reading System のコンテンツ表示領域内に配置について定義しない。

> XHTML と SVG のためのコンテンツの寸法

rendition:layout 要素に ‘pre-paginated’ 値の組を持つそれぞれの XHTML と SVG の spine item は、下で定義されている(XHTMLの)viewport または(SVGの)viewBox の寸法の表現を含まなければならない(must)。

XHTML Content Document と SVG Content Document の両方のために、CSS の初期包含ブロックICB)で定義された(viewport/viewbox)の寸法の表現は CSS Pixels [CSS] で表される。

> XHTML で ICB の寸法を表現する

XHTML の ICB の寸法は [MetaTags] による構文を使った meta タグの viewport を使用して表現されている。本文書のこの版では、幅と高さの指定のみ Reading System によって認識される必要がある。

用例:

<head>
    …
    <meta name="viewport" content="width=1200, height=600"/>
    …
</head>

Reading System は meta タグの viewport で宣言された ICB 寸法に XHTML を切り抜かなければならず(must)、そして初期包含ブロックの外側に位置するコンテンツは見えるようになっていない。ICB の縦横比が Reading System のコンテンツ表示領域の縦横比と一致していないとき、Reading System はユーザインタフェースに順応するため領域内の ICB を配置してもよい(may)。つまり、レターボックスがコンテンツの片側もしくは両側に表示されるかもしれない(may)。

> SVG で ICB の寸法を表現する

SVG の ICB の寸法は [SVG11] viewBox 属性を使用して表現される。

用例:

<svg xmlns="http://www.w3.org/2000/svg"
    version="1.1" width="100%" height="100%"
    viewBox="0 0 844 1200">
    …
</svg> 

> ビットマップ画像のコンテンツの寸法

ビットマップ画像の寸法は “resolution tags” または変換のいずれかの形式を考慮しないなら、指定したビットマップの本質的な物理寸法(幅と高さの実際の物理的な総画素数)で表現される。

コンテンツの寸法を取得この方法は(XHTML Content Document または SVG Content Document に埋め込まれていない)ビットマップ画像が spine から直接参照されたときのみ適用されることに注意してください。

> 付録 A. 用例

> 用例 1

完全な固定レイアウト、横長(ランドスケープ)では合成された見開きを用いて表現することを意図とし、縦長(ポートレート)では見開きをしない。

Package Document

<meta property="rendition:layout">pre-paginated</meta>
<meta property="rendition:spread">landscape</meta>

XHTML

全てのコンテンツドキュメントに含まれる。

<meta name="viewport" content="width=512, height=600"/>

注記:Reading System に見開きの動作を依存するには、rendition:spread 要素のどちらかを省略するか、または ‘auto’ を設定する。

> 用例 2

完全な固定レイアウト、見開きせず表示することを意図とし、横長(ランドスケープ)固定。

Package Document

<meta property="rendition:layout">pre-paginated</meta>
<meta property="rendition:spread">none</meta>

<meta property="rendition:orientation">landscape</meta>

XHTML

全てのコンテンツドキュメントに含まれる。

<meta name="viewport" content="width=1024, height=600"/>

> 用例 3

タイトルページが1枚の固定レイアウトページであるリフローコンテンツで、固定レイアウトページは、デバイスが合成された見開きを表示した時に、右手の位置に配置されるのを意図している。

Package Document

<meta property="rendition:layout">reflowable</meta>
<meta property="rendition:spread">auto</meta>        
…

<itemref id="titlepage" properties="page-spread-right rendition:layout-pre-paginated"/>

XHTML

コンテンツドキュメントにはタイトルページがあることを示している。

<meta name="viewport" content="width=684, height=1024"/>

この用例は、rendition:layoutrendition:spread プロパティの両方が初期値にセットされ、これらの2つの meta 要素は表示結果にいかなる影響を与えることなく省略できることを意味していることに注意してください。

> 用例 4

(もし使用しているなら)合成された見開きは両ページにまたがる図版によって機能しないようにしなければならない(must)、完全な固定レイアウトのコンテンツ。

Package Document

<meta property="rendition:layout">pre-paginated</meta>
<meta property="rendition:spread">auto</meta>
…
<itemref id="center-plate" properties="rendition:page-spread-center"/>

XHTML

コンテンツドキュメントに両ページにまたがる図版コンテンツが含まれている。

<meta name="viewport" content="width=512, height=600"/>

rendition:spread=none の表現は、rendition:page-spread-center プロパティがすでに合成された見開きを無効する指示をするセマンティクスが指定されていると、center plate 項目を必要としないことに注意してください。

この例では、rendition:spread プロパティが初期値に設定され、表示結果にいかなる影響を与えることなく省略することができることにも注意してください。

> 用例 5

固定レイアウトの2ページの両ページにまたがる図版を含むリフローコンテンツは、デバイスの向きに関わらず、合成された見開きを使用して表現されることを意図している。出版物の未定義の他のリフロー部分は rendition:spread の全体の値が ‘auto’ に初期化されるため、見開いたままになる。

Package Document

<spine page-progression-direction="ltr">
    …
    <itemref id="center-plate-left" properties="rendition:spread-both page-spread-left"/>
    <itemref id="center-plate-right" properties="rendition:spread-both page-spread-right"/>
    …
</spine>

XHTML

2つのコンテンツドキュメントは両ページにまたがる図版コンテンツを表示する。

<meta name="viewport" content="width=512, height=600"/>

> 用例 6

[MediaQueries] を使用して3つの異なる種類のデバイスに使用する3つに独立したスタイルシートを含む完全な固定レイアウトのコンテンツ。

Package Document

<meta property="rendition:layout">pre-paginated</meta>

XHTML

<link rel="stylesheet" href="eink-style.css" media="(max-monochrome: 3)"/>
<link rel="stylesheet" href="skinnytablet-style.css" media="((color) and
    (max-height:600px) and (orientation:landscape), (color) and (max-width:600px)
    and (orientation:portrait))" />
<link rel="stylesheet" href="fattablet-style.css" media="((color) and
    (min-height:601px) and (orientation:landscape), (color) and (min-width:601px)
    and (orientation:portrait)" />

> 用例 7

日本のマンガのページ進行方向は右から左である。各コンテンツドキュメントはビットマップ以外に何も含んでいない、とても単純な HTML で、CSS スタイルシートに関連付けられていない。

Package Document

<meta property="rendition:layout">pre-paginated</meta>
<meta property="rendition:spread">landscape</meta>
…
<spine page-progression-direction="rtl">
    …
</spine> 

HTML コンテンツドキュメントのページ進行方向は 'rtl' ではなく 'ltr' であることに注意してください。これは Reading System が、通常、標準の CSS スタイルシートを使用し、暗黙的にページ進行方向を 'ltr'(原文では rtl だが、ltrと思われる)とするからである。各見開きは、はじめに右ページを使用して、次に左ページによって作成される。

XHTML

全てのコンテンツドキュメントに含まれる。

<meta name="viewport" content="width=512, height=600"/> 

> 用例 8

トップレベルのコンテンツの表示にビットマップ画像を用いる完全固定のレイアウトの出版物は、XHTML フォールバックを使用する。

Package Document

<meta property="rendition:layout">pre-paginated</meta>
…
<manifest>
    <item id="ch1" href="ch1.png" fallback="ch1x" … />
    <item id="ch2" href="ch2.png" fallback="ch2x" … />
    <item id="ch1x" href="ch1.xhtml" … />
    <item id="ch2x" href="ch2.xhtml" … />    
</manifest>
<spine>
    <itemref idref="ch1" />
    <itemref idref="ch2" />
</spine> 

XHTML

全てのフォールバックをする XHTML コンテンツドキュメントに含める。

<meta name="viewport" content="width=1024, height=600"/> 

> 付録 B. 対応表

以下の表は本文書で定義されている語彙を既存の独自の固定レイアウト表現のためのメタデータ語彙の一部にどう対応付けるかを述べている。

Amazon KF8 Children’s Format

Amazon プロパティ IDPF の対応 (接頭辞は省略)

fixed-layout (true | false)

layout (reflowable | pre-paginated)

original-resolution (width, ‘x’, height)

viewport (XHTML meta)

orientation (portrait | landscape)

orientation (portrait | landscape | auto)

book-type (children | comic)

適用されない

RegionMagnification (true | false)

独自。適用されない

Sony Fixed-Layout

Sony プロパティ IDPF の対応 (接頭辞は省略)

fixed-layout (true | false)

layout (reflowable | pre-paginated)

orientation (portrait | landscape | auto)

orientation (portrait | landscape | auto)

page-spread (full | double | auto)

rendition:spread (none | portrait | landscape | both | auto)

overflow-scroll (true | false)

CSS で定義

viewport

viewport (XHTML meta)

page-spread の値は 'portrait' と 'both' は 'double' に対応し、'landscape' は 'auto' に対応、そして 'none' は 'full' に対応しているのに注意してください。

Apple Fixed-Layout

Apple は現在、META-INF 内の XML ファイルに、このメタデータの一部を格納している。

Apple プロパティ IDPF の対応 (接頭辞は省略)

fixed-layout (true | false)

layout (reflowable | pre-paginated)

viewport (XHTML meta)

viewport (XHTML meta)

orientation (landscape-only | portrait-only | none)

orientation (landscape | portrait | auto)

platform name

相当する機能なし

open-to-spread (true | false)

相当する機能なし

> 付録 C. EPUB 3 で CSS の絶対位置指定を使用するときの注意

EPUB 3 Content Document のセクション 3.3.1 ("CSS 2.1")の末尾にあるメモは固定レイアウトと EPUB 3 に関連するいくつかの誤解の原因となっている。本付録は仕様書が更新されるまでそのメモを明確にすることを意図している。

メモには“Reading System が絶対位置指定のレイアウトをページ化するかどうか保証されていないので、絶対位置指定への依存は推奨されない。Reading System はそれらのプロパティの値をサポートしないかもしれない(may)。”とある。

まず、仕様書の CSS のセクションの指定したその箇所は、この文は CSS を利用した固定レイアウトドキュメントのみ適用できることを記すべきである(should)。次に、このメモは position 要素の “absolute” 値が EPUB 3 CSS profile でないことを意味するものではない。position:absolute はベースライン(CSS 2.1)の一部なので、事実上 profile の一部である。(メモ上部の規範的な散文で述べられているように)fixed 値のみ EPUB 3 CSS Profile から除外する。

結局このメモは、絶対位置指定レイアウトの CSS の使用や、これらの値をサポートしないかもしれない (may) 任意の Reading System に配信される予定のコンテンツなどにのみ依存することを妨げるものではない。 具体的には、EPUB 2.x Reading System にはこれらの値が EPUB 2 CSS Profile に含まれていないので、それらの値をサポートしていないだろう。絶対位置指定の CSS の多くの用途では、それらのプロパティの値が無視された場合、体良く機能を落とすだろうし、そのように振る舞うこと(非依存)が推奨される。

参照・参考

[ContentDocs30]EPUB Content Documents 3.0

[CSS]Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification

[MediaQueries]Media Queries

[MetaTags]Supported Meta Tags (informative)

[Publications30]EPUB Publications 3.0

[SVG11]Scalable Vector Graphics (SVG) 1.1 (Second Edition)