Released 20 August 2019

Release Notes

Fixed Binary Jar contains a malfunctioning pom.xml (it refers to a parent project)
Fixed Example source required unit tests for WMF images which is not included
New Check for empty text in addStyledTexts() (this makes the post processing class StripWhitespaceSpanNodes obsolete)
New Check for span attributes in prepareHyperlinkElement() (this makes the post processing class StripAttributeLessSpanNodes obsolete)
New Remove references to obsolete post processing classes in addDefaultListeners()
New Deprecate all obsolete post processor classes and the com.scroogexhtml.tidy package
New Deprecate addDefaultListeners() because all post processing classes are no longer used
Fixed Setting the ConvertHyperlinks property to false has no effect
Fixed Removed ReplaceMonospaceBlanks post process listener as it had side effects (e.g. missing hyperlinks), and is obsolete
New Post process listener ReplaceEmptyParagraphNodes is no longer included in the addDefaultListeners() method. Its functionality is already covered more efficiently in the core conversion routines.
New Post process listener ReplaceMonospaceBlanks is no longer included in the addDefaultListeners() method. Its functionality is already covered more efficiently in the core conversion routines.
New Avoid throwing IOException to exit the main conversion loop
New Internal code improvements
Fixed Pictures which are tagged with the \nonshppict token are not included in the conversion
Fixed Removed needless test for binary data flag FN_BIN
New Include code coverage tests
New Include tests for ReplaceEmptyParagraphNodes, ListHeaderInfo, DefaultFontStatistics
Fixed Example post processing class MergeBorderDivNodes does not merge div nodes because it searches for 'border-style'
New Adjusted image support code for WMF to PNG image conversion example
New Added WMF to PNG conversion example code using Apache Batik
Fixed Fixed Checkstyle warnings
Fixed Fixed support for Java 11 in Base64Utils
Fixed Fixed support for Java 11 in integration tests
Fixed Upgraded all tests from JUnit 3 to JUnit 4
New Paragraph border color conversion
New Paragraph border width conversion
New Table border width conversion
Fixed [2491] Avoid hard exit on missing cell definitions
New Moved package to com.scroogexhtml
New Tested with Oracle JDK 8 and Oracle OpenJDK 11 on Windows and Linux, requires Java 8 or newer
New New FontStatistics property / FontStatisticsCollecting interface
New New FontReplacer property / FontReplacing interface
New Improved table cell border conversion
New Improved paragraph border conversion
New Removed deprecated properties and methods getISO8601DateTime, getStyleSheetLink, setCompatibleDefaults, useListTable, metaDate
Fixed [2435] ConvertIndent default value is false
Fixed [2389] Fixed a color conversion bug
New Added support for multiple external style sheets (property StyleSheetLinks), the StyleSheetLink property is now deprecated
New Changed finishColortableEntry() to improve conversion speed
New Changed removeHtmlTags() to improve conversion speed
New Updated izpack installer to version 5.1.3
New Removed unused methods
Fixed Fixed Findbugs/Spotbugs warnings
New Added support for vertical alignment in table cells
New Standalone XHTML documents begin with a XML declaration if the charset is not UTF-8
New Table conversion uses the class="table table-bordered" attribute (instead of border="1") to indicate that the table is bordered. This fixes the W3C HTML validator warning "The border attribute on the table element is presentational markup". Applications which still require the border="1" attribute may enable it with setOutputProperty(ConversionKeys.USE_TABLE_BORDER_ATTRIBUTE, "yes");
New Removed the enclosing <!-- ... --> around the CSS code within the <style> element for standalone documents
New Removed the attribute type="text/css" for the <style> element for standalone HTML5 documents. This fixes the W3C HTML validator warning: "The type attribute for the style element is not needed and should be omitted".
New Changed BODY {... to lowercase body {... in auto-generated CSS code
New The <style> element includes comments before auto-generated and custom styles
Fixed Fixed Findbugs warnings for non-transient non-serializable instance fields in MemoryPictureAdapter and ListHeaderInfo class
Fixed Fixed Findbugs warnings for reliance on default encoding in com.habarisoft.scroogexhtml.ScroogeXHTML.convert
Fixed Fixed Findbugs warnings for casting and passing to ceil in com.habarisoft.scroogexhtml.converter.AbstractWriter.getFontSizeStyle
Fixed Fixed Findbugs warnings for casting and passing to ceil in and getWGoalPx
Fixed Fixed Findbugs warnings with medium severity
New Added support for five character encodings, including MacRoman
New Added support for non-breaking hyphen (RTF token \_)
New Improved conversion of 'Symbol' font
New As a side effect of enhanced 'Symbol' font conversion, bullet list conversion now (correctly) emits &bullet; instead of &middot;
Fixed Emit the HTML bullet character \u2022 or &bull; for RTF token '\bullet' instead of &middot
New Added option to disable paragraph border conversion
New Improved algorithm for ConvertEmptyParagraphs
New Improved Unicode support for Japanese text
New Improved initialization speed of DOM tree transformation
New Improved detection of for outer table border
New Experimental support for a multilevel numbering writer
New Experimental support for uppercase and lowercase roman numbers
New Experimental support for \*\pn paragraph numbering
New ConvertFootnotes default value changed to false
New Experimental UseListTable property is deprecated, use setOutputProperty(ConversionKeys.SUPPORT_LIST_TABLE}, 'yes');
New UseListTable property default changed to false
New Removed ProgressListener properties
New Removed detection of hyperlinks based on blue/underlined text format
New Removed MetaDateAuto property
New Removed default creation of post process listeners
New Added ScroogeXHTMLMain.addDefaultListeners() method for backward compatibility
Fixed Always hide all hidden text (even if ConvertFontStyle is false)