ScroogeXHTML for the Java™ platform is a library which can convert a subset of the RTF standard to HTML5 and XHTML.
Release Notes
2019-03-15: Version 8.2.0
Enhancements
- Adjusted image support code for WMF to PNG image conversion example
- Added WMF to PNG conversion example code using Apache Batik
- Changed CSS to use no leading blank after the colon
Bug Fixes
- Fixed CheckStyle warnings
- Fixed support for Java 11 in Base64Utils
- Fixed support for Java 11 in integration tests
- Upgraded all tests from JUnit 3 to JUnit 4
2019-03-01: Version 8.1.0
Enhancements
- Added support for paragraph border color conversion
- Added support for paragraph border width conversion
- Added support for cell border width conversion
- Avoid hard exit on missing cell table definitions
2019-01-12: Version 8.0.0
Enhancements
- Moved from package com.habarisoft.scroogexhtml to com.scroogexhtml
- Tested with Oracle JDK 8 and Oracle OpenJDK 11 on Windows and Linux
- New
FontReplacing
interface and FontReplacer
property
- New
FontStatisticsCollecting
interface and FontStatistics
property
- Improved table cell border conversion
- Improved paragraph border conversion
- MergeBorderDivNodes, a post-processor example class for paragraph border cleanup
ConvertIndent
default value is false now (as documented)
- Methods String
convert(String rtf)
and String convert(ByteArrayInputStream rtf)
throw the unchecked RuntimeException instead of IOException
- Fixed Spotbugs warnings and JavaDoc errors
Bug Fixes
- Fixed a color conversion bug
2018-08-10: Version 7.3.0
Enhancements
- Added support for multiple external style sheets (property StyleSheetLinks), the StyleSheetLink property is now deprecated
- Changed finishColortableEntry() to improve conversion speed
- Changed removeHtmlTags() to improve conversion speed
- Updated izpack installer to version 5.1.3
- Removed unused methods
- Fixed Findbugs/Spotbugs warnings
2018-03-24: Version 7.2.0
Enhancements
- Added support for vertical alignment in table cells
- Standalone XHTML documents begin with a XML declaration if the charset is not UTF-8
- 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");
- Removed the enclosing
<!-- ... -->
around the CSS code within the <style>
element for standalone documents
- 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".
- Changed
BODY {...
to lowercase body {...
in auto-generated CSS code
- The
<style>
element includes comments before auto-generated and custom styles
- Fixed Findbugs warnings for non-transient non-serializable instance fields in MemoryPictureAdapter and ListHeaderInfo class
- Fixed Findbugs warnings for reliance on default encoding in com.scroogexhtml.ScroogeXHTML.convert
- Fixed Findbugs warnings for casting and passing to ceil in
com.scroogexhtml.converter.AbstractWriter.getFontSizeStyle
- Fixed Findbugs warnings for casting and passing to ceil in
com.scroogexhtml.pictures.EmbeddedPicture.getHGoalPx and getWGoalPx
2018-02-12: Version 7.1.0
Enhancements
- Added support for five character encodings, including MacRoman
- Added support for non-breaking hyphen (RTF token \_)
- Improved conversion of 'Symbol' font
- As a side effect of the enhanced 'Symbol' font conversion, bullet list conversion now (correctly) emits • instead of ·
Bug Fixes
- Emit the HTML bullet \u2022 for RTF token "\bullet\" instead of middot
2017-10-28: Version 7.0.0
Bug Fixes
- Always hide all "hidden" text (even it ConvertFontStyle is false)
Enhancements
- Added option to disable paragraph border conversion - to disable, use setOutputProperty(ConversionKeys.CONVERT_PARAGRAPH_BORDERS, "no");
- Improved algorithm for ConvertEmptyParagraphs
- Improved Unicode support for Japanese text
- Improved initialization speed of DOM tree transformation
- Improved support for detection of outer table border
- Experimental support for a multilevel numbering writer - enabled with setOutputProperty(ConversionKeys.SUPPORT_MULTILEVEL, "yes");
- Experimental support for uppercase and lowercase roman number - requires setOutputProperty(ConversionKeys.SUPPORT_LIST_TABLE, "yes");
- Experimental support for \*\pn paragraph numbering - enabled with setOutputProperty(ConversionKeys.SUPPORT_STAR_PN, "yes");
Other
- ConvertFootnotes value default changed to false
- Experimental UseListTable property is deprecated now - use setOutputProperty(ConversionKeys.SUPPORT_LIST_TABLE, "yes");
- UseListTable property default changed to false
- Removed ProgressListener properties
- Removed detection of hyperlinks based on blue/underlined text format
- Removed MetaDateAuto property
- Removed default creation of post process listeners
- Added ScroogeXHTMLMain.addDefaultListeners() method for backward compatibility