LEARN@IGP

Infogrid Pacific-The Science of Information

14

ePub3 Fixed Layout Configuration INI

The optional Fixed-layout Configuration INI file allows you to specify detailed spine properties, custom page sizes and include the AZARDI Interactive Engine. Updated: 2015-03-02

Format Overview

The IDPF Fixed Layout Specification defines the ability to change the layout of pages by applying spine metadata. This flexibility comes with the cost of complexity in design and understanding exactly how the book needs to behave in a compliant device.

Because the options are so fluid rather than presenting a forms like interface, IGP:Digital Publisher uses a Configuration INI page inserted at the end of the book. This can be applied on a Design Profile basis so it is possible to have multiple fixed layout designs specified.

The packaging processors read this page and update the applied metadata accordingly.

It is important to note the Configuration INI file only has to be used if you need variation in fixed layout between the pages.

The Configuration INI FX Section

This can be inserted from a template that contains the Fixed Layout INI Config. section. This has three very special selector properties in the section element:

<div class="ProcessingFixedLayout-rw dp-Default-rw exclude-print-rw">

These are all processing instructions.

  1. The first instructs Formats on Demand to use the information on this page if the user clicked a Fixed layout button.
  2. The second says use this set of instructions only for the default design profile.
  3. The third instructs the print format generator not to include this page in any print book.

The INI Format

The INI format is easy to create and work with if you know the few rules.

; The semi-colon denotes a comment line.

[Section] Square brackets denotes the start of a new section

name:value A property has a name: value structure.  A property must start at the beginning of a line. The name is delimited by a colon. All text on the line after that is the value.

You can split the values across multiple lines but they must never be aligned at the start of the line. They must be spaced in. This is very important.

name: can be left empty, but is must exist.

name:value Property lines can be repeated any number of times.

There can be any number of empty lines.

Here is the empty and basic IGP:Digital Publisher Fixed-layout INI file will all sections and properties included. These are explained below.

;EPUB3 FIXED LAYOUT CONVERTOR
;=========================
[common]
XHTML: 
CUSTOMXHTML: 
[idpf]
Declaration: 
metadata:  
spine: 
customspine:
    
[aie_inclusion]
include: yes|no
jquery:
getpath:
;XHTML:
jsinclude: 
jsexclude: 
[apple]
platform: * | ipad | iphone
fixed-layout: true | false
open-to-spread: true | false
orientation-lock: none | landscape-only | portrait-only
interactive: true | false
specified-fonts: false | true
guide:
guide_detail:

The INI File in Detail

[common] properties

;EPUB3 FIXED LAYOUT CONVERTOR
;=========================
[common]
XHTML: <meta name="viewport" content="width=1024, height=768"/>
CUSTOMXHTML: class=Cover-rw|id="Chapter04",<meta name="viewport" content="width=768, height=1024"/>;

[common] The [common] section contains two properties that define the page size setup information.

XHTML: This property value is the exact HTML metadata statement required to be inserted into the OPF metadata. In this you specify the width and height of the viewport.

CUSTOMXHTML: This property value lets you change page sizes based on the FX section class statements or a Section ID. If you want to use multiple custom sizes you can repeat this on multiple lines.

If values are set in these properties these will over-ride the values from the DPI form. You can leave them empty.

 [idpf] Properties

[idpf]
Declaration: prefix="rendition: http://www.idpf.org/vocab/rendition/#"
metadata:  <meta property="rendition:layout">pre-paginated</meta>
           <meta property="rendition:orientation">landscape</meta>
           <meta property="rendition:spread">none</meta>
spine: properties="rendition:layout-pre-paginated rendition:orientation-landscape rendition:spread-none"
customspine:
    filename=Glossary.html | class=Cover-rw | id=contents,properties="rendition:layout-reflowable rendition:orientation-landscape rendition:spread-none";
    filename=Title.html,properties="rendition:layout-pre-paginated"

[idpf] This section contains the fixed-layout presentation instructions as defined by the specification.

Declaration: This must be the exact text that is to be inserted into the XML declaration. This cannot be changed or removed.

metadata: There are up to three metadata properties that can be included. These are identical to the three options on the DPI form. See here for the allowed valued.

spine: This property allows a global set of properties to be applied to all of the pages in the OPF spine. The same properties are applied to all. This is particularly useful for specifying Right-To-Left rules which are only available through insertion in the spine. The syntax must be the correct and exact attribute-value pair(s) as defined by the specification.

customspine: This property allows specific spine details to be specified by specific filename (if known), FX Section class or a specific ID. The property can be repeated many times but each line must be spaced from the left margin. The syntax of each line must be the correct and exact attribute-value pair(s) as defined by the specification.

 [aie-inclusion] Properties

[aie_inclusion]
include: yes|no
jquery:
    https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js,
    https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js
getpath: http://aie.infogridpacific.com/js/
files:
    igp_audio.js,
    pubsub.js,
    aie_core.js,
    aie_explore.js,
    aie_qaa.js,
    aie_textsound.js,
    aie_storyline.js,
    aie_events.js,
    aie_gameutils.js,
;XHTML:
jsinclude: all | filename=page1.xhtml | class=AboutThePublisher-rw | id="glossary"
jsexclude: TOC.xhtml

[aie_inclusion] The AZARDI Interactive Engine (AIE) can be included into the package to create interactive products. Support for this must be tested on all target devices. AIE is natively included in all AZARDI readers.

include: yes|no Specify whether the AIE is included in the package. This matches the checkbox option in ePub3 packaging in the DPI interface.

jquery: Specify the location of the JQuery libraries and version that must be packaged. You must use the version published by Infogrid Pacific. Note the path statements must not touch the left edge of the page.

getpath: Specifies the location from which AIE can be packaged.

files: The exact list of Javascript files that must be loaded. Depending on the functionality you are using various combinations can be loaded. However it is recommended that you always load all files.

;XHTML: A separating comment.

jsinclude: Specify which pages have the javascript embedded in the headers. You can specify all, filenames, an FX Section Class statement or an FX section ID.

jsexclude: If you specify all you can provide a list of pages that are excluded from getting the javascript links in the HTML head. This is a useful shortcut if your book is mostly interactive with just a few pages that are not interactive.

[apple] Properties

[apple]
platform: * | ipad | iphone
fixed-layout: true | false
open-to-spread: true | false
orientation-lock: none | landscape-only | portrait-only
interactive: true | false
specified-fonts: false | true
guide:<reference type="cover" title="Cover" href="$HREF$"/>,<reference type="text" title="Story start" href="$HREF$"/>
guide_detail:class=Cover-rw,id=Chapter04

[apple] This section allows you to specify the apple properties if you are creating an iBook fixed-layout or hybrid fixed-layout book. These options conform to the Apple documentation.

The properties here are largely self explanatory except for the last two.

guide: This is an ePub2 guide block that must be created and inserted into the ePub3, effectively making it an ePub3+2 transitional format. The apple requirement is that it must contain the cover, and start reading page.

guide_detail: You can specify the files to be included in the guide by FX section selector class name, or by a specific section ID.

comments powered by Disqus