2021年7月5日 星期一

epub電子書轉直排加段落縮排

EPUB中文直書需要做幾項設定,一是改主要的OPF檔(通常是content.opf、metadata.opf或volume.opf),二是需要修改主要的CSS檔(通常是內容最多的那個)。


首先在主要的OPF檔找到 <spine> 標籤,加入屬性 page-progression-direction 並設定為 "rtl" 右至左(右翻)。若有特殊需要當然也可以指定 "ltr" 左至右(左翻),就會變成反向翻頁。
例如:<spine toc="ncx" page-progression-direction="rtl">

若OPF檔內有 language 標籤,個人習慣把它改成中文比較安心。
例如:<dc:language>zh-TW</dc:language>


再來在主要的CSS檔,加入 writing-mode: vertical-rl 的設定,一般放在<html>或<body>都可以。vertical 設定直排, rl 則是右到左。為了增加相容性,我們除了基本 writing-mode 屬性,也放入兩個 -webkit- 與 -epub- 開頭的 writing-mode 屬性,確保瀏覽器或EPUB閱讀器有支援。
具體寫成這樣:
html {
   writing-mode: vertical-rl;
   -webkit-writing-mode: vertical-rl;
   -epub-writing-mode: vertical-rl;
}

然後是段落首字縮排,有的電子書使用空格,私以為不妥。最好使用 text-indent 語法,並直接用 em 設定字級來當作縮排距離,以避免縮排參差不齊。
一般中文段落縮排二個字這麼設定:
p {
   text-indent: 2em;
}


至此這本epub電子書應該就會乖乖直排兼段落留空格。
以上。

沒有留言:

張貼留言