EPUB enhancements in InDesign CC

Style to class name mapping

While generating a class name from a style name, InDesign now generates a fully qualified class name: <style group name>_<style name>.

Style class ownership - handling of CSS class name collisions

If you map two styles to the same class name, it results in a conflict when you decide to generate the CSS for the associated document. InDesign now flags a warning and displays a message about the conflict while exporting.

CSS class name collision

Clean markup for Ordered/Numbered Lists

The generated markup for “Map to Unordered List” and “Map to Ordered List” options under the EBook Export > General > Text Options are now free from any extra classes. InDesign no longer inserts any characters or creates any spans, and lets the browser or device be responsible for composing the lists.

Improved heuristic for determining bullet and numbering structure

The heuristic for determining bullet and numbering structure has been improved significantly to detect the semantic structure of the bullets and numbers, and properly expressing it in the HTML.

For bullets:

  • InDesign treats two paragraphs which share ALL the same bullet related attributes, including left indent, as being part of the same list.
  • A paragraph which is not a bullet but follows a bullet paragraph and has the same left indent, is now considered a “nested” paragraph and becomes part of the list.

For numbers:

  • As designers can set the attribute for the “List” that it is part of, this setting has the highest priority relative to left indent or different number related attributes.
  • Although InDesign supports setting the value attribute on the tag, it is not possible to express a numbered list, which crosses Table and Story boundaries, in HTML.

For correct numbering, export to EPUB 3.0.

Static ordered list removed from EPUB export

As InDesign now offers a true (stripped) markup to lists respecting the starting number values, the Static Ordered List option is removed from the EPUB Export dialog.

Improved HTML markup and CSS for Convert To Text list Export option

The HTML markup and CSS of the “Convert To Text” export option has been improved. InDesign now inserts necessary bullet or number characters and overrides styling so that the overall look of the list option remains close to how it looks in InDesign.

Version string metadata

Version number has been added to the generator metadata:

<meta name=”generator” content=”Adobe InDesign 9.0” />

Improved naming convention of CSS classes to match their purpose

InDesign generates various extra classes for the purposes of improving the visual fidelity and conceptual mapping between InDesign and EPUB.

The classes are now renamed to match and clarify their purpose.

Generated CSS Class Prefix Description
CharOverride-# Mapping of user applied Character Attribute override to CSS properties
ParaOverride Mapping of user applied Paragraph Attribute override to CSS properties
TableOverride-#
Mapping of user applied Table Attribute override to CSS properties
CellOverride-#
Mapping of user applied Cell Attribute override to CSS properties
ObjectOverride-#
Mapping of user applied Object (PageItem) Attribute override to CSS properties
_idGenParaOverride-#
Deal with CSS property inheritance (such as left indent)
_idGenCharOverride-# Deal with CSS property inheritance (such as point size)
_idGenDropcap-# Make the Dropcap look more like ID
_idGenBNMarker-# Make the Bullet & Number characters look more like ID
_idGenRuby-# Alter the Ruby CSS
_idGenStoryDirection Support story direction
_idGenTableRowColumn Support alternating table strokes and fills
_idGenPageitem-# Carry the width and height of the PageItem/Object

CSS generated for Japanese ruby tag

InDesign now generates a separate CSS rule containing just the ruby related attributes.

Scripting support for EPUB book export

The scripting support was not available in CS6, and it is available now.

New export warning or error message dialog

The new dialog makes it easier to read multiple warning or error messages from the export.

Improved mapping of bullet character to list-style-type property

If any Unicode value is found other than the listed ones in the table below, the CSS will not specify it and leave it to the device or browser default (typically “disc”).

ID Unicode value
CSS Property
0x2022 (bullet)
“disc”
0x25CB (white circle)
“circle”
0x25A0 (black square)
“square”

The various InDesign numbered list types are now mapped to the CSS properties as listed in the table below.

ITextAttrNumberingStyle
CSS Property
1,2,3,4
“decimal”
01,02,03,
“decimal-­‐leading-­‐zero”
I, II, III, “upper-­‐roman”
i, ii, iii, “lower-­‐roman”
A,B,C,D “upper-­‐alpha”
a,b,c,d “lower-­‐alpha”
001,002,003, “decimal-­‐leading-­‐zero”
0001,0002,0003, “decimal-­‐leading-­‐zero”

Break-before property mapping

The Keeps OptionStart Paragraph” attribute is now mapped correctly to a valid CSS property. Any value for this attribute other than ‘kStartAnywhere’ is mapped to 'pagebreak-before:always'.

Break characters remain unsupported at this time.

Access to iBooks reader device fonts

iBooks Reader supports a wide number of device fonts (http://iosfonts.com/), and these fonts are not enabled by default when referenced via @font-face unless the special XML option file META-INF/com.apple.ibooks.display-options.xml is added to the package.

Now the option file is added to both the EPUB2.0 and EPUB3.0 packages.

Font embedding on iBooks reader now supported

EPUBCheck has been changed to accept the embedded font format as being acceptable for iBooks Reader.

‘EPUB 3.0 with Layout’ option removed from EPUB export

As the DPS Reader has decided not to support this format, the ‘EPUB 3.0 with Layout’ option is removed from the EPUB Export dialog box.

Mapping paragraph keeps attributes to CSS paragraph properties

Paragraph Attribute CSS Property
Keep With Previous page-break-before:avoid
Keep All Lines Together orphans: 99
Keep First N orphans: #
Keep Last N window: #
Keep With Next N page-break-after:avoid

In a previous change, the Start Paragraph was mapped to the CSS property 'page-break-before:avoid'. Since this attribute and Keep With Previous share the same mapped property, in cases of conflict, the Start Paragraph will win, as it does in InDesign.

Opomba:

Mapping of Keep With Next N ignores any values other than one. Also, break characters (goto Next N) remain unsupported at this time.

Support for more than one CSS class name in 'Style To Tag/Class' fields of paragraph, character, and object styles

Multiple Class names must be separated by one or more spaces, and the first Class name will be used to generate the CSS for Style, if Emit CSS is enabled for this Style.

For example, a Paragraph Style that says:

Class: InDesign is the best

Results in:

<p class=”InDesign is the best”>foo</p>

p.InDesign {…}

The intention of this feature is to allow designers to override or extend CSS properties via the “Additional CSS File” mechanism in the Advanced tab of the EPUB Export dialog.

No additional checking is done for the values specified and during export InDesign simply carries them along for the purposes of markup and otherwise ignores them.

Empty <p> and <li> ranges are removed

Empty Paragraphs in InDesign are not empty – they contain a carriage return and are composed with vertical height.

In HTML, InDesign maps Paragraphs to <p> and <li> tags as appropriate and the carriage return is not part of the mapping that can lead to empty tags.