# DITA Open Toolkit Release 1.5.4

Parent topic: DITA Open Toolkit User Guide

## General Enhancements and Changes

### Configuration file for defaults

In previous versions, lib/configuration.properties was generated by integration process. Integration has been changed to generate lib/org.dita.dost.platform/plugin.properties and the role of the old lib/configuration.properties has been changed to contain defaults and configuration options, such as default language.

### Plug-in extension point for file extension configuration

New plug-in extension points have been added allow configuring DITA-OT behaviour based on file extensions.

Extension point | Description | Default values
--- | --- | ---
`dita.topic.extension` | DITA topic | .dita, .xml
`dita.map.extensions` | DITA map | .ditamap
`dita.html.extensions` | HTML file | .html, .htm
`dita.resource.extensions` | Resource file | .pdf, .swf

Both HTML and resource file extensions are used to determine if a file in source is copied to output.

New plug-in extension point has been added to allow declaring transtypes as print types.

Extension point | Description
--- | ---
`dita.transtype.print` | Declare transtype as a print type.

### Strict integration mode

Two modes have been added to integration process: lax and strict. In strict mode the processing will fail if any errors are encountered. In lax mode an error message may be thrown for an error and the integration process will try to run to the end, even if there are errors that were unrecoverable. The default mode is lax.

Note: In lax mode, even if the process runs to the end and reports a successful result, DITA-OT may not be able to function correctly because of e.g. corrupted plug-in files or unprocessed template files.

### Code reference charset support

Encoding of the code reference target file can be set using the `format` attribute, for example

    <coderef href="unicode.txt" format="txt; charset=UTF-8"/>

### Plugin URI scheme

Support for plugin URI scheme has been added to XSLT stylesheets. Plug-ins can refer to files in other plug-ins without hard coding relative paths, for example

    <xsl:import href="plugin:org.dita.pdf2:xsl/fo/topic2fo_1.0.xsl"/>

### PDF

Support for mirrored page layout has been added. The default is the unmirrored layout.

The `args.bookmap-order` property has been added to control how front and back matter are processed in bookmaps. The default is to reorder the frontmatter content as in previous releases.

A new extension point has been added to add mappings to the PDF configuration catalog file.

Extension point | Description
--- | ---
`org.dita.pdf2.catalog.relative` | Configuration catalog includes.

Support for the following languages has been added:

- Finnish
- Hebrew
- Romanian
- Russian
- Swedish

PDF processing no longer copies images or generates XSL FO to output directory. Instead, the temporary directory is used for all temporary files and source images are read directly from source directory. The legacy processing model can be enabled by setting `org.dita.pdf2.use-out-temp` to `true` in configuration properties; support for the legacy processing model may be removed in future releases.

Support for FrameMaker index syntax has been disabled by default. To enable FrameMaker index syntax, set `org.dita.pdf2.index.frame-markup` to `true` in configuration properties.

A configuration option has been added to disable I18N font processing and use stylesheet defined fonts. To disable I18N font processing, set `org.dita.pdf2.i18n.enabled` to `false` in configuration properties

### XHTML

Support for the following languages has been added:

- Indonesian
- Kazakh
- Malay

## Migration from previous releases

The `print_transtypes` property in integrator.properties has been deprecated in favor of `dita.transtype.print` plug-in extension point.

The `dita.plugin.org.dita.*.dir` properties have been changed to point to DITA-OT base directory.

### PDF

Support for mirrored page layout was added and the following XSLT configuration variables have been deprecated:

- `page-margin-left`
- `page-margin-right`

The following variables should be used instead to control page margins:

- `page-margin-outside`
- `page-margin-inside`

XSLT Parameters `customizationDir` and `fileProfilePrefix` have been removed in favor of `customizationDir.url` parameter.

A new shell stylesheet has been added for FOP and other shell stylesheets have also been revised. Plug-ins which have their own shell stylesheets for PDF processing should make sure all required stylesheets are imported.

Font family definitions in stylesheets have been changed from Sans, Serif, and Monospaced to sans-serif, serif, and monospace, respectively. The I18N font processing still uses the old logical names and aliases are used to map the new names to old ones.

## SourceForge trackers

### Feature requests

- 3333697 Add strict mode processing (Milestone 1)
- 3336630 Add resource file extension configuration (Milestone 1)
- 3323776 Base HTML stylesheets (Milestone 1)
- 3355860 Enable defining code ref target encoding (Milestone 1)
- 3393969 Make default TocJS output more usable (Milestone 3)
- 3394708 cfg/catalog.xml should be an extension point (Milestone 4)
- 3411030 Add args.fo.userconfig to PDF2 (Milestone 5)
- 3411961 Change margin-* to space-* property (Milestone 5)
- 3412144 Add FOP specific shell to PDF2 (Milestone 5)
- 3413215 Add schemas for PDF2 configuration files (Milestone 5)
- 3414416 Support bookmap order in PDF2 front and back matter (Milestone 5)
- 3413933 Fix inconsistencies in PDF2 page headers (Milestone 5)
- 3418877 Mechanism to refer to other plug-ins in XSLT (Milestone 5)
- 3411476 Add extension point for print type declaration (Milestone 6)
- 3392891 Copy the graphic files to the temporary folder (Milestone 6)
- 3429290 Remove unused Apache Commons Logging JAR (Milestone 6)
- 3434640 Add XHTML NLS support for Indonesian, Malay, Kazakh (Milestone 6)
- 3435528 Add base configuration file (Milestone 7)
- 3432219 Refector dita.list read and write (Milestone 7)
- 3401849 PDF2: runtime switch for localization post-processing (Milestone 7)
- 3438361 Add "tocjs" transform to demo script (Milestone 7)
- 3341648 Clean HTML and XHTML stylesheets (Milestone 8)
- 3343562 Java clean-up (Milestone 8)
- 3346094 Improve test coverage (Milestone 8)
- 3372147 Improve logging (Milestone 8)
- 3373416 Refactor PDF attribute sets (Milestone 8)
- 3376114 Improve PDF page layout configuration (Milestone 8)
- 3415269 Support for more languages in the PDF transform (Milestone 8)
- 3412211 Refactor PDF index stylesheet for XSL 1.1 support (Milestone 8)
- 3425838 General PDF2 improvements (Milestone 8)
- 3428152 General I18N improvements (Milestone 8)
- 3429390 General XHTML improvements (Milestone 8)
- 3438790 Clean up build_demo script (Milestone 8)
- 3440826 Dutch patch for feature request 3415269 (Milestone 8)
- 1785391 Make Java code thread-safe (in progress)

### Patches

- 2963037 PDF changes to fix index rendering of colon (bug 2879196) (Milestone 7)

### Bugs

- 2714699 FO plug-in doesn't support specialized index elements (Milestone 1)
- 2848636 Duplicate key definitions should produce info messages (Milestone 1)
- 3353955 Frontmatter child order is not retained in PDF2 (Milestone 1)
- 3354301 XRef with conreffed phrases not properly generate HTML link (Milestone 1)
- 3281074 Bad attribute being applied to fo:bookmark-title element (Milestone 2)
- 3344142 Conref Push order of validation (Milestone 2)
- 3358377 Cryptic error message when DITA Map has "bookmap" extension (Milestone 3)
- 3384673 ODF transtype no longer embeds images in output (OT 1.5.3) (Milestone 3)
- 3394000 TocJS needs cleanup for several minor bugs (Milestone 3)
- 3392718 TOCJS sample should not require ant target (Milestone 3)
- 3389277 DocBook transform redundantly nests Related Links (Milestone 3)
- 3105339 '<' and '>' characters in a title cause tocjs trouble (Milestone 3)
- 3104497 tocjs JavaScripts don't work in Japanese environment (Milestone 3)
- 3394130 Remove outdated developer documentation (Milestone 3)
- 3397165 chunk on topichead not honored (Milestone 4)
- 3397501 Custom reltable column headers are reversed (Milestone 4)
- 3397495 Relcolspec with <title> does not generate link group headers (Milestone 4)
- 3399030 <ph> Elements not flagged with alt-text in HTML output (Milestone 4)
- 3396884 NPE in EclipseIndexWriter.java<Merges,setLogger for AbstractIndexWriters (Milestone 4)
- 3398004 -d64 flag to JVM not allowed for Windows JVMs (Milestone 4)
- 3401323 Fix PDF nested variable handling (Milestone 4)
- 3401721 Processing broken for <topicsetref> elements (Milestone 4)
- 3404049 Setting of clean_temp is backwards (Milestone 4)
- 3386590 Product name repeated hundreds of times in PDF (Milestone 4)
- 3405417 Shortdesc output twice when using abstract (Milestone 4)
- 3402165 wrong image output dir if using generate.copy.outer=2 (Milestone 4)
- 2837095 Positions of index and TOC in bookmaps are ignored (Milestone 5)
- 3414826 DITA OT not handling image path with chunking turned on (Milestone 5)
- 3411767 Not so meaningful messages given by ImgUtils (Milestone 5)
- 3405851 Incorrect entry@colname in merged XML with row and colspan (Milestone 5)
- 3406357 Custom profiling issue (Milestone 5)
- 3413203 Remove references to OpenTopic in PDF2 (Milestone 5)
- 3414270 @props specialization not used in map (Milestone 5)
- 3383618 Attribute 'link-back' cannot occur at element 'fo:index-key (Milestone 5)
- 3418953 Scale computation for XHTML uncorrectly looks up images (Milestone 6)
- 3413229 onlytopic.in.map & symlink (Milestone 6)
- 3423537 Additional line breaks in <menucascade> should be ignored (Milestone 6)
- 3423672 Problems with refs to images outside the DITA Map directory (Milestone 6)
- 2879663 indexterm/keyword causees NullPointerException (Milestone 7)
- 2879196 Colon character in <indexterm> causes nesting in output (Milestone 7)
- 3179018 Indexterm with only nested subelement results in NPE (Milestone 7)
- 3432267 Task example title processing incorrect for PDF (Milestone 7)
- 3430302 Unitless images sizes in throw errors (Milestone 7)
- 3429845 No variables for Warning (Milestone 7)
- 3428871 topicmerge gives incomplete topicref when reference or topic (Milestone 7)
- 3132976 Duplicate index text in index page (Milestone 7)
- 2795649 Java topicmerge ignores xml:lang (Milestone 7)
- 3431798 Relative CSS paths incorrectly computed for @copy-of (Milestone 7)
- 3438421 Remove transtype default (Milestone 7)
- 2866342 Nested see also is ignored (Milestone 8)
- 1844429 PDF2: Non-DITA link broken unless marked external (Milestone 8)
- 3270616 "lcTime" not displayed in PDF output (Milestone 8)
- 3388668 Data in figure captions not suppressed in xrefs (Milestone 8)
- 3429824 topicmerge gives wrong topicref with nested topics (Milestone 8)
- 3414332 PDF2 variable string translations missing (Milestone 8)
- 3323806 Improve Java logging and exception handling (Milestone 8)
- 3426920 Image files not copied or referenced correctly for eclipse (Milestone 8)
- 3445159 entry/@colname has been removed! (Milestone 8)
- 3447732 Bug in handling of longdescref (Milestone 8)
- 3452510 Ant parameter customization.dir not documented anywhere (Milestone 8)
- 3451621 Revisions on <plentry> use wrong image for nested <pd> (Milestone 8)