While generating a class name from a style name, InDesign now generates a fully qualified class name: <style group name>_<style name>.
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.
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.
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.
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.
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 number has been added to the generator metadata:
<meta name=”generator” content=”Adobe InDesign 9.0” />
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 |
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” |
The Keeps Option “Start 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.
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.
EPUBCheck has been changed to accept the embedded font format as being acceptable for iBooks Reader.
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.
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.