随着大数据时代的到来,多种移动阅读终端方兴未艾 —— Amazon Kindle再也不小众、各互联网巨头纷纷推出旗下的电子书阅读软件。有了阅读的软件/硬件支持,必不可少的就是阅读什么的问题了。ePub格式一直占据着广大电子书市场,多看、百度阅读等电子书市场所使用的格式都是它,人们也渐渐不知足于单纯的TXT文本阅读和质量低劣的扫描版PDF格式了。下面是我本身对 ePub 电子书制做的理念和规范。css
P.S.说什么规范其实也谈不上,也就是一些制做的风格与技巧。html
这是个看颜的时代。正则表达式
封面图最好要是高清的,所谓高清,就是必定不能低于普通电子设备的分辨率(1024x768)。网络
获取方法:字体
Kindle 默认是图片全屏的→→,多看须要在 content.opf 的 <spine toc="ncx"> 加上大数据
properties="duokan-page-fullscreen"
基本样式包括字体调用、全局页面设置,这里参考了精益制做组制做的《21世纪资本论》:ui
@page{ margin-bottom:5pt; margin-top:5pt } @font-face { font-family:"zw"; src: local("宋体"),local("明体"),local("明朝"), local("Songti"),local("Songti SC"),local("Songti TC"), local("Song S"),local("Song T"),local("STBShusong"),local("TBMincho"),local("HYMyeongJo"), local("DK-SONGTI"), url(../Fonts/zw.ttf), url(res:///opt/sony/ebook/FONT/zw.ttf), url(res:///Data/FONT/zw.ttf), url(res:///opt/sony/ebook/FONT/tt0011m_.ttf), url(res:///ebook/fonts/../../mnt/sdcard/fonts/zw.ttf), url(res:///ebook/fonts/../../mnt/extsd/fonts/zw.ttf), url(res:///ebook/fonts/zw.ttf), url(res:///ebook/fonts/DroidSansFallback.ttf), url(res:///fonts/ttf/zw.ttf), url(res:///../../media/mmcblk0p1/fonts/zw.ttf), url(file:///mnt/us/DK_System/system/fonts/zw.ttf), url(file:///mnt/us/DK_System/xKindle/res/userfonts/zw.ttf), url(res:///abook/fonts/zw.ttf), url(res:///system/fonts/zw.ttf), url(res:///system/media/sdcard/fonts/zw.ttf), url(res:///media/fonts/zw.ttf), url(res:///sdcard/fonts/zw.ttf), url(res:///system/fonts/DroidSansFallback.ttf), url(res:///mnt/MOVIFAT/font/zw.ttf), url(res:///media/flash/fonts/zw.ttf), url(res:///media/sd/fonts/zw.ttf), url(res:///opt/onyx/arm/lib/fonts/AdobeHeitiStd-Regular.otf), url(res:///../../fonts/zw.ttf), url(res:///../fonts/zw.ttf), url(../../../../../zw.ttf), url(res:///mnt/sdcard/fonts/zw.ttf), url(res:///fonts/zw.ttf), url(res:///../../../../Windows/fonts/zw.ttf), url(res:///fonts/normal/st), url(res:///fonts/normal/SongTi); } @font-face { font-family:"zw-himalaya"; src: local("Himalaya"), local("DK-SONGTI"), url(../Fonts/zw-himalaya.ttf), url(res:///opt/sony/ebook/FONT/zw-himalaya.ttf), url(res:///Data/FONT/zw-himalaya.ttf), url(res:///opt/sony/ebook/FONT/zw-himalaya.ttf), url(res:///ebook/fonts/../../mnt/sdcard/fonts/zw-himalaya.ttf), url(res:///ebook/fonts/../../mnt/extsd/fonts/zw-himalaya.ttf), url(res:///ebook/fonts/zw-himalaya.ttf), url(res:///ebook/fonts/DroidSansFallback.ttf), url(res:///fonts/ttf/zw-himalaya.ttf), url(res:///../../media/mmcblk0p1/fonts/zw-himalaya.ttf), url(file:///mnt/us/DK_System/system/fonts/zw-himalaya.ttf), url(file:///mnt/us/DK_System/xKindle/res/userfonts/zw-himalaya.ttf), url(res:///abook/fonts/zw-himalaya.ttf), url(res:///system/fonts/zw-himalaya.ttf), url(res:///system/media/sdcard/fonts/zw-himalaya.ttf), url(res:///media/fonts/zw-himalaya.ttf), url(res:///sdcard/fonts/zw-himalaya.ttf), url(res:///system/fonts/DroidSansFallback.ttf), url(res:///mnt/MOVIFAT/font/zw-himalaya.ttf), url(res:///media/flash/fonts/zw-himalaya.ttf), url(res:///media/sd/fonts/zw-himalaya.ttf), url(res:///opt/onyx/arm/lib/fonts/AdobeHeitiStd-Regular.otf), url(res:///../../fonts/zw-himalaya.ttf), url(res:///../fonts/zw-himalaya.ttf), url(../../../../../zw-himalaya.ttf), url(res:///mnt/sdcard/fonts/zw-himalaya.ttf), url(res:///fonts/zw-himalaya.ttf), url(res:///../../../../Windows/fonts/zw-himalaya.ttf), url(res:///fonts/normal/zw-himalaya); } @font-face { font-family:"fs"; src: local("仿宋"),local("仿宋_GB2312"), local("Yuanti"),local("Yuanti SC"),local("Yuanti TC"), local("DK-FANGSONG"), url(../Fonts/fs.ttf), url(res:///opt/sony/ebook/FONT/fs.ttf), url(res:///Data/FONT/fs.ttf), url(res:///opt/sony/ebook/FONT/tt0011m_.ttf), url(res:///ebook/fonts/../../mnt/sdcard/fonts/fs.ttf), url(res:///ebook/fonts/../../mnt/extsd/fonts/fs.ttf), url(res:///ebook/fonts/fs.ttf), url(res:///ebook/fonts/DroidSansFallback.ttf), url(res:///fonts/ttf/fs.ttf), url(res:///../../media/mmcblk0p1/fonts/fs.ttf), url(file:///mnt/us/DK_System/system/fonts/fs.ttf), url(file:///mnt/us/DK_System/xKindle/res/userfonts/fs.ttf), url(res:///abook/fonts/fs.ttf), url(res:///system/fonts/fs.ttf), url(res:///system/media/sdcard/fonts/fs.ttf), url(res:///media/fonts/fs.ttf), url(res:///sdcard/fonts/fs.ttf), url(res:///system/fonts/DroidSansFallback.ttf), url(res:///mnt/MOVIFAT/font/fs.ttf), url(res:///media/flash/fonts/fs.ttf), url(res:///media/sd/fonts/fs.ttf), url(res:///opt/onyx/arm/lib/fonts/AdobeHeitiStd-Regular.otf), url(res:///../../fonts/fs.ttf), url(res:///../fonts/fs.ttf), url(../../../../../fs.ttf), url(res:///mnt/sdcard/fonts/fs.ttf), url(res:///fonts/fs.ttf), url(res:///../../../../Windows/fonts/fs.ttf), url(res:///fonts/normal/fs), url(res:///fonts/normal/FangSong); } @font-face { font-family:"kt"; src: local("楷体"),local("楷体_GB2312"), local("Kaiti"),local("Kaiti SC"),local("Kaiti TC"), local("MKai PRC"),local("MKaiGB18030C-Medium"),local("MKaiGB18030C-Bold"), local("DK-KAITI"), url(../Fonts/kt.ttf), url(res:///opt/sony/ebook/FONT/kt.ttf), url(res:///Data/FONT/kt.ttf), url(res:///opt/sony/ebook/FONT/tt0011m_.ttf), url(res:///ebook/fonts/../../mnt/sdcard/fonts/kt.ttf), url(res:///ebook/fonts/../../mnt/extsd/fonts/kt.ttf), url(res:///ebook/fonts/kt.ttf), url(res:///ebook/fonts/DroidSansFallback.ttf), url(res:///fonts/ttf/kt.ttf), url(res:///../../media/mmcblk0p1/fonts/kt.ttf), url(file:///mnt/us/DK_System/system/fonts/kt.ttf), url(file:///mnt/us/DK_System/xKindle/res/userfonts/kt.ttf), url(res:///abook/fonts/kt.ttf), url(res:///system/fonts/kt.ttf), url(res:///system/media/sdcard/fonts/kt.ttf), url(res:///media/fonts/kt.ttf), url(res:///sdcard/fonts/kt.ttf), url(res:///system/fonts/DroidSansFallback.ttf), url(res:///mnt/MOVIFAT/font/kt.ttf), url(res:///media/flash/fonts/kt.ttf), url(res:///media/sd/fonts/kt.ttf), url(res:///opt/onyx/arm/lib/fonts/AdobeHeitiStd-Regular.otf), url(res:///../../fonts/kt.ttf), url(res:///../fonts/kt.ttf), url(../../../../../kt.ttf), url(res:///mnt/sdcard/fonts/kt.ttf), url(res:///fonts/kt.ttf), url(res:///../../../../Windows/fonts/kt.ttf), url(res:///fonts/normal/kt), url(res:///fonts/normal/KaiTi); } @font-face { font-family:"ktpy"; src: local("方正楷体拼音字库01"), local("Kaitipinyin"),local("Kaiti"),local("Kaiti SC"),local("Kaiti TC"), local("MKai PRC"),local("MKaiGB18030C-Medium"),local("MKaiGB18030C-Bold"), local("DK-KAITI"), url(../Fonts/ktpy.ttf), url(res:///opt/sony/ebook/FONT/ktpy.ttf), url(res:///Data/FONT/ktpy.ttf), url(res:///opt/sony/ebook/FONT/tt0011m_.ttf), url(res:///ebook/fonts/../../mnt/sdcard/fonts/ktpy.ttf), url(res:///ebook/fonts/../../mnt/extsd/fonts/ktpy.ttf), url(res:///ebook/fonts/ktpy.ttf), url(res:///ebook/fonts/DroidSansFallback.ttf), url(res:///fonts/ttf/ktpy.ttf), url(res:///../../media/mmcblk0p1/fonts/ktpy.ttf), url(file:///mnt/us/DK_System/system/fonts/ktpy.ttf), url(file:///mnt/us/DK_System/xKindle/res/userfonts/ktpy.ttf), url(res:///abook/fonts/ktpy.ttf), url(res:///system/fonts/ktpy.ttf), url(res:///system/media/sdcard/fonts/ktpy.ttf), url(res:///media/fonts/ktpy.ttf), url(res:///sdcard/fonts/ktpy.ttf), url(res:///system/fonts/DroidSansFallback.ttf), url(res:///mnt/MOVIFAT/font/ktpy.ttf), url(res:///media/flash/fonts/ktpy.ttf), url(res:///media/sd/fonts/ktpy.ttf), url(res:///opt/onyx/arm/lib/fonts/AdobeHeitiStd-Regular.otf), url(res:///../../fonts/ktpy.ttf), url(res:///../fonts/ktpy.ttf), url(../../../../../ktpy.ttf), url(res:///mnt/sdcard/fonts/ktpy.ttf), url(res:///fonts/ktpy.ttf), url(res:///../../../../Windows/fonts/ktpy.ttf), url(res:///fonts/normal/ktpy), url(res:///fonts/normal/kaitipinyin), url(res:///fonts/normal/KaiTiPinYin); } @font-face { font-family:"ht"; src: local("微软雅黑"),local("黑体"), local("Heiti"),local("Heiti SC"),local("Heiti TC"), local("MYing Hei S"),local("MYing Hei T"),local("TBGothic"), local("DK-HEITI"), url(../Fonts/ht.ttf), url(res:///opt/sony/ebook/FONT/ht.ttf), url(res:///Data/FONT/ht.ttf), url(res:///opt/sony/ebook/FONT/tt0011m_.ttf), url(res:///ebook/fonts/../../mnt/sdcard/fonts/ht.ttf), url(res:///ebook/fonts/../../mnt/extsd/fonts/ht.ttf), url(res:///ebook/fonts/ht.ttf), url(res:///ebook/fonts/DroidSansFallback.ttf), url(res:///fonts/ttf/ht.ttf), url(res:///../../media/mmcblk0p1/fonts/ht.ttf), url(file:///mnt/us/DK_System/system/fonts/ht.ttf), url(file:///mnt/us/DK_System/xKindle/res/userfonts/ht.ttf), url(res:///abook/fonts/ht.ttf), url(res:///system/fonts/ht.ttf), url(res:///system/media/sdcard/fonts/ht.ttf), url(res:///media/fonts/ht.ttf), url(res:///sdcard/fonts/ht.ttf), url(res:///system/fonts/DroidSansFallback.ttf), url(res:///mnt/MOVIFAT/font/ht.ttf), url(res:///media/flash/fonts/ht.ttf), url(res:///media/sd/fonts/ht.ttf), url(res:///opt/onyx/arm/lib/fonts/AdobeHeitiStd-Regular.otf), url(res:///../../fonts/ht.ttf), url(res:///../fonts/ht.ttf), url(../../../../../ht.ttf), url(res:///mnt/sdcard/fonts/ht.ttf), url(res:///fonts/ht.ttf), url(res:///../../../../Windows/fonts/ht.ttf), url(res:///fonts/normal/ht), url(res:///fonts/normal/HeiTi); } @font-face { font-family:"h1"; src: local("方正兰亭特黑长_GBK"),local("方正兰亭特黑长简体"),local("方正兰亭特黑长繁体"), local("LantingTeheichang"), local("Yuanti"),local("Yuanti SC"),local("Yuanti TC"), local("MYing Hei S"),local("MYing Hei T"),local("TBGothic"), local("DK-HEITI"), url(../Fonts/h1.ttf), url(res:///opt/sony/ebook/FONT/h1.ttf), url(res:///Data/FONT/h1.ttf), url(res:///opt/sony/ebook/FONT/tt0011m_.ttf), url(res:///ebook/fonts/../../mnt/sdcard/fonts/h1.ttf), url(res:///ebook/fonts/../../mnt/extsd/fonts/h1.ttf), url(res:///ebook/fonts/h1.ttf), url(res:///ebook/fonts/DroidSansFallback.ttf), url(res:///fonts/ttf/h1.ttf), url(res:///../../media/mmcblk0p1/fonts/h1.ttf), url(file:///mnt/us/DK_System/system/fonts/h1.ttf), url(file:///mnt/us/DK_System/xKindle/res/userfonts/h1.ttf), url(res:///abook/fonts/h1.ttf), url(res:///system/fonts/h1.ttf), url(res:///system/media/sdcard/fonts/h1.ttf), url(res:///media/fonts/h1.ttf), url(res:///sdcard/fonts/h1.ttf), url(res:///system/fonts/DroidSansFallback.ttf), url(res:///mnt/MOVIFAT/font/h1.ttf), url(res:///media/flash/fonts/h1.ttf), url(res:///media/sd/fonts/h1.ttf), url(res:///opt/onyx/arm/lib/fonts/AdobeHeitiStd-Regular.otf), url(res:///../../fonts/h1.ttf), url(res:///../fonts/h1.ttf), url(../../../../../h1.ttf), url(res:///mnt/sdcard/fonts/h1.ttf), url(res:///fonts/h1.ttf), url(res:///../../../../Windows/fonts/h1.ttf), url('res:///fonts/normal/h1'), url('res:///fonts/normal/TeHeiChang'), url('res:///fonts/normal/h1 TeHeiChang'); } @font-face { font-family:"h2"; src: local("方正大标宋_GBK"),local("方正大标宋简体"),local("方正大标宋繁体"), local("Dabiaosong"), local("DK-XIAOBIAOSONG"), url(../Fonts/h2.ttf), url(res:///opt/sony/ebook/FONT/h2.ttf), url(res:///Data/FONT/h2.ttf), url(res:///opt/sony/ebook/FONT/tt0011m_.ttf), url(res:///ebook/fonts/../../mnt/sdcard/fonts/h2.ttf), url(res:///ebook/fonts/../../mnt/extsd/fonts/h2.ttf), url(res:///ebook/fonts/h2.ttf), url(res:///ebook/fonts/DroidSansFallback.ttf), url(res:///fonts/ttf/h2.ttf), url(res:///../../media/mmcblk0p1/fonts/h2.ttf), url(file:///mnt/us/DK_System/system/fonts/h2.ttf), url(file:///mnt/us/DK_System/xKindle/res/userfonts/h2.ttf), url(res:///abook/fonts/h2.ttf), url(res:///system/fonts/h2.ttf), url(res:///system/media/sdcard/fonts/h2.ttf), url(res:///media/fonts/h2.ttf), url(res:///sdcard/fonts/h2.ttf), url(res:///system/fonts/DroidSansFallback.ttf), url(res:///mnt/MOVIFAT/font/h2.ttf), url(res:///media/flash/fonts/h2.ttf), url(res:///media/sd/fonts/h2.ttf), url(res:///opt/onyx/arm/lib/fonts/AdobeHeitiStd-Regular.otf), url(res:///../../fonts/h2.ttf), url(res:///../fonts/h2.ttf), url(../../../../../h2.ttf), url(res:///mnt/sdcard/fonts/h2.ttf), url(res:///fonts/h2.ttf), url(res:///../../../../Windows/fonts/h2.ttf), url('res:///fonts/normal/h2'), url('res:///fonts/normal/DaBiaoSong'), url('res:///fonts/normal/h2 DaBiaoSong'); } @font-face { font-family:"h3"; src: local("方正华隶_GBK"),local("方正行黑简体"),local("方正行黑繁体"), local("Yuanti"),local("Yuanti SC"),local("Yuanti TC"), local("MYing Hei S"),local("MYing Hei T"),local("TBGothic"), local("DK-FANGSONG"), url(../Fonts/h3.ttf), url(res:///opt/sony/ebook/FONT/h3.ttf), url(res:///Data/FONT/h3.ttf), url(res:///opt/sony/ebook/FONT/tt0011m_.ttf), url(res:///ebook/fonts/../../mnt/sdcard/fonts/h3.ttf), url(res:///ebook/fonts/../../mnt/extsd/fonts/h3.ttf), url(res:///ebook/fonts/h3.ttf), url(res:///ebook/fonts/DroidSansFallback.ttf), url(res:///fonts/ttf/h3.ttf), url(res:///../../media/mmcblk0p1/fonts/h3.ttf), url(file:///mnt/us/DK_System/system/fonts/h3.ttf), url(file:///mnt/us/DK_System/xKindle/res/userfonts/h3.ttf), url(res:///abook/fonts/h3.ttf), url(res:///system/fonts/h3.ttf), url(res:///system/media/sdcard/fonts/h3.ttf), url(res:///media/fonts/h3.ttf), url(res:///sdcard/fonts/h3.ttf), url(res:///system/fonts/DroidSansFallback.ttf), url(res:///mnt/MOVIFAT/font/h3.ttf), url(res:///media/flash/fonts/h3.ttf), url(res:///media/sd/fonts/h3.ttf), url(res:///opt/onyx/arm/lib/fonts/AdobeHeitiStd-Regular.otf), url(res:///../../fonts/h3.ttf), url(res:///../fonts/h3.ttf), url(../../../../../h3.ttf), url(res:///mnt/sdcard/fonts/h3.ttf), url(res:///fonts/h3.ttf), url(res:///../../../../Windows/fonts/h3.ttf), url('res:///fonts/normal/h3'), url('res:///fonts/normal/HuaLi'), url('res:///fonts/normal/h3 HuaLi'); } @font-face { font-family:"lanting"; src: local("方正兰亭刊黑_GBK"),local("方正兰亭黑"), local("fangzheng"),local("Yuanti SC"),local("Yuanti TC"), local("MYing Hei S"),local("MYing Hei T"),local("TBGothic"), url(res:///sdcard/DuoKan/Resource/Font/方正兰亭刊黑_gbk.ttf); } @font-face { font-family:"biaosong"; src: local("方正小标宋_GBK"),local("方正小标宋"), url(res:///sdcard/DuoKan/Resource/Font/方正小标宋_gbk.ttf); } @font-face { font-family:"cnepub"; src: local("方正小标宋_GBK"),local("方正小标宋"), url(res:///sdcard/DuoKan/Resource/Font/方正小标宋_gbk.ttf); }
.bt1{ font-family:"ht"; font-size:1.2em; color:#fff; border-radius:0.2em; background-color:#e0c98c; width:3em; padding:0.2em; margin-left:auto; margin-right:auto; text-align:center; }
标题二:搜索引擎
.bt2 { /*color:pink;*/ margin-bottom:1.8em; line-height:130%; text-align: left; padding:190px15px15px66px; page-break-before:always; font-weight:bold; font-size:27px; color: #000000; text-shadow:1px2px3.5px#000; font-family:"微软雅黑","黑体","h2","方正大标宋_GBK","方正大标宋简体","方正大标宋繁体","黑体",sans-serif; /*text-outline: 2px 2px #ff0000;*/ }
标题三:url
.bt1{ font-family:"ht"; font-size:1.2em; color:#fff; border-radius:0.2em; background-color:#e0c98c; width:3em; padding:0.2em; margin-left:auto; margin-right:auto; text-align:center; }
标题四:◎ 第一章 大难不死的男孩spa
.bt4 { font-family:"方正黑体_GBK"; text-align: left; margin:5em05em0; padding:0; font-size:1.3em; border:0; color:#49bbbb; }
p1 { /* 段落 */ display: block; text-intend:2em; margin:0.7em0; }
.initialraise { color: gray; font-size:2em; font-weight:bold; }
.initialsinking { font-size:1.618em; float:left; margin:5px; padding:3px; text-indent:0em!important; }
<spanclass="initialsinking ">听</span>说城里很热闹,笨狼就想去看看。
/** 多看 **/ sup img { line-height:1.2; width:1em; height:1em; margin:0; padding:0em; vertical-align: text-top; } li.duokan-footnote-item { font-family:"ht","微软雅黑","黑体","zw",sans-serif; text-align: left; font-size: small; line-height:1.2; padding:0px; } /** 原生 **/ .footnote { text-align: justify; text-indent:0em; line-height:110%; font-size:0.85em; font-family:"zw","宋体","明体","明朝",serif; }
<aid="ref_footnotebookmark_start_1_1"></a><spanstyle=" font-size:0.75em; vertical-align:super;"><ahref="#ref_footnotebookmark_end_1_1">注释编号</a></span>
<pclass="P_Footnote"id="ref_footnotebookmark_end_9_1"><spanstyle=" font-size:0.75em; vertical-align:super;"><ahref="#ref_footnotebookmark_start_9_1">①</a></span>注释的内容</p>
<sup><a class="duokan-footnote" href="#ref_footnotebookmark_end_1_1" id="ref_footnotebookmark_start_1_1"><img alt="" src="../Images/note.png" /></a></sup>
1 <ol class="duokan-footnote-content"> 2 <li class="duokan-footnote-item" id="ref_footnotebookmark_end_1_1"> 3 <p class="f"><a href="#ref_footnotebookmark_start_1_1">这里是注释</a></p> 4 </li> 5 </ol>
对于 ePub 的阅读,我的是很是很是推荐多看的,其缘由就是多看的规范支持不少 ePub 的“特效”,这点能够参考 http://www.miui.com/thread-1960799-1-1.html (多看电子书制做规范)