先に知っておきたいこと
EPUBは「画面に合わせて組み直す」形式
W3Cの解説によると、EPUBのリフロー型は、リーダーが文字の行分けやページ分けをその場で行い、画面の大きさや、読み手が選んだ文字の大きさに合わせます。つまり、紙の本のように「全員が同じ見た目で読む」ことを前提にしていません。
差が出るのは、故障ではない
読み手が文字の大きさや行の間隔を変えれば、同じEPUBでも見え方が変わります。リーダーによって、組み方や初期の見た目が違うこともあります。差を完全になくすことは目標にできません。目標は、どの環境でも読めることです。
表示差が出る4つの理由
理由1:読み手の設定が優先されることがある
仕様(EPUB Reading Systems 3.3)は、リーダーが制作者のスタイルシートを上書きすべきではないとしつつ、読み手の操作に応じて、スタイルシートの一部を上書きすることがあると書いています。文字の大きさ、行間、余白などは、読み手の設定で変わる前提で作ります。
理由2:対応が必須ではない機能がある
仕様は、リーダーがスクリプト(JavaScript)に対応することを「望ましい」としていて、必須とはしていません。スクリプトに対応しないリーダーは、代替の内容を処理することになっています。そのため、スクリプトがないと意味が通じない作りは、動かない環境で読めなくなります。
理由3:リーダーごとに、実装が異なる
仕様は、リーダーの動作の枠を決めたものです。どのスタイルをどう解釈するかや、初期の見た目、フォントの置き換えは、アプリごとに違います。この記事の確認時点で、リーダー別の対応を比べた公式の一覧は確認できていません。個別のリーダーの対応は、それぞれの公式の案内で確認してください。
理由4:縦書き・ルビはCSSで指定する機能
EPUB 3は、CSSで縦書きを指定でき、ルビの注釈も扱えると、W3Cの解説に書かれています。ただし、仕様で定められていることと、各リーダーが同じように見せることは別です。この記事の確認時点で、リーダーごとの縦書き・ルビの再現を比べた公式の情報は確認できていません。実際に開いて確かめてください。
制作側でできる4つの対策
対策1:素直な構造にする
見出しは見出しのタグで、段落は段落で作ります。位置を空行やスペースで合わせると、組み直されたときに崩れやすくなります。
対策2:CSSは最小限にする
読み手の設定で上書きされる前提で、文字の大きさを絶対値で固定するような指定は控え、基本的なスタイルにとどめます。複雑な指定は、リーダーによって解釈が変わる可能性を増やします。
対策3:特定の機能に頼らない
スクリプトや、特定のリーダーだけにある機能がなくても、内容が読める作りにします。
対策4:複数の環境で確かめる
1つの環境で良く見えても、他では違うかもしれません。次の節のように、確かめる環境を決めておきます。
確かめる環境の選び方
- Kindle Previewer: KDPで出すなら、確認することが勧められています。タブレット・スマートフォン・Kindle端末での見え方を、縦横の向きや文字サイズを変えて確認できます
- KDPのオンラインプレビューア: アップロード後に、各端末での見え方を確認できます
- 普段お使いのEPUBリーダー: 読み手が使うであろうアプリで、実際に開きます
- 文字サイズを変える: どの環境でも、最小と最大に近い大きさで、崩れや欠けを見ます
結論:差は前提として、読める作りにする
| 理由 | 起きること | 制作側の対策 |
|---|---|---|
| 読み手の設定 | 文字の大きさ・行間が変わる | 絶対値の固定を避ける |
| 対応が必須でない機能 | 動かない・出ない環境がある | 頼らない作りにする |
| リーダーごとの実装 | 組み方・初期の見た目が違う | 複数の環境で確認する |
| 縦書き・ルビ | 位置や向きに差が出る場合がある | 実際に開いて確認する |
よくある質問
一番崩れにくいリーダーはどれですか?
この記事の確認時点で、リーダー別の優劣を示す公式の情報は確認できていません。優劣を決めるより、読み手が使う環境で読めることを確かめるほうが役立ちます。
自分の環境では問題ないのに、読者から崩れていると言われました。
読み手の文字サイズ、端末、リーダーが違うと、見え方も変わります。報告された環境(アプリ、端末、文字サイズ)を聞き、同じ条件で確認できるか試してください。
版を分けたほうがよいですか?
差が大きい場合は、環境ごとに調整した版を作る選択肢もありますが、管理の手間が増えます。まずは、素直な構造と最小限のCSSで、差が出ても読める作りにすることを優先してください。