EPUB3電子出版におけるインターオペラビリティを考える

先日、CAS-UBのあるユーザーである出版社(版元)から、「これまで長いこと、CAS-UBで制作したEPUB3をBookLive!に配信してきたのですが、今度、これができなくなったのでCAS-UBで対応して欲しい。」という連絡をいただきました。

事情を確認しましたところ、「BookLive!に出すには、横書きではpackage.opfのspineにpage-progression-direction=”ltr”の設定が必要であり、設定しないとBookLive!側では入稿エラーになってしまう。今までは、取次がその版元のEPUB3データを修正してからBookLive!に配信していたが、大変なので版元の方で設定して欲しい」ということになったとのことです。

この根拠は、電書協ガイドver1.1.3のP.8に以下のような記載がある[1]こと、

パッケージ文書(Package Document / OPF ファイル)
ページ進行方向の遵守:コンテンツ文書やスタイルシートに記された「-epub-writing-mode」の指定にかかわらず、書籍データの「ページ進行方向」は、パッケージ文書の spine 要素に記された「page-progression-direction」の方向に従う。

さらに、取次から次のような連絡があったとのことです。

「電書協ガイドver1.1.3のP.29にある[sample code]にも「page-progression-direction」の記述があり、同梱されているサンプルファイル内のopfファイルにも「page-progression-direction」の記述がございますので、電書協ガイドver1.1.3に「page-progression-directionは必須」とは明記されておりませんが、電書協ガイドVer1.1.3では「page-progression-direction」の記述を入れることを推奨していると思われます。

「page-progression-direction」を記述していないと、ビューア側で独自に綴じ方向を判断することになりますので、「右綴じ」になるか「左綴じ」になるかはビューア側に任せる、ということになってしまいます。

そうなると、ビューアによっては御社の意図とは反対の綴じ方向になってしまうこともありますので、「綴じ方向が逆になっている」というユーザークレームに発展する恐れもございます。

なお、上記の文章は、電書協ガイドver1.1.3の引用だけでは趣旨が理解しにくいため、一部誤りを訂正のうえ無断転載させていただきました。取次さんも大変ですね。

ちなみにEPUB3.0.1の仕様では、この部分は次のようになっています[2]

page-progression-direction [optional]
The global direction in which the content flows.

Allowed values are ltr (left-to-right), rtl (right-to-left) and default.

When the default value is specified, the Author is expressing no preference and the Reading System may chose the rendering direction. This value must be assumed when the attribute is not specified.

これを見ますと、EPUB3仕様ではpage-progression-directionはオプション(省略可)となっており、しかも、省略されたらデフォルトと解釈しなければならないということです。従って、BookLive!がこうしたEPUB3を入稿エラーにするのは、EPUB3仕様違反となります。

また、電書協ガイドでも、page-progression-directionの該当箇所は、リーディングシステムに期待する動作の項ですから、EPUB3制作者への要求とはされていません。こうしたことから、BookLive!や取次の理解が間違っていると考えます。『「綴じ方向が逆になっている」というユーザークレームに発展する恐れ』って一体誰の発想なんでしょう? ブラックなジョークとしか思えませんが、もしかすると、BookLive!ってアラビア語とかヘブライ語のEPUB3も大量に配信されている世界? それともBookLive!はデフォルトを右開きにするかもしれない異次元空間?

さて、CAS-UBとしてはどうしたら良いでしょうか? 

考えてみますと、この件は「インターオペラビリティ」問題そのものです。

その典型的な例は、WebページとWebブラウザの関係、あるいは、PDF制作者とPDFリーダーの関係に見られます。Webの場合はWebページの文法が少々間違っていてもWebブラウザがなんとか表示できるようにする、という方法で普及してきた、といえます。PDFの場合も同じように少々間違ったPDFであってもAdobeリーダーができるだけ正しく表示しています。それはそれで困ることもありますが。

こうした例を見ますと、少々間違っていても読み手が対応するというのが、概ね利便性が高くなりますし、一般に広く成功を収める秘けつかもしれません。しかし、これは言うのは易しいのですが、リーダーを作る側に相当な体力が要求されます。ビジネスの成功は技術ではなく体力と気力によってもたらされるのが真実かもしれません。BookLive!のような正しいものを拒絶するというのは商売がへたなのでしょう。

(今回の場合、CAS-UBが作るEPUB3は仕様上は正しいですので、上の論点とは若干ズレがあります。念のため。)あまり仕様論・原則論にこだわらない解決策を考えようかと思案しております。

2018/6/22追記
2018年6月21日の定期保守更新にて、下記の仕様変更を行いました。
EPUB生成で、横書の出版物の.opf ファイルの に page-progression-direction=”ltr” を常に入れるように仕様を変更します。EPUBの仕様では、横書のとき page-progression-direction=”ltr” は省略可能ですが、省略を許していない販社があることへの対応です。

この問題は、CAS-UBで当面アラビア語やヘブライ語のような右から左に書く言語のEPUBを作れなくなるという制限が生まれることです。しかし、実際に問題になることはないでしょう。
定期保守更新の全体

[1] 『電書協 EPUB 3 制作ガイド ver.1.1.3』(2014/11/01(2015/01/01 更新、日本電子書籍出版社協会)「リーディングシステムに期待する動作」の一部の記述内容
[2] “EPUB Publications 3.0.1 Recommended Specification 26 June 2014”(International Digital Publishing Forum)3.4.12 The spine Element