隨着大數據時代的到來,多種移動閱讀終端方興未艾 —— 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 (多看電子書製做規範)