ePub格式是否仅支持HTML的部分子集?ePub阅读器开发相关问询
ePub阅读器开发相关疑问
我正计划开发一款ePub阅读器。目前我接触过的所有ePub文件看起来都十分简单:仅包含文本段落、大字号标题以及矩形插图,因此我此前认为ePub仅提供了简单的文本内容描述能力。
但我发现ePub文件内包含大量HTML和CSS内容。我打开过一份ePub样例,其内容使用带class属性的<p>标签承载。这是否意味着ePub本质上类似网站归档文件?创作者可以使用HTML网站开发中用到的各类高级格式/布局特性?如果是这样,我开发ePub阅读器就需要实现完整的网页浏览器能力。
还是说ePub中允许使用的HTML存在限制,仅支持特定的HTML标签和属性,类似在线论坛中允许使用的HTML范围?
补充说明
发布该问题后我自行做了调研,初步结论为前者。我试用了安卓应用市场中多款知名ePub阅读应用,它们的GUI表现都比较特殊(大概率是非原生实现)。目前没有判断应用是原生还是web-app的绝对方法,但我通过开启布局边界的技巧测试发现,这些应用的ePub阅读视图内部不存在布局边界,说明其大概率使用了web-view实现。
我在GitHub上搜索ePub阅读器项目,发现相关项目普遍使用JavaScript或web-view实现,包括多款开源安卓ePub阅读器。
因此我推测,这类ePub应用仅负责解析ePub格式的元数据文件,书籍内容本身的渲染完全交给web-view处理,再通过JavaScript框架在web-view上叠加交互UI。
如有更专业的见解,欢迎指正。
内容的提问来源于stack exchange,提问作者Damn Vegetables
相关产品推荐
相关产品推荐

