教程 - 想要多字体却不想打补丁?内嵌字体轻松实现多字体
kobo吧
全部回复
仅看楼主
level 6
本教程有些步骤需要一点点基础的HTML和CSS知识。大部分内容即使不会CSS和HTML也可以跟着做。
熟练之后,每本书大概五分钟就可以完美实现多字体。
本文目的是使绝大多数读者都可以跟着学会如果内嵌字体,某些地方可能会显得比较啰嗦冗余,请大神轻喷。
我的惯用正文字体是仓耳今楷03-W04,即文件包中的Jinkai-w04文件,读者可自行替换为自己喜欢的字体。
本教程需要的所有文件可以从以下链接获取
链接: 百度网盘 提取码: 2x5g
先上一些前后对比图:均不使用多字体补丁,字体均为“出版社默认值”
2023年08月18日 05点08分 1
level 6
教程文件:史蒂夫 乔布斯传 (修订版)中信出版社
本教程需要用到两个软件 – Sigil 和 Calibre,请自行安装,此处不做赘述。
2023年08月18日 05点08分 2
level 6
第一步:将Epub文件导入Calibre。将文件拖拽至Calibre主窗口即可。
2023年08月18日 05点08分 3
level 6
第二步:点击封面下方的 Book files,或使用快捷键o打开文件所在文件夹
2023年08月18日 05点08分 4
level 6
第三步:使用Sigil打开epub文件。如果打开过程中出现弹窗,选择“是”或者“否”应该不会对结果产生什么影响。建议选“是”(Yes)。
2023年08月18日 05点08分 5
level 6
第四步:将Epub文件按照Sigil格式重建
选择菜单栏的 工具 – 按Sigil格式重建Epub
弹窗选择OK
Ctrl+S 保存文件,或者使用菜单栏的 文件 – 保存。关闭Sigil。
2023年08月18日 05点08分 6
level 6
第五步:在Calibre 中编辑文件
回到Calibre,右键要编辑的书,选择 Edit Book,或使用快捷键T
出现编辑图书的工具
2023年08月18日 05点08分 7
level 6
第六步:添加各种中文字体
请添加附件中的所有字体。应包含以下字体文件
- Fangsong.ttf
- HeiTi.ttf
- KaiTi.ttf
- MSYaHei.ttf
- Song.ttf
- YouYuan.ttf
- Jinkai-w04.ttf
分别对应为:
- 仿宋
- 黑体
- 楷体
- 微软雅黑
- 宋体
- 幼圆
- 仓耳今楷03-W04(我所选择的正文字体)
添加方法如下:
首先,一开始一定要点击New File来添加一个字体文件
在上一步打开的编辑页面,点击File – New file,或者工具栏的对应按钮
在出现的弹窗中,选择左下角这个按钮
选中第一个字体文件FangSong.ttf后,一定要将文本框内的内容改为OEBPS/Fonts/FangSong.ttf,如下图,选择OK,弹窗继续选择OK。
左边字体栏有一个文件,右键看第二个选项确认路径,确认路径为OEBPS/Fonts/FangSong.ttf。如果路径不对,请删掉文件(回收图标)后重新做本步骤。
2023年08月18日 05点08分 8
level 6
然后再将其余字体一并添加,
菜单栏,选择 File – Import files into book
将前文所提到的7种字体全部选中,确认
之后在左边栏的“Fonts”(字体)区域,可以看到已经添加的7种字体。
请忽略Jinkai-w04左边的感叹号,实测可以正常显示。
2023年08月18日 05点08分 10
level 6
第七步:删除已有的 @font-face CSS样式 (有些书没有@font-face CSS样式,可跳过此步)
在左侧栏找到 Styles(样式)区域,里面会有几个以CSS为扩展名的文件。
浏览所有CSS文件,找到所有@font-face开头的样式规则,将所有的@font-face样式规则删除。一条样式规则,即@font-face,大括号,以及对应大括号内的内容。如下图所示。
需要注意的是,有些书籍本身不存在@font-face样式规则,遇到这样的书籍可以跳过此步。
截图中,高亮区域就是一条@font-face样式规则:@font-face开头,大括号和其中的内容。
本案例中,需要删除的区域如下:
删除后,此文件剩余内容仅为:
需要注意的是,有些书籍本身不存在@font-face样式规则,遇到这样的书籍可以跳过此步
2023年08月18日 05点08分 11
level 6
第八步:添加如下@font-face CSS样式
选择任意CSS文件,在文件开头加入如下内容
@font-face {
font-family:"SongTi";
src: local("华文中宋"),local("STSong"), url(../Fonts/Song.ttf);
}
@font-face {
font-family:"HeiTi";
src: local("黑体"),local("HeiTi"), url(../Fonts/HeiTi.ttf);
}
@font-face {
font-family:"KaiTi";
src: local("楷体"),local("KaiTi"), url(../Fonts/KaiTi.ttf);
}
@font-face {
font-family:"FangSong";
src: local("仿宋"),local("FangSong"), url(../Fonts/FangSong.ttf);
}
@font-face {
font-family:"YouYuan";
src: local("幼圆"),local("YouYuan"), url(../Fonts/YouYuan.ttf);
}
@font-face {
font-family:"SongHei";
src: local("微软雅黑"),local("Microsoft YaHei"), url(../Fonts/MSYaHei.ttf);
}
@font-face {
src:local("TsangerJinKai03 W04"), url(../Fonts/Jinkai-w04.ttf);
font-family: "zhengwen";
}
加入后的文件如图所示:
2023年08月18日 05点08分 12
level 6
第九步:使用添加的字体
字体添加完成后,我们要让字体用在文本中。原文件定义了一些字体样式,但是已经被我们删掉了,所以我们要修改原本的段落样式,来使用我们新定义的字体。Calibre提供了一个工具可以帮我们很轻易的做这件事情。
在编辑书籍的窗口中,菜单栏,选择Tools – Manage fonts (管理字体),或选择顶部工具栏的对应图标。
点击后出现如下窗口
左侧打勾的字体是我们新加入的字体,没打勾的字体是原文件自带的。
对每个没打勾的字体,选中字体,点击右边第一个按钮“Change selected fonts”. 将名字修改为打勾的字体。
本例中,我将heiti修改为 HeiTi,kaiti修改为KaiTi,songti修改为SongTi,fzlth修改为FangSong。
以fzlth为例,选中后,按右侧第一个按钮
在弹窗中,打入FangSong,确认
确认后fzlth字体从左侧栏消失,因为原本使用fzlth字体的段落现在都用仿宋(FangSong)了。
对所有未打勾的字体都是用同样的操作,替换为对应字体,即heiti(黑体)替换成HeiTi(黑体),kaiti(楷体)替换成KaiTi(楷体),以此类推。
全部完成后左侧全部字体都有勾,选择右下角Close(关闭)本步结束。
2023年08月18日 05点08分 13
level 6
第十步: 设置正文字体 (需要基础HTML和CSS理解,可跳过)
在左侧的Text区域,随便找一个有正文的文件打开,是否有正文可以从右侧预览栏看到。本例中使用part0008.html(就随便选了一个带正文的文件)
在代码中找到一段正文的文字,例如
需要注意的是代码开头 <p class=”calibre6”> 这一段,class=“”的内容是不固定的,这里是calibre6。它有可能是bodycontent,也有可能是其他内容,也有可能只有<p>,没有class。没有class的情况我们过后讨论,现在讨论有class内容的情况。
记住calibre6,在下面的搜索栏中,搜索calibre6,搜索范围选择All Style File
找到此处的样式定义
在其中加入一行:
font-family: 'zhengwen' !important;
加入后内容如下:
加入后保存文件,右边预览栏会自动刷新,显示已经设置的正文字体。
2023年08月18日 06点08分 14
level 6
第十一步: 对字体进行子集化(可选,但强烈建议做)
其实现在的文件已经可以正常使用了,但是如果你保存后去文件夹查看就会发现,文件非常大,这是因为我们的文件里包含了7种完整的中文字体,每一个字体都在15MB左右。这些字体中,我们有些用到了,有些没有用到。用到的字体中,有些字用到了,有些字没有用到。将字体根据文本进行精简,就是字体的子集化。
在Calibre中,字体子集化非常简单,打开我们上文第九步中用到的字体管理工具。选择右侧第四个按钮 “Subset all fonts”
稍等片刻就会出现子集化的报告
例如此处就讲:仿宋字体精简到了原始0.1%的大小,黑体精简到了原本1.0%的大小。
点击Close关闭。保存文件。全部步骤完成。
将Epub转化为Kepub后,发送至Kobo,在字体选择页面选择“出版社默认值”,就可以享受支持多种字体的电子书了。不需要多字体补丁。
2023年08月18日 06点08分 15
level 6
发现
镇楼
的3张对比图糊了,补一下。
系统版本 4.34,无多字体补丁,字体选择为”出版社默认值“
2023年08月18日 06点08分 16
1 2 尾页