無料の電子書籍リーダー・電子書籍管理ソフトのCalibreで縦書きの本を横書きのpdfに変換する方法をメモしておきます。Calibreについては、こちらの窓の杜のページをご覧ください。
https://forest.watch.impress.co.jp/library/software/calibre/
Calibreで読んでいる縦書きのオープンアクセスのEPUBやAZW3型式の本を、横書きのpdfにする方法をいろいろ試してみました。CSSを編集する方法もあるのですが、Calibreのメニューから「本を変換」を選び、マイクロソフトワードのファイル形式docxに変換するとうまくいったので、やり方をメモしておきます。
本をCalibreで開いておき、Calibreのメニュー上部にある「本を変換」を選び、「個別に変換」を選んで開くメニューで、右上にある「出力型式」のプルダウンメニューからDOCXを選びます。左のメニューから、「ページ設定」を選び、「出力プロファイル」を私の場合はiPadにして、「入力プロファイル」はデフォルトプロファイルかKindleなど自分に合ったものを選びます。OKボタンを押すとすぐに変換が始まってしばらくするとMS Word型式に変換されたファイルが出来上がります。ファイルをひらいてみると縦書きだった本が、横書きに変換されているのがわかると思います。
あとは、MS Wordで本を開いて、ちゃんと全部横書きになっているか、図の位置などがちゃんと変換されているかなどを確認します。ページ設定とかルビの間隔とか余白などを自分好みに変更して、MS Wordの印刷メニューで出力ページなどを設定してpdf印刷すればOKです。縦書きの本が横書きになったワードのファイルから、横書きのpdfが完成します。EPUBやAZW3形式の本の縦書きはWeb技術(CSSの writing-mode: vertical-rl;)で制御されています。Calibreの変換エンジンがこれをDOCXの内部構造(Word特有のXML)に書き出す際、この縦書き指定をうまく翻訳できずに欠落させる(デフォルトの横書きとして処理してしまう)仕様になっています(多分外国のソフトなので縦書きのことはあまり考慮していないのだと思います)。今回の方法は、そのフォーマット間の変換不具合を利用しているわけです。(うまく本が変換できていない場合は、本を変換で開いたメニューの「概観」の下にある、「ヒューリスティック処理」を選び、「ヒューリスティック処理を行う」にチェックをいれてみて再度変換してみてください。)
今回紹介した、 CalibreでDOCX化 → Word等で確認 → PDF印刷 という方法は、かなり実用的だと思います。縦書きの本がうまくpdfに変換できない場合は試してみてください。