リフロー型EPUB内での印刷版ページ番号表示について
2024/06/06鷹野凌さんのキーパーソンメッセージも出ていましたし、以前からこれが必要だと言ってきた経緯もあるのでちょっと補足説明などしておきます。
そもそもEPUB内の「ページ番号」とは
まず、そもそも「リフロー型電子書籍」は本来、固定されたページ番号を持ちません。「ページ」は各デバイスでEPUBを表示した際にEPUB内のXHTMLファイルの内容が分割されて動的に生成されます。これは鷹野凌さんも説明されている通り。画面の小さなデバイスで表示すればページ数は増えますし、画面の大きなデバイスで表示すればページ数は減るでしょう。電子書籍アプリでリフロー型の電子書籍を読むときに画面下にページ番号(ノンブル)が表示されているかも知れませんが、これは通常「そのデバイスのサイズ、文字のサイズに対応して生成されたページ番号(ノンブル)」であって、それを根拠としてその本の特定の箇所を指し示すことはできません。ちょっと専門性の高い本を読めば、割と当たり前に既存の書籍の特定ページへの参照は出てきますが、「参照されている本を電子版で所有していた場合に、参照先が不明になってしまっている」のが現状なわけです。このため、「リフロー版EPUBにも電子化元の紙の本のページ番号を入れましょう」という話になっています。
「他のEPUB内の特定の場所を指し示す電子的な技術」はまだ発展途上
EPUBは電子データなのだから既存の本のページ数にはこだわらず、EPUB内の特定位置を指し示す技術(epub-cfiなど)を使うべきだという意見もあるようですし、それはそれで意義があることも十分分かるのですが、そちらにも簡単には解決できない問題があります。
現在商業流通しているEPUBが個々のファイルを指し示す個別のIDで一元管理されている状況ではないこと、がそれです。もちろん各ストアごとに商品のIDは振られているでしょうが、「ストアAの商品X」と「ストアBの商品X」が同じタイトルであることの紐付けはなされていません。紐付けるためには双方のストアのデータベースを突き合わせて紐付ける作業が必要になってしまっているわけです。
つまり、「特定のEPUBの特定の箇所」を指し示したい場合に、「特定のEPUB」の方で参照先不明になります。これを解消するには、たとえば電話番号のように全世界的な番号管理の仕組みが必要になるはずですが、これがまだどこにもありません。これは国単位での調整も必要そうな大きな話なので、解決できるとしてもかなりの時間がかかるでしょう。
また、これが解決できたとしても、紙の本から電子書籍の特定の箇所を指し示すことはできないため、紙の本と電子書籍との間で断絶が起きてしまいます。これはもちろん良くありません。「リンクを機能させたければ電子版をあらためて買いなさい」というような話になってしまいますし、それくらいなら読者が自分でページ数を見て該当ページを開く手間があるとはいえ、ページ数そのものを情報として入れた方が現実的と言えそうです。
全てのEPUBが対象というわけではない
さて、では全てのリフロー版EPUBに紙の本のページ番号を入れる必要があるかというと、それも当然違うかと思います。小説のようなものには普通は必要ないでしょうし、紙の本から「電子化」されていない本にも元々ないものは入れようがありません。これは、「他の本の特定の箇所を参照したり、特定の箇所を参照されたりする可能性がある、紙の本から「電子化」された本」のためのものです。具体的には新書や、学術文庫などはこれに該当するでしょう(ハードな専門書は現在PDFベースで仕組みが作られているため事情が異なるかもしれません)。ストア側のアプリの対応も、そういった類の本の販売を重視しているストアは早く対応して欲しい、ということになるかと思います。
そういった事情なので、これを要件として記述するのは「紙の本のデータからの電子化の仕様書」として作られた「電書協EPUB3制作ガイド」の改訂で、となるのは自然かなと思います。現在、電書協EPUB3制作ガイドを日本語EPUB表示の要件として各ストアがアプリを作っている状況なので、電書協EPUB3制作ガイドの改訂は紙の本のデータからの電子化に留まらない影響が出そうではあるのですが、それは本来何を求められているのかを考えた上で、個々の対応を柔軟に行っていくしかないかなと思います。
なお、印刷版のページ番号をリフローのEPUB内に入れる技術的な方法はこちらを参照してください。8年前のエントリですが特に変わってはいないはずです。
(2024.6.10)