发布于: 2024-3-8最后更新: 2024-9-26字数 00 分钟

type
status
date
slug
summary
tags
category
icon
password

编辑器

1.关于日版/台版EPUB从右到左竖排版设置

notion image
如图,日文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这一步就能正常显示了,但也请理解每个步骤具体干了什么,合理调整排版结构。
notion image
有的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
 

获取高清图

正则表达式

 
 
  1. 表格排版
 

站点建设

站点建设

轻小说 | 有声书 | 漫画 | 动画


ACGN

🧭ACGN

分享ACGN资源,附一些日文资源