この連載は、『PythonでMarkdownからEPUBをつくろう』を一部抜粋して編集したものです。
本編には、全てのソースコードや、生成する原稿のサンプルが付属しています。ぜひ、こちらもご購入ください。
姉妹版の『PythonとPygameで作る レトロ風RPG 全コード』もあります。
≫ 目次に戻るこの本は横書きですが、縦書きの本の作り方も説明しておきます。やるべきことは2つです。
OPFファイルの「ページめくり方向」の設定は、item/content.opf
の<spine>
のpage-progression-direction
属性で設定します。
<spine page-progression-direction="ltr">
<spine page-progression-direction="rtl">
この「ページめくり方向」の設定は、このあと作る設定ファイルconfig.yaml
でpageProgressionDirection
の値を切り替えることでおこないます。
# ページ送り方向
pageProgressionDirection:
# rtl
ltr
# ページ送り方向
pageProgressionDirection:
rtl
# ltr
切り替え後のrtl
の状態にすると、Right To Left(右から左)にページが進行します。
CSSファイルでhtml
に縦書きの指定をおこないます。また、リンクの下線の向きも変えておきます。
1/* 縦書き用設定 基本 */
2html {
3 -webkit-writing-mode: vertical-rl;
4 -webkit-text-orientation: mixed;
5 -epub-writing-mode: vertical-rl;
6 -epub-text-orientation: mixed;
7 writing-mode: vertical-rl;
8 text-orientation: mixed;
9}
10a {
11 text-decoration: overline;
12}
また次のような設定を用意しておき、必要に応じて本文中にタグを加えるとよいでしょう。
こちらは、半角英数字を縦向きに表示する設定です。
14/* 縦書き用設定 文字組 半角縦書き
15 例:<span class="vertical-writing">ABC</span>。 */
16.vertical-writing {
17 -webkit-text-orientation: upright;
18 -epub-text-orientation: upright;
19 text-orientation: upright;
20}
こちらは、年月日などの数字「12」「25」を横に並べて表示する設定です。
22/* 縦書き用設定 文字組 縦中横
23 例:<span class="text-combine">12</span>月<span class="text-combine">31</span>日。 */
24.text-combine {
25 text-combine-upright: all;
26}
この連載は、『PythonでMarkdownからEPUBをつくろう』を一部抜粋して編集したものです。
本編には、全てのソースコードや、生成する原稿のサンプルが付属しています。ぜひ、こちらもご購入ください。
姉妹版の『PythonとPygameで作る レトロ風RPG 全コード』もあります。