设为首页收藏本站繁体中文

轻之国度

 找回密码
 注册(右键在新窗口打开)

QQ登录

只需一步,快速开始

查看: 3811|回复: 40
收起左侧

不起眼的EPUB轻小说平台兼容法 2019

[复制链接]
发表于 2019-3-25 17:38 | 显示全部楼层 |阅读模式
本帖最后由 Aeroblast 于 2019-4-2 12:40 编辑

先发我没人看的lofter然后复制过来的,大概整理了下格式应该没什么问题
虽然现在很流行EPUB版轻小说了,但是一些细节还是比较让强迫症难受的。LK(主要是工作组)貌似都不管平台兼容性,而tsdm流行的模板(kid大佬和那边的木子组)虽然在意,但是兼容性解决方案有些旧了。
之前看有人写兼容各个平台的弹出注释,实践了一下发现也有些问题(略有参考,很感谢作者)。也为之后填坑考虑,做一个比较全面的考察,做一点实践,权当抛砖引玉。

阅读器的选择:
对于轻小说epub,我主要考察阅读器的这几个点:
  段首缩进
  注音
  弹出式注释
  SVG
  竖排
随便来个测试图
制作epub之前,首先要选择一个支持这些特性的阅读器。
比较主观。其他因素,字体一般靠内置我觉得够了。目录什么的不是说不重要,是太基本了(喂

那么首先是各个阅读器的测试。如果有因为我不会用搞错什么的请帮忙指出。不够全我也没办法,请各位为自己支持的平台宣传吧(喂


Apple Books (原来叫iBooks)
作为iOS的官方阅读器,功能很全,而且据说是EPUB3支持最好的。实际上,这也是我上课摸鱼的首选阅读器。测试平台为iOS 12。iPhone和iPad的区别大体上只有弹出注释在手机上全屏,而在平板上是出来个小框。
主要考察点:
  段首缩进:OK;
  竖排和方向:不知道为啥EPUB3 和EPUB2同样的写法,EPUB2可以,EPUB3不行。所以最后测试档还是EPUB2.0。要是有我不知道的还请赐教……;
  注音:OK;
  弹出式注释:OK,有不足,具体看图(内联样式可,CSS样式不行)。
  SVG:OK。还支持滤镜(测试档的灰色文字应该有个高斯模糊),其他阅读器大部分不行。
加分点:
  真flow式阅读。对于小说这种东西,能够适应平台变化排版是最合适的,滚动模式就是这个概念的最佳体现。
  背景色调细节:Edge等等浏览器也可以把背景变成纸黄色,但是Apple Books会把图片的白色也处理,这个功能让轻小说插图也能和背景一个颜色,沉浸感up。
减分点:
  疑似bug,滚动阅读加载新页面会卡一下然后位置错开……
其他使用细节:
  双击图片即可放大。
Microsoft Edge
我也忘了哪个版本开始支持的epub了。测试版本1803,感觉差别不大。电脑上基本上首选了。Edge之前说要换引擎,虽然有预览版我也懒得测了,感觉这个阅读支持还是纯js实现的,改变不会太大。
主要考察点:
  段首缩进:OK;
  竖排和方向:OK;
  注音:OK;
  弹出式注释:OK。
  SVG:OK。
加分点:
  方便,虽然有强行让你用的嫌疑,但是方便。
减分点:
  性能可能有点问题,偶尔会假死,多等一会就好。
Kindlegen(转换成mobi)
Amazon kindlegen(Windows) V2.9,测试平台是Kindle Paperwhite……的一个很老的版本(至少四五年前了),回头再查。这个转换软件好像2014年开始就没动过了……不过没差,反正只是把epub重新打包,核心功能还是看设备。
主要考察点:
  段首缩进:OK;
  竖排和方向:OK,竖排需要加-webkit-;
  注音:OK;
  弹出式注释:OK。需要设定双向链接才能显示。注释中样式无效。aside标签不会自动隐藏。
  SVG:OK。
加分点:
……墨水屏算不?
减分点:
……好像也没啥缺点。

Readium(Chrome App)
因为版头上有写就捏着鼻子用了一下结果……一打开就告诉我Chrome已经不想搞App了,他们不更新了。
主要考察点:
  段首缩进:OK;
  竖排和方向:OK;
  注音:OK;
  弹出式注释:NO。
  SVG:OK。
虽然除了注释没支持,这玩意的UI给我一种很简陋的感觉……
减分无所谓了吧反正不用了:
  图片显示,包括SVG,是不管分页的。会给你拦腰切一刀放在下一页。
  UI很烂,大概也是没维护的原因。
  没后续更新了,放弃吧。

看着到这里,如果你是个非Android平台读者其实已经没啥疑问了,以下是噩梦的Android平台探索。
我本身不用安卓,所以测试比较随便,测试机比较烂,大概不影响吧。
软件都是随便搜的,可能不全。

多看
目前十分流行。轻小说EPUB界的IE。测试版本5.8.5 .
主要考察点:
  段首缩进:OK。记得把排版调成无;
  竖排和方向:呃,虽然方向对了,但是不让竖排的也竖排了,只看page-progression的?;
  注音:OK;
  弹出式注释:众所周知,需要私有属性,CSS样式OK;
  SVG:NO。内部元素可以读取,但是没有正确显示。大概是直接忽略了不认识的标签。
减分点:背标准而行。

FBReader
随便查到的。测试版本3.0.0
主要考察点:
  段首缩进:OK。默认会缩进两个英文字符,CSS可覆盖;
  竖排和方向:NO;
  注音:NO;
  弹出式注释:OK?用的是系统的提示,样式当然是不存在的,列表的序号还会给加上……;
  SVG:NO。同多看。
不减分了,别用。

Lithium
貌似是个新秀。搜索关键词“锂Epub阅读”。测试版本v0.20.1 解锁汉化版。
主要考察点:
  段首缩进:OK;
  竖排和方向:NO;
  注音:OK;
  弹出式注释:OK,CSS样式部分OK(颜色貌似改不了,但是list-style:none起了作用);
  SVG:OK。
加分点:
  也有个滚动模式,不过章与章之间没有接起来(是为了避开Apple Books那种bug?)
  背景可调。
  无广告。
减分:
  如果用官方版,背景那个貌似需要升级Pro解锁……
如果不啃生肉,还是可以一用的。比较推荐。感觉有希望干翻IE。

AlReader
毛子出的。支持格式贼多,不过我只测epub。
……
别用

Mantano Ebook Reader
测试版本:V2.5.26 汉化版。官网很高大上,宣称支持EPUB 3.
主要考察点:
  段首缩进:NO;
  竖排和方向:NO;
  注音:OK;
  弹出式注释:NO;
  SVG:OK。
……哦才发现后面版本换了名字:

Bookari by Mantano
测试版本:4.2.3,打过解锁补丁。
主要考察点:
 同上,然后中文显示不正常了,就算显示正常也没有实现功能。你升了俩大版本号都干啥了?
(╯‵□′)╯︵┻━┻

静读天下
测试版本:4.5.2。貌似是30天免费试用.
主要考察点:
  段首缩进:NO,强制两个中文字;
  竖排和方向:NO。有个选项强制可以切换,但是会导致弹出注释方向不一致,看你锻炼脖子还是锻炼手腕了;
  注音:OK;
  弹出式注释:OK,但是没有样式支持;
  SVG:NO。
微妙……
=======================================
先测试这么多,如果有更多测试样本或者推荐,欢迎提供测试结果。

综上,比较合格的还是Apple Books,Edge,Kindlegen。这三个都是比较符合标准的,如果支持它们,Lithuim也应该没有问题。多看因为历史原因也最好支持一下。
实践:
属性什么的其实没什么好说的,该怎样怎样。唯一麻烦的是弹出注释。
先上代码,这里提供一个我比较满意的实现:
例子:
<a class="duokan-footnote" epub:type="noteref" href="#note1" id="note_ref1"><sup><img alt="note" class="footnote" src="../Images/note.png"/></sup></a>

<aside epub:type="footnote" id="note1"><a href="#note_ref1"></a><ol class="duokan-footnote-content"  style="list-style:none"><li class="duokan-footnote-item" id="note1" value="1">
注:这是注释
</li></ol></aside>

记得在html加上xmlns:epub信息。
注释链接没什么好说的,这里拿的是一个图片做链接。
注释本体,首先是aside标签。对于Apple Books、Microsoft Edge、多看来说,aside应该是直接隐藏的。kindle不会隐藏,但是可以通过CSS hack代码@media amzn-kf8 {aside {display: none;}} 隐藏。
紧接着的链回note_ref的链接是为了让Kindle能弹出注释,如果没有双向链接是不会弹出的,但是多一个链接十分不美观(而且也没有必要),所以没有写链接文字。
接下来是兼容多看的列表。本身没什么好说的,但是需要注意列表默认会显示数字,十分不美观……而Apple Book的注释样式必须内联,所以把去除数字直接写在style属性里。
测试效果图:



至此,我们支持了Apple Books,Microsoft Edge,Kindlegen,多看。Lithium有点问题,它可以弹出注释,但是显示aside,而如果把aside设为display:none注释也没了。这种情况把所有注释放到末尾就好。如果一定要放在文中,我想用一些hack的方法(比如推到屏幕外)应该也可以实现,但是不如直接去和作者提(我就不去了,我也不是安卓用户……)
如果嫌直接写太眼花,试试这个生成
随便写的,比较简陋。
最后放个测试用档,其实已经改得面目全非了……

补个修正kindle显示的CSS
  1. @media amzn-kf8
  2. {
  3. aside {display: none;}
  4. .duokan-footnote-item{page-break-after: always;}
  5. }
复制代码


评分

参与人数 11轻币 +340 收起 理由
啊豪华游轮 + 10 我很赞同
二流探员 + 10 精品文章
走过了 + 11 赞一个!
祥瑞的雪风酱 + 13 就怕认真的人
梁天宇 + 10 工作辛苦
iloverain + 4 工作辛苦
andolf + 12 工作辛苦
zhujiayin + 10 工作辛苦
打个酱油不容易 + 10 工作辛苦
kidcs1214 + 200 りはい

查看全部评分

 楼主| 发表于 2019-3-25 17:49 | 显示全部楼层
吐血,图片这么大……算了凑合看吧
发表于 2019-3-25 19:34 | 显示全部楼层
屏幕太惨烈了233
 楼主| 发表于 2019-3-25 19:38 | 显示全部楼层

家人的手机,变成这样不用了我就捡来了w
发表于 2019-3-25 19:47 | 显示全部楼层
推送到kindle的话怎么搞好一点
 楼主| 发表于 2019-3-25 19:55 | 显示全部楼层
橘貓 发表于 2019-3-25 19:47
推送到kindle的话怎么搞好一点

推送不是只有用邮箱发吗……轻小说不会大于50m吧。
kindlegen生成的mobi会携带原始的epub文档,邮箱推送会帮你去掉,得到一个azw3文件(没有本质差别)比直接usb拷小一些

直接usb拷想文件小一点,可以用一个叫kindlestrip的脚本把原始文档去掉

我平常就直接usb拷,挺快的…


(另外早期win10插kindle就蓝屏,我还给赶上了orz
发表于 2019-3-25 21:12 | 显示全部楼层
https://github.com/taroxd/n8440fe/tree/master/epub

正好前几天写了个给自己坑生成 epub 的东西来着……拿的 lk epub 组的一部分模板,貌似是针对多看阅读特化的注释?

对 epub 完全不懂的我只会 xjb 抄了……

 楼主| 发表于 2019-3-25 21:33 | 显示全部楼层
taroxd 发表于 2019-3-25 21:12
https://github.com/taroxd/n8440fe/tree/master/epub

正好前几天写了个给自己坑生成 epub 的东西来着…… ...

是的,lk只符合多看的格式。
我没用过这个语言……如果想兼容标准:
我看epub命名空间已经ok了
make_footnote_icon大概需要给链接加一个id用于兼容kindle,它要求脚注有双向链接,然后是epub属性
make_footnote加上kindle要求的链接,就是上面新加的那个id,然后外面包一层带epub属性的aside
其实细节抄上面给出的代码就好了嘛,或者可以看一眼那个js代码(
发表于 2019-3-25 21:37 | 显示全部楼层
本帖最后由 taroxd 于 2019-3-25 21:41 编辑
Aeroblast 发表于 2019-3-25 21:33
是的,lk只符合多看的格式。
我没用过这个语言……如果想兼容标准:
我看epub命名空间已经ok了

请问一下 li 的属性 value="1" 有什么深意吗?另外,示例代码里有两个元素 id 都为 note1,是什么意思呢?
 楼主| 发表于 2019-3-25 21:42 | 显示全部楼层
本帖最后由 Aeroblast 于 2019-3-25 21:45 编辑
taroxd 发表于 2019-3-25 21:37
请问一下 li 的属性 value="1" 有什么深意吗?

其实并没有。
如果只对上面提到的几个支持,删掉应该也可以,因为后面在想办法不显示这个值。只是即使不写,缺省值也会存在(缺省值是1)。
我的想法是,假设有效果差的阅读器没法消掉,那还是让这个数字一直排下去,至少别是一串1
重复id是,因为符合epub标准脚注是声明epub:footnote的aside,多看的是列表里那一项,有点无奈。好在实际不会有什么问题。
发表于 2019-3-25 22:05 | 显示全部楼层
本帖最后由 taroxd 于 2019-3-25 22:11 编辑
Aeroblast 发表于 2019-3-25 21:42
其实并没有。
如果只对上面提到的几个支持,删掉应该也可以,因为后面在想办法不显示这个值。只是即使不写 ...

算了我按标准写不管多看了吧= =   我自己也是 Edge 和 Apple Book 为主的。感谢指点。

commit:https://github.com/taroxd/n8440f ... 6fd395d8a94e80d9529

发表于 2019-3-26 09:10 | 显示全部楼层
QQ阅读啊,开卷有益我为了避免广告用的老版。目前基本上QQ阅读能满足(安卓)
发表于 2019-3-26 12:49 | 显示全部楼层
涨涨姿势了
发表于 2019-3-26 13:30 | 显示全部楼层
android还有个gitden reader整体上挺好的,不过一些epub3无法导入,然后竖排也是只看page-progression。好像设置里可以调日文竖排,不过感觉没什么用。

我不喜欢多看的私有样式和那些蜜汁标准啊啊啊!
我自己弄书就只在意edge和ibooks的效果
发表于 2019-3-26 18:37 来自手机 | 显示全部楼层
目錄太基本?很多閱讀器不支援epub3的nav...另外,測試閱讀器怎麼能少了calibre呢?Edge支援的作業系統太少,我用的是Linux系統,都用calibre
 楼主| 发表于 2019-3-26 20:27 | 显示全部楼层
本帖最后由 Aeroblast 于 2019-3-26 20:36 编辑
anenasa 发表于 2019-3-26 18:37
目錄太基本?很多閱讀器不支援epub3的nav...另外,測試閱讀器怎麼能少了calibre呢?Edge支援的作業系統太少 ...

Calibre
测试版本:3.40.1。一定要有人提的话我就测一下。
主要考察点:
  段首缩进:OK
  竖排和方向:OK?貌似只看page-progression。实际没法用,因为字都是倒着的。大概是开发者根本不认识亚洲文字,看不出来。反正几年前就这德性了;
  注音:OK;
  弹出式注释:OK,不隐藏aside;
  SVG:OK,滤镜OK。
减分点:   操作稀烂
  会强制生成library,生成乱七八糟的文件名,逼死强迫症
  可能会把你的kindle书转换成稀烂的epub,也会把你的epub转换成稀烂的kindle书
建议如果有别的选择就不要用
痛恨这东西所以评价可能不客观
发表于 2019-3-26 21:16 | 显示全部楼层
大佬你好棒!!

现在就希望有那种TXT直接转换epub版的app之类的

果然轻小说现在更希望能在手机上用epub看呢
发表于 2019-3-26 21:19 | 显示全部楼层
本帖最后由 雾迹 于 2019-3-26 21:22 编辑

轻小说主要很多都是靠插画的,所以epub对于轻小说来说就很重要了,国产网文还行喜欢txt。谢谢老司机的推荐了。
发表于 2019-3-26 21:26 | 显示全部楼层
虽然看不懂,但是大佬好评~
 楼主| 发表于 2019-3-26 21:33 | 显示全部楼层
Cotton 发表于 2019-3-26 21:16
大佬你好棒!!

现在就希望有那种TXT直接转换epub版的app之类的

呃,转换是可以,但txt怎么描述插图啊……
所以还是等正经的制作epub吧
请期待epub组的肝?
tsdm那边其实比较多,很多勤奋的人,比如kid大佬……

评分

参与人数 1轻币 +1 收起 理由
Cotton + 1 其实在LK做epub还是有点限制的.所以希望自.

查看全部评分

本版积分规则

手机版|Archiver|轻之国度

JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!

  

GMT+8, 2024-7-1 03:47

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表