内嵌字体的EPUB制作全接触(其三 无中生有)

html-css05

内嵌字体的EPUB制作全接触(其三 无中生有),第1张

书接上回,本人使用 《内嵌字体的EPUB制作全接触》 提及的方法制作了若干本电子书,放在 prs350 上阅读,却遇到几本书无法完整转换或者转换后死机的情况,后使用 《内嵌字体的EPUB制作全接触(其二)》 中提及的解决方法,解决了问题。

没想到,在编辑 《抗》和 《释》两本书的时候,居然又遇到了新的问题,没错。

这次要解决的问题是:

(一)书籍内没有 CSS 的情况

(二)书籍没有封面图片的情况

首先看第一条:书籍没有 CSS,

epub 书籍内没有 css ,这种情况估计也不是很罕见,不过我就碰到了,因为没有 CSS 也无法嵌入字体。

cssstar 和 fontrepack 都不能使用,因为原来的 epub 本身就没有 CSS。

在 sigil 中增加新的空白样式表。

复制老牛样式表(也可参考其他书籍的样式表)之后,粘贴进新的样式表中。

粘贴完样式表之后,还需要对 html 进行修改,因为原来的 html 也是 不包含样式表的 !

接着,就可以成功嵌入字体了!

拷入电子书,查看,嵌入成功。

其二,书籍没有封面图片的情况:

尝试:你可以自己尝试不增加新的 html 文件,将图片直接作为 spine 的一部分表现出来,结果有点出乎意料。

本文使用比较稳妥的方法,建立 cover.html 文件,在 html 中嵌入图片。

在上次的文章中,我们已经介绍过,如何修改 epub 的封面,修改  content.opf 中的 spine 部分就行了,注意  idref 的值。

和原来的文章介绍的一样,调整 html 的位置,使封面成为第一。

如此,无中生有的电子书封面就顺利添加了。

那么这次就这样,有问题再会,感谢阅读!感谢支持!感谢分享!

    以下内容都是干货,目的是解决部分设备(比如 日版的 sony prs 350 阅读器)上无法显示中文字体的问题。没有此问题,或者对电子书制作不感兴趣的可以不用看了,想要了解一下电子书的制作过程的可以继续。

    先说下原理,很简单, 因为 epub 格式可以使用内嵌字体,那么在阅读器不支持安装调用自己字体的时候,通过 epub 格式的接口可以实现多字体的浏览, 所以问题的关键就在于如何嵌入字体。

    然后,开始,准备工作,因为都是纯软件操作,基本上需要一台电脑,准备好各种软件就行了,这些软件有:

    1,2,3 都是转换工具,1可以独立完成 txt 到 epub 的转换,2和3 配合着用,对其他格式的 epub 进行 css 调整,使之可以使用内嵌字体,4是编辑器。

  下面以《Starting+Over+重启人生》.txt 为样本做一下介绍,这是原文:

    排版算是比较精美的了,但是如果直接放进不支持的设备,显示是这样的。

    事实上,还有一些 txt 档格式存在其他各种问题,比如硬回车,空格格式不统一,缩进等等,需要自己调整一下,也可以用 easypub 改变一部分。

    然后是主菜,上 easypub,其实这是一个很好的电子书转换工具,不光支持 txt 转 epub 现在(1.5)还支持转 .mobi 和 azw3 格式,当然我用的多是 epub 了。

    设置参数:

    根据这个 txt 档的特点,我讲章节的正则规则设置成:^\s*[1234567890]+|^s*后记$,通过“章节编辑”功能,能提前看到划分后的结果。

    嵌入字体的设置:

    然后点执行,看看结果吧:

    很简单吧,唯一复杂一点的就是章节正则表达式的选择。

    下面以 《神曲+(译文名著精选)+-+但丁·阿利吉耶里+朱维基译.epub》为例子来说明,以下是原文(583K)

    如果在电子书上看,又遇到设备不支持自定义字体的情况,就和前面讲的一样,都是方框,我们先尝试一下,能否替换为内置字体,运气好的话,是用老牛字体css的电子书,可以一步进行转换。

    是否有运气?

    不能通过,看来原来的 css 并不是老牛样式,必须还有做一次转换!当然,你可以用 Sigil 进行手动调整,还有简单的办法!

    这次我们请出 老牛的作品 cssStar

进行转换的设置:

注意其中最重要的设置,替换 css 为老牛样式,然后。

再次请出  fontRepack 。。。

转换成功,因为《神曲》字体结构比较复杂,还是缺两个生僻字,不过已经可以看了。

最后简单说一下,Sigil 编辑功能,嗯,基本上就是提一下。

    就这样简单说一下 Sigil 的基础修改功能,那么就愉快地结束吧,如果对自己制作的电子书不满意,需要更深度的修改,就需要对 Sigil 进行更深入的学习了,这不是这篇文章的主要目的,有期望的话说不定下次会提一下,哈哈,其实我也算是  Newbie。