type
status
date
slug
summary
tags
category
icon
password
编辑器
1.关于日版/台版EPUB从右到左竖排版设置
如图,日文epub竖向排版出错(Calibre-web)
尤其是很多旧的轻小说,在大部分epub软件中无法正常竖向排版,需要手动修改一下样式。
1.1 实现从右往左翻页
content.opf
首先是修改语言
ja
/ zh-tw
,在某些软件会有针对性地进行显示优化,比如Kindle会自动将横排标点转换为竖排标点,并且会自动居中,较为美观。从
horizontal-lr
改成 vertical-rl
,实现电子书从右向左翻页的效果有时候还有这个要改,统一用从右到左
rtl
1.2 实现文字从左到右排列
stylesheet.css
- 其中
margin
控制页面的左、上、右、下边距,text-align
控制强制文本上下两端对齐,-webkit-writing-mode
控制文本竖排显示。另外,如果打开 CSS 文件后,发现已经有了body{ ... }
或html{ ... }
这样的样式声明,也可以只把上面代码body{ ... }
中的属性插入已有的声明之中。
- 需要检查所有 CSS 文件,看是否有与
-webkit-writing-mode: vertical-rl;
相冲突的声明,如-webkit-writing-mode: horizontal-tb;
,如果有的话可以将其删除,或将其属性值horizontal-tb
修改为vertical-rl
。否则,可能会导致电子书无法正常打开。
- 很多时候这步可以省略
1.3 去掉中间的竖线 ※
中间有竖线说明了整个文本html的文字都出现在同一页(因为只有一般横排情况会自动在单个html内分页,而现在设置的竖排则不然,默认一次性全渲染出来,不作分页处理,这会导致点击下一页的时候就直接跳到下一个html去,渲到屏幕外的文字都不管了)。这时候需要给每个文本html添加一个
vrtl
的样式。所有文本.html
stylesheet.css (※别忘了在css也要加上)
上述流程其实会有重复的代码,在很多时候只处理1.3这一步就能正常显示了,但也请理解每个步骤具体干了什么,合理调整排版结构。
有的epub已经分好了横纵排版两个css,只需要把
class="vrtl”
加上就行了。也要注意css有没有正确导入。2.排版样式
Sigil编辑,常用修改操作
目的 | 正则 | 替换 |
句号 | \. | 。 |
逗号 | , | |
冒号 | : | : |
引号 | ㅤ | ㅤ |
半角 全角空格 | [ \t]+ | ㅤ |
前空格 | ^[ \t]+ | ㅤ |
后空格 | [ \t]+$ | ㅤ |
懒搜索括号内容
引用括号中的内容
替换「」成“” | (?U)「(.*)」 | “\1” |
ㅤ | ㅤ | ㅤ |
删除多余字 | 第一卷|第一卷 | ㅤ |
统一半角空格 | [ \t ]+ | |
删除段前空格 | ^ + | ㅤ |
删除段后空格 | +$ | ㅤ |
删除空白行 | ^$\n | <p><br></p>\n |
匹配括号内容 | \([^)]*\) | ㅤ |
ㅤ | ㅤ | ㅤ |
设置二级标题 | ^(第.{1,2}卷)\s+(第.{1,3}章.*) | <hr class=”sigil_split_marker” />\r<h2>\2</h2>\r<hr/> |
ㅤ | 第一卷 第一章 神明搞错了 | <hr class=”sigil_split_marker” /><h2>第一章 神明搞错了</h2><hr/> |
设置一级标题 | ^(第.{1,2}部)\s+(内容简介) | <hr class=”sigil_split_marker” /><h1>\1</h1>\r<h2>\2</h2>\r<hr/> |
ㅤ | 第一部 内容简介 | ㅤ |
文本加<p> | ^[^<].*[^>]$ | <p>\0</p> |
ㅤ | ^.+$ | <p class="calibre">\0</p> |
ㅤ | ㅤ | ㅤ |
对齐前面 | (?<=<p>)([^「『 ]) | \1 |
ㅤ | <p>「我要结婚了。」</p>
<p>总觉得都不太对。</p> | <p>「我要结婚了。」</p>
<p> 总觉得都不太对。</p> |
ㅤ | ㅤ | ㅤ |
顿号 | 、 | 、\n |
不是末尾的句号 | 。(?![\r\n]) | 。\n |
前面有字的「 | ([^ \n])「 | \1\n「 |
后面有字的」 | 」([^ \n]) | 」\n\1 |
ㅤ | ㅤ | ㅤ |
去掉振假名 | <ruby>(.?)<rp>\(</rp><rt>[^\)]+</rt><rp>\)</rp>.?</ruby> | \1 |
振假名青空文库模式 | <ruby>(.?)<rp>\(</rp><rt>(.?)</rt><rp>\)</rp></ruby> | |\1《\2》 |
目的 | 正则 | 替换 |
文本加<p> | ^.+$ | <p class="calibre">\0</p> |
ㅤ | (.)《([^》]*?)》 | <ruby>\1<rt>\2</rt></ruby> |
ㅤ | |[^《]《[^》]》 | <ruby>\1<rt>\2</rt></ruby> |
空行处理 | ^$ | <p class="calibre"><br class="calibre1"/></p> |
ㅤ | ^\s*$ | ㅤ |
ㅤ | ^$\n | <p class="calibre"><br class="calibre1"/></p>\n |
获取高清图
正则表达式
- 表格排版
- 作者:RAINDROP213
- 链接:https://raindrop213.info/article/epub-1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。