Released 29 May 2021

Release Notes

9.3.0released 29 May 2021
Fixed Fallback to the original picture dimensions if the RTF does not specify the desired picture dimensions
New Added complimentary code for WMF picture conversion using an external converter (not included) to the complimentary class MemoryPictureAdapterDataURI.
New Added example code for plain text extraction from a XHTML document (using XSLT).
New Added property ImgAltAttribute to class, which contains the value of the IMG tag attribute 'alt'. Its default value is 'picture' for backwards compatibility.
New Moved class com.scroogexhtml.fonts.FontDef to the Example artifact, as it is used only there.
New Deprecated the complimentary class MemoryPictureAdapterBase64. The new class MemoryPictureAdapterDataURI may be used instead.
New Updated the documentation for an experimental feature which is enabled implicitly when the ConvertTables property is set to true.
New Updated tutorials and documentation
New Added JUnit tests
New Fixed QA hints and warnings
New Minor code improvements (see JavaDoc)
9.2.0released 22 April 2021
Fixed Reset character attributes on listtext token (workaround for WPTools bug)
New Added boolean property ConvertParagraphMargins (default true)
New Support picture data extraction for binary data
New Support dibitmap token (device independent bitmap) for image data extraction
New WMF mime type is image/x-wmf, EMF is image/x-emf
New GetPostProcessListeners returns a UnmodifiableCollection
New Deprecated FontStatisticsCollecting interface
New Use xmlunit in TableSupportTests
New Fixed QA hints and warnings
Fixed The lang attribute on html tag must not be created if ConvertLanguage is false
Fixed The <!-- ... --> comments in CSS cause errors, replaced by /* ... */
Fixed The code in createNumberingWriter() is executed too often
Fixed Ignore tbldef token at the end of the row
Fixed RTF with bin keyword causes conversion errors
New Added prefix EXPERIMENTAL_ for experimental conversion options
New Use {} for log message parameters instead of String.format
New Lowered the fonttable entry log level to TRACE
New Fixed QA hints and warnings
9.0.0released 26 June 2020
New Improved support for header and footer sections
New Added Path based conversion methods
New Moved MemoryPictureAdapter and MemoryPictureAdapterBase64 to new ScroogeXHTML-Pictures artifact
New Moved optional DefaultFontStatistics class to ScroogeXHTML-Addons artifact
New Moved optional post processing classes to ScroogeXHTML-Addons artifact
New Removed deprecated code and file based conversion methods
New Added new conversion methods String convert(Path) and String convert(Path, Charset)
New Added new conversion methods void convert(Path, Path) and void convert(Path, Path, Charset)
New Many internal refactorings and fixed PMD warnings
Fixed Do not throw an exception on unknown borderstyle in BorderStyleBuilder#borderSideToString(Border)
Fixed Fixed PMD warnings
Fixed Fixed CheckStyle hints
New Updated SLF4J dependency to 1.7.30
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
8.0.0released 12 January 2019
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
7.0.0released 28 October 2017
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)