]>
この文書は「EPUB 3 Fixed-Layout Documents」を日本語訳したものです。最新の文書は http://idpf.org/epub/fxl/ です。原文もしくは最新の情報を参照したい場合は、EPUB 3 Fixed-Layout Documents を参照ください。
この日本語訳は参考です。公式な文書ではありません。翻訳・解釈の正確性を保証しておりません。
本文中にある“合成された見開き”とは、隣接する二枚のページが見開きのページとして仮想的に一枚のページとなる状態を示す synthetic spread の日本語訳です。“両ページにまたがる図版”とは、“合成された見開き”の中央に位置するアイテムを示す center plate の日本語訳です。
なお、本文中の EPUB Publications 3.0 - 1.2. 用語 に定義されている用語は、なるべく原文のままとした。EPUB Publications 3.0 の日本語訳も参考ください。
また、原文で斜体の箇所は日本語は括弧で囲み、英数字はそのまま斜体としました。
情報文書
Copyright © 2012 International Digital Publishing Forum™
無断複写・転載を禁止する。本作品は合衆国法典第17編の下に保護されている。変更を伴うこの著作物の複製と頒布は、International Digital Publishing Forum (IDPF) の書面による許可を得ない限り禁止されている。
EPUBは International Digital Publishing Forum の登録商標である。
ドキュメントのステータス
これは 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 コンテンツおよびビットマップ画像の意図するレンダリングの寸法を表現するメカニズムもまた定義する。
EPUB 3 は EPUB 3 ドキュメント内の固定レイアウトのコンテンツを表現する複数のメカニズムを提供する。固定レイアウトコンテンツが必要な場合、著者が選択するメカニズムは、望む精度、ファイルサイズ、アクセシビリティなどを含む複数の要因に依存するだろう。本文書は著者が選択するメカニズムを指示することを意図するものではない。
名前 |
|
---|---|
概要 | 指定した Publication または spine item がリフローかページ区切りなのかを規定する。 |
値 |
|
使用例 | Package Document の Package Document の |
初期値 |
|
個数 |
|
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
プロパティの用途で定義されている。
Reading System は一般的に、動的な様式の変化は意図しない結果をもたらす可能性が高いので、そうしたドキュメントの固有のプロパティがもたらす結果として、ページ区切りのドキュメントにユーザースタイルシートやユーザーエージェントスタイルシートの適用を制限または拒否する。Author は、リフローの代わりにページ区切りを使うことを選択した際に、こうした制約があることや、ユーザビリティやアクセシビリティに良くない影響があることを説明すべきである(should)。関連する情報は W3C User Agent Accessibility Guidelines の Guideline 1.4 - Provide text configuration を参照されたい。
名前 |
|
---|---|
概要 | Author が指定した Publication または spine item が、どちらの方向に回転して表示するかを規定する。 |
値 |
|
使用例 | Package Document の Package Document の |
初期値 |
|
個数 |
|
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
プロパティの用途で定義されている。
複数の回転方向をサポートしている Reading Systems は、指定された値が 'auto' でない限り、ユーザーに指定された回転方向を伝えるべきである(should)。意図を伝える手段は実装固有である。
名前 |
|
---|---|
概要 | Publication または spine item の、対象とする Reading System の合成された見開きの動作を規定する。 |
値 |
|
使用例 | Package Document の Package Document の |
初期値 |
|
個数 |
|
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
プロパティの用途で定義されている。
合成された見開きが XHTML Content Documens と SVG Content Documens のコンテキストの中で使われた時、寸法は見開きの中の1ページのサイズを表現する viewport/viewBox メタデータから得られる。
page-progression-direction
属性とコンテンツドキュメントに含まれている局部的な page-progression-direction を使用して、全体の流れの方向性の宣言についての情報は 3.4.12 spine 要素を参照してください。
page-progression-direction
属性と XHTML Content Document 内の writing-mode
と direction
プロパティの先行した規則の今後の仕様に関する議論は Issue 205 を参照してください。
名前 |
|
---|---|
概要 | 合成された見開きの Content Document での強制的な配置を規定する。 |
使用例 | Package Document の spine |
個数 | 0以上 |
Reading System が合成された見開きを表示する時、標準の動作は、“次”の配置が page progression direction を指定したページ、もしくはコンテンツドキュメントに含まれる局部的な宣言によって決定され、次に利用できる未実装のビューポートの中の次の Content Document を表示することによって、概念的に二つの隣接したビューポートで構成されるを見開きを配置する。spine itemref 要素の page-spread-* のいずれかのプロパティを与えることにより、著者は指定した Content Document を特定のビューポートに配置することを強制し、自動埋め込みの動作を上書きすることができる。
page-spread-left
と page-spread-right
プロパティは [Publications30] で定義されている。本文書は合成された見開きモードが隣接する二つのビューポートの代わりに、単一のビューポートを使用しなければならず(must)、画面中央に位置することを優先させるべきであり(should)、rendition:page-spread-center
という追加のプロパティを定義している。
rendition:page-spread-center
の存在はビューポートの寸法を変更しないことに注意してください。特にそれは全体の見開きの大きさを持つビューポートを作成する必要があることを示すものではない。重要なのは倍率が通常のページと中央見開きページの間で一致し続けることである。
page-spread-left
と page-spread-right
、rendition:page-spread-center
プロパティはページ区切りコンテンツとリフローコンテンツの両方に適用され、それらは Reading System が合成された見開きを生成するときのみ適用する。
本文書で定義されたメタデータプロパティが 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)。
本文書で定義された要素のコンテキスト、および 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 のコンテンツ表示領域内に配置について定義しない。
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 の寸法は [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 の寸法は [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 から直接参照されたときのみ適用されることに注意してください。
完全な固定レイアウト、横長(ランドスケープ)では合成された見開きを用いて表現することを意図とし、縦長(ポートレート)では見開きをしない。
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’ を設定する。
完全な固定レイアウト、見開きせず表示することを意図とし、横長(ランドスケープ)固定。
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"/>
タイトルページが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:layout
と rendition:spread
プロパティの両方が初期値にセットされ、これらの2つの meta 要素は表示結果にいかなる影響を与えることなく省略できることを意味していることに注意してください。
(もし使用しているなら)合成された見開きは両ページにまたがる図版によって機能しないようにしなければならない(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
プロパティが初期値に設定され、表示結果にいかなる影響を与えることなく省略することができることにも注意してください。
固定レイアウトの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"/>
[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)" />
日本のマンガのページ進行方向は右から左である。各コンテンツドキュメントはビットマップ以外に何も含んでいない、とても単純な 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"/>
トップレベルのコンテンツの表示にビットマップ画像を用いる完全固定のレイアウトの出版物は、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"/>
以下の表は本文書で定義されている語彙を既存の独自の固定レイアウト表現のためのメタデータ語彙の一部にどう対応付けるかを述べている。
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 プロパティ | 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 は現在、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) |
相当する機能なし |
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