安卓系统上可以阅读 ePub 格式文件的阅读器有不少,但是能够完美支持 CSS 各种效果的,那可就寥寥可数了。

在网上搜寻了大半天,最终发现 Mantano 这个阅读器不错。不过,若想得到多字体的显示效果,还得自己再更进一步。经过一番探索后,如下是个人的一些心得,记录下以备忘。

根据老牛的资料,Mantano 的默认资源根目录是 /sdcard/Mantano/,这样可以首先创建一个字体目录 /sdcard/fonts/,然后将需要用到的字体放在此处,如 /sdcard/fonts/KaiTi.ttf/sdcard/fonts/YouYuan.ttf 等,再在 ePub 文件的 CSS 文件中引用即可。

示例代码如下,其中示例文件来自于此处

首先是样式文件 file.epub/OEBPS/Styles/style.css

@font-face {
    font-family: "KaiTi";
    src:
    local("楷体"),
    /* 下一句关键,因为 Mantano 阅读器以 /sdcard/Mantano/ 目录作为根目录 */
    url(res:///../fonts/KaiTi.ttf);
}

@font-face {
    font-family: "YouYuan";
    src:
    local("幼圆"),
    url(res:///../fonts/YouYuan.ttf);
}

/* 诗 */
.Shi {
    margin: 0 0 0 2em;
    font-family: "KaiTi", serif;
}

/* 词 */
.Ci {
    margin: 0 0 0 2em;
    font-family: "YouYuan", serif;
}

在文章中使用该样式时,如文件 file.epub/OEBPS/Text/Chapter002.html

<p>...</p>

<p>词曰</p>

<p class="Ci">芙蓉面冰雪肌生来娉婷年已笄袅袅倚门余梅花半含蕊似开还闭初见帘边羞涩还留住再过楼头款接多欢喜行也宜立也宜坐也宜偎傍更相宜</p>

<p>...正是</p>

<p class="Shi">落花有意随流水流水无情恋落花</p>

<p>...</p>

好了,现在将修改后的文件传到手机上用 Mantano 打开试试吧。示例文件的示图如下:

示图1

示图2

(完)


参考资料:

  1. Android epub唯美阅读:mantano的解决方案