Epub Fixed Layout


*** 描述
** 引言
EPUB 3 允许其内容是固定版式文档(Fixed-Layout Document),也就是页面内容位置大小固定,不可重排。
以下将固定版式文档简称为“版式文档”,而可重排文档(Reflowable Document)简称为“流式文档”。

** 文档结构
epub 版式文档的内容文档可以是XHTML、SVG、位图,后两者不必包含在XHTML中。
内容文档一般是每页一个独立文件,每页的文档应该在spine中列举。

规范似乎没有强制要求每页一个独立文件,似乎可以将多个页放在一个html中,然后用html片段url来指向它们。
规范似乎并没有明确说manifest中的URI不能仅仅是片段部分不同。不过,不清楚这种做法能否被reader支持。

** OPF 中的描述

  • 例子
... pre-paginated landscape none

...

根元素 package 的 prefix 属性定义了命名空间前缀rendition,不过这个不是xml命名空间,而是用于meta property、item properties、itemref properties等属性的值的。

rendition的意思是翻译,但这里的意思更接近“版本”。

metadata中3个rendition:属性表明,这是个固定版式的(预先分页的,pre-paginated)书,
并且是横版(landscape)。

  • layout
    rendition:layout 的值可以是 reflowable 或 pre-paginated,表明一本书是流式还是版式,默认值是 reflowable。
    metadata中的这个属性可以被 spine/itemref 的 rendition:layout 属性覆盖,表示个别内容文档采取流式还是版式排版。

  • orientation
    作者希望采取的屏幕方向。可以是 landscape | portrait | auto。这也可以被 spine/itemref 的 rendition:orientation 覆盖。
    默认值是auto,意思是未指定方向。

  • spread
    rendition:spread 的意思是“展开”,表示怎样在一个屏幕上并列显示两个相邻的页面,以下简称“并列显示”。其值可以是:
    none:不要并列显示。
    landscape:仅当屏幕横置时并列显示。
    portrait:仅当竖屏时并列显示。
    both:总是并列显示。
    auto:让阅读器选择是否并列显示。这是默认值。

metadata中的设置的spread是全局的,在spine的itemref元素中,可以用 rendition:spread 属性加以覆盖,值仍然是上面那些。

spine page-progression-direction 表示翻页的方向,对应纸书的装订方向。如果同时使用了spread,这个会影响并列时哪一页在左边。其值可以是ltr或rtl。

翻页方向也可以用spine的itemref元素的 properties 属性的 rendition:page-spread-* 加以覆盖。其中*部分可以是:
center:本页不并列,居中显示。
left:本页位于左边。
right:本页位于右边。

page-spread-*不限于用于版式文档,也可用于流式文档。

  • 在spine/itemref中rendition:*属性的写法
    就是把属性名和值之间用-连接,放到properties的值中。例如
    rendition:layout=”reflowable” 的写法是:
    <itemref … properties=”rendition:layout-reflowable”/>

** 内容文档的视口尺寸

  • XHTML
    使用meta viewport,单位是CSS像素。

  • SVG
    使用viewBox属性,单位还是CSS像素。

  • 位图
    把图像的物理像素当成CSS像素,作为视口尺寸。

*** 参考
** 规范
EPUB 3 Fixed-Layout Documents
http://www.idpf.org/epub/fxl

** 分析

** 样书及其制作

*** 软件
** Reader

** Editor


文章作者: HKmaster
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 HKmaster !
评论
  目录