概要
Sphinxで電子書籍を作成する方法を調べている際に、「縦書きの電子書籍を作成できないか?」と思いました。
調べてみたところ、方法が用意されていました。
縦書きのための設定
conf.py
に以下を追記します。
epub_writing_mode = 'vertical'
上記の設定だけで文字が縦方法になり、更にページ送りが右に変更されます。
EPUBの出力結果
Sphinxで縦書きのEPUBをビルドして、Kindle Previewerで確認しました。
漢字、ひらがな、カタカナ: 問題なさそう
実際に設定してEPUBの出力結果を見てみたところ、漢字、ひらがな、カタカナは問題なさそうでした。
数字: 注意が必要
数字は注意が必要です。以下のパターンで試してみました。
- 半角アラビア数字
- 半角アラビア数字、半角のカンマ区切りあり
- 全角アラビア数字
- 全角アラビア数字、全角のカンマ区切りあり
- 漢数字
縦書きにおける数字については、一般には漢数字を用いるのが良いと考えます。出版社が出版している書籍を見ると、漢数字を用いているケースが大半です。ただ、原則は漢数字を用いつつも、西暦の年号(4桁)や1・2桁の数字については、アラビア数字を用いている書籍もありました。この辺は出版元で定めた規則が存在していて、規則に合わせて原稿を組んでいるものと思われます。
よって、Sphinxでも原則は漢数字を使い、アラビア数字を縦書きにしたい場合は全角アラビア数字を使うことで対応する、という方法は考えられると思います。
ただし、漢数字を使った時点でその原稿は実質的には縦書き専用の原稿となってしまいます。例えば、ビルドを替えてHTMLに変更した時も、漢数字で記述した部分はそのまま漢数字で出力されます。ここが両立できるとありがたいケースはあるかも知れませんが、そこは割り切るべきかも知れません。
英字: 注意が必要
英字は半角ですと横向きのまま、全角では縦向きになります。
英単語や英文を縦書きの文章内に混在させたい場合は、半角で記述して横向きのままにした方が良いと思います。
なお、「ジョン・L・スミス」のように、間に1文字の英字を含めるような場合は、全角で書いて全体が縦書きになるようにしても良いと思います。
縦書き用に半角・全角の使い分けを行うことで、その原稿が実質的には縦書き専用の原稿になってしまう点は、数字についての注意点と同じです。