Date of release: 2017-08-30


The following enhancements were applied in this build.

PDF document attachments

(bug 3009) Additional documents can be attached to a PDF by setting the pdf.attachment-file.N metadata value to the path of the file to be attached, where N is 1 for the first attachment, 2 for the second and so on.

Document restrictions on restructuring repository

(bug 3117) Restrictions that apply when restructuring a TopLeaf repository are described in Limitations - Repository.

Processing HTML table frames and rules in secondary transformed output

(bug 3124) The processing of HTML table border and rules attributes within secondary transformed output has been improved.

Positioning combining characters

(bug 3127) Combining characters are horizontally centred and positioned vertically above or below the adjacent base character when processing Latin, Greek, and Cyrillic scripts.

Manual leaf inclusion using the API

(bug 3128) In a full looseleaf partition, manual leaf inclusion forces an unchanged leaf into an update. You can use the TopLeaf workstation to manually include individual leaves, or use the TopLeaf API to assign the inclusion status for one or more leaves declared in a leaf list file.

Bug Fixes

The following bug fixes were applied in this build.

Unexpected timeout when mapping a processing instruction

(bug 1466) A processing instruction was mapped and the content assigned as a set of attributes. The composition engine timed out if the length of the mapped processing instruction exceeded 32,000 characters.

Missing hyphen if leaf break occurs at end of recto page

(bug 3120) A full looseleaf partition was initialised from an existing set of leaf boundaries. An initial leaf boundary was positioned within a hyphenated word at the end of the front page of a leaf. When the leaf was included in a subsequent update, the hyphen at the end of the leaf was not rendered. To correct this problem, you may need to reapply the initial leaf split.

Non-ASCII attribute values caused problems in Mapping Assistant

(bug 3121) An invalid mapping was created if a mapping attribute selector referenced an attribute value that contained a non-ASCII character. After creating the mapping, the Mapping Assistant indicated that the mapping did not exist.

Format of roman numeral folio is incorrect

(bug 3122) In a full looseleaf partition, the page folio format was set to XII/9/9 and a user defined folio level separator was declared. In some circumstances, the folio was formatted incorrectly.

Cannot set user defined level separator if first leaf is a point page

(bug 3123) A full looseleaf partition was initialised from an existing set of leaf boundaries. The first leaf in the partition was a point page, and a user defined level separator was declared. The TopLeaf composition engine reported an unexpected error.

Unexpected TopLeaf GUI "Copy To" level behaviour

(bug 3125) The TopLeaf workstation Copy To... command creates a duplicate of a selected repository level or partition. In some circumstances, the TopLeaf GUI crashed when an attempt was made to copy a partition or level into a different parent folder.

Stylesheet compiler

(bug 3130) The stylesheet compiler now inspects the publication directory when testing if compiled files are up to date.

RTL content rendering

(bug 3131) Some additional presentational forms are now applied. See also Implementation - RTL processing.

Missing Java run time not reported when creating PDF

(bug 3132) TopLeaf API function calls that create a PDF now check for and report a missing Java run-time.

Error processing custom table

(bug 3133) TopLeaf failed to process a custom table if the length of a table row exceeded 32,000 characters.

Unexpected vertical spreading between table rows

(bug 3134) Table row splitting was enabled and the content of a full page was permitted to be vertically spread. Vertical spreading was incorrectly applied between the rows of a table.

Footnotes missing if sidenote anchored to start of paragraph

(bug 3135) A paragraph declared a page footnote and a sidenote, and the sidenote anchor line was set to the start of the paragraph. All notes declared after the sidenote were not rendered.