Changelog:
0.10.0 - 0.10.1
- Fix crash when NULL is passed as input stream.
- Use symbol visibility on Linux. The library only exports public functions
now.
- Avoid infinite loop. (libwpd#3)
- Remove bashism. (libwpd#5)
- Fix various crashes and hangs when reading broken files found with the
help of american-fuzzy-lop.
- Make --help output of all command line tools more help2man-friendly.
- Miscellaneous fixes and cleanups.
may alter the compiler selection.
In this particular case, librevenge depends on boost-libs, which will
set GCC_REQD and possibly select a GCC dependency, so long as the compiler
hasn't been forcibly pre-selected by including compiler.mk too early.
Fixes build of libwpd on platforms with a native GCC older than what
boost-libs calls for.
maintainership (all this okayed by the old maintainer, Jeremy C. Reed).
Changes from 0.9.2 include (apart from various bugfixes):
- WPX_SEEK_END for WPXMemoryInputStream (Laurent Alonso)
- Metadata for wpd2html (David Hislop)
- Change source code layout so that public headers be in inc/ and its
subdirectories
- libwpd.h and libwpd-stream.h are not generated headers anymore
- Change the way we get version from libwpd build
- Improvements to WPXOLEStream class
- Added MPL2+ to the licenses libwpd is released under
- Revert an accidental ABI change in WPXPropertyList
- Link the Windows static libraries with DLL runtimes
- libwpd-stream: Add experimental support for ZIP storages
- libwpd-stream: Add WPX_SEEK_END to the WPXSeekType enum
(Be sure that you are at offset 0 using it and check return value
in order to be compatible with lower versions of libwpd)
- New Visual Studio 2008 and Visual Studio 2010 build files
- Don't output points as integer. This solves some rounding issues along
with possibility of writing 10.5 point font size (Fridrich)
- General improvement of code quality by buiding with -Weffc++ option (Fridrich)
- Improvement of textbox code (Laurent Alonso)
- Improvement of arabic charset mapping (Smokey Ardisson)
- Build system rewrite and improvement (Tomas Chvatal)
- Cleanup of return values (Thomas Klausner)
- Conversion of extended characters in WP 42 parser (Fridrich)
0.9.1 - 0.9.2
- Fix build with gcc 4.6.x (Caolan McNamara)
- Handle graciously corrupted WP6 prefix data (Fridrich)
- Initial conversion of Mac double byte script characters (Fridrich)
- Internally use UCS4 instead of UCS2 (Fridrich)
- Add Arabic character conversion for WP5 parser (Fridrich)
- Allow conversion of one WP character to a sequence of unicode
characters (Fridrich)
- Miscellaneous conversion fixes (Edward Mendelson, Fridrich)
* Parse correctly WP 2 for Mac documents without resource fork
* Improvements in parsing of pictures in WP1 parser
* Fix wrong sizes of some functions in WP1 and WP42 parsers
* Fix handling of character attributes
CHANGES:
0.8.x - 0.9.0
- Conversion of page-numbering (William)
- Conversion of embedded images and text boxes in WP1, WP3, WP5 and WP6 documents
(Fridrich)
- Conversion of password protected WP1, WP3, WP42 and WP5 documents (Fridrich)
- Conversion of annotations/comments in WP6 parser (Fridrich)
- Fix some greek characters so that Text written in WP5.1 with Printer Polyglott
convert correct.
- Fix unicode mappings of some older Symbol and Dingbats fonts (Fridrich)
- Drop the libgsf dependency in favour of pure C++ implementation of the WPXInputStream
interface (Fridrich, Ariya)
- Fix the footnote/endnote/comment/annotation/textbox writing in wpd2html converter
- Improve metadata parsing (David Hislop)
0.8.13 - 0.8.14
- Fix some warnings due to unused variables
- Fix a warning due to a name hiding.
- Fix two loops with corrupted documents (Thank you, sum1!)
0.8.12 - 0.8.13
- Implement readahead in the WPXStreamImplementation class (Jan Holesovsky, Fridrich)
- Fix some memory issues properly (each class deletes what it allocated) (Fridrich)
- Work around an issue with relative seeks backward and certain versions of libstdc++
in the buffered stream implementation (Fridrich, sum1)
- Fix a problem of conversion of some page breaks due to an unreachable block in the
code (Fridrich)
- Fix a crasher in a rare case of a footnote/endnote being defined in a table and the
footnote/endnote having itself a table (Fridrich).
- Fix some null pointer crashes with corrupted documents in table code and in cases where
there is no prefix ID present (sum1, Fridrich).
- Fix a out of bounds array in parsing WP5 extended characters with broken documents
(sum1).
- Remove some abuse of pointers (Fridrich).
- In "wpd2raw --callback", return "-1" if no one callback was called (Fridrich).
- Fix some issues with incorrect indents in some rear cases (Fridrich).
- Fix some signedness problems (Fridrich).
0.8.11 - 0.8.12
- Enable building of statically linked tools even when a shared library is built,
useful for scripting the creation of win32 release packages (Robert Staudinger,
Fridrich Strba)
- Package also the tools automatically for win32 (Fridrich)
- Do not build doxygen documentation on win32 unless explicitely asked for it (Fridrich)
- Convert Tab Set function for WP5 parser (Fridrich)
- Basic conversion of tabulators and indents in WP3 parser (Smokey Ardisson, Fridrich)
- Basic conversion of tabulators and indents in WP5 parser (Fridrich)
- Convert the most usual Macintosh fonts from fontId to font name in WP1 parser
(Hubert Figuiere, Fridrich)
- Fix compilation with the upcoming gcc 4.3 (Rene Engelhard, Fridrich)
0.8.10 - 0.8.11
- Fix incorrect conversion of tables with cells spanning more then 127 rows due to
incorrect information in the file-format (Fridrich)
- Fix incorrect reading of font name information in prefix packets (Fridrich)
- Fixing http://bugzilla.abisource.com bug #10957: Bad -L flags in Makefile.am break
compiling if different libwpd version is already installed (Daniel Mack)
- Fixing http://bugzilla.abisource.com bug #10958: Risky -I ordering (Daniel Mack)
- Making a proper release win32 (MinGW) binaries crosscompilation on Linux possible and
smooth (Fridrich)
0.8.9 - 0.8.10
- Fix a locale dependency in our float to string conversion (Fridrich)
- Enhance our reading of document meta data for WP6 (David Hislop)
- Fix some sillies and be gracious with documents with corrupted prefix packets (Fridrich)
- Prevent the heuristic typedetection from throwing (Fridrich)
- Add a new stream implementation based on C++ streams, rendering libgsf dependency
very optional; deprecate GSFInputStream (Fridrich)
- Allow building of wpd2foo tools by Micro$oft Visual studio (David Hislop, Fridrich)
CHANGES:
0.8.8 - 0.8.9
- Fix http://qa.openoffice.org/issues/show_bug.cgi?id=74134, a bug in WP1 document
type detection where we could try to seek to a negative place in document (Fridrich)
- Fix a regression wrt. 0.8.7 preventing the conversion of tab table in
WP1 and WP3 file-format (Fridrich)
- Fixed several overflow bugs reported by iDefense. An attacker could create a
carefully crafted Word Perfect file that could cause an application linked with
libwpd, such as OpenOffice, to crash or possibly execute arbitrary code if the
file was opened by a victim. (CVE-2007-0002) (iDefense's Sean Larsson, Fridrich)
0.8.7 - 0.8.8
- Add unit tests for the stream class (Fridrich & Andrew Ziem)
- Ignore foot/endnotes that are referenced inside other foot/endnotes (Fridrich);
fixes http://www.openoffice.org/issues/show_bug.cgi?id=71487
- Handle graciously unsupported password-protected documents; (Fridrich)
fixes http://www.openoffice.org/issues/show_bug.cgi?id=72307
- Remove warnings on main OpenOffice.org platforms (Fridrich)
- Remove some potential memory leaks in the WPXPropertyList class and optimize
the WPXPropertyList subscription operator (Fridrich)
- When possible, pass WPXStrings by reference instead of passing them by copy
(Fridrich)
- Refactor WPXString to not cast from and to void*; refactor WPXPropertyList and
WPXPropertyListVector classes as to save a bunch of virtual calls (Fridrich)
CHANGES:
0.8.6 - 0.8.7
- Revert the alignment fix, in order to mimick the way WP for Mac renders
the documents (Fridrich)
- Support for WP Mac 1.x documents (Fridrich)
- Fix memory leak in standalone converters (Andrew Ziem)
- Miscellaneous code cleanups (Fridrich)
0.8.5 -> 0.8.6
- Initial support of WP Mac 2.x documents (Fridrich)
- Fix an alignment bug where alignment was propagated from multicolumn
sections into following single column sections (Fridrich)
- Initial conversion of headers/footers in WP42 parser (Fridrich)
- Fix some parser errors in WP42 parser; now we seek to the right place
and parse correctly all functions (Fridrich)
- Fixed crash in wpd2foo if invoked with non-existing filename (Jody Goldberg)
- Assure that the table we send to the listener implementation is a valid
table independent of how messy the table is in the WP document (Fridrich)
- Fix situations where there is no tab position information in WPUs inside
the tabulator function; the fallback works now even if the position is 0
like in WP6 for DOS documents.
- Try not to crash under any circumstance by sanitizing the code and throwing
exception in illogical, but in WP documents very real, situations (sum1,
Fridrich)
- Make every implementation of WPXInputStream that we use return !0 if a seek
fails; be more paranoiac with the result of read functions (sum1, Fridrich)
- Ignore corrupted prefix packets in WP5 documents (Fridrich)
- Try to convert as much information as possible even in corrupted WP3, WP5 and
WP6 documents (Fridrich) - Libwpd now converts many documents that make crash
WordPerfect itself.
- Fine-tune the WP42 document detection. Detect as many WP42 files as possible
while still discarding plain text documents (Fridrich, Marc)
- Let the WP6 parser not die if the prefix packet it refers to is corrupted or
absent (Fridrich)
- Fix hangs while parsing a corrupted WP6ExtendedDocumentSummaryPacket (sum1,
Fridrich)
- General improvement of libwpd's conversion-success-rate and extensive QA with
more than 46'000 real life documents (Mr. SUM1)
0.8.4 -> 0.8.5
- Conversion of font face, size and colour in WP5 parser, including the
default font information (Fridrich)
- Conversion of foot/endnotes in WP5.x format (Fridrich)
- Conversion of headers/footers in WP3 and WP5 parsers (Fridrich)
- Prevent negative paragraph margins due to page margin change.
Removes the ugly text-border lines running across the text in
OpenOffice.org (Fridrich)
- Make page margins constant between two hard page breaks (Fridrich)
- Convert page margin changes into section margins in multi-column sections
- Move absolute position values in multicolumn sections from whatever column
they are in into the first one. Fixes the off-page position of the second
table in 05mechanicalservice.wpd (Fridrich)
- Defer page span change to the end of the current paragraph if it is
opened in order to prevent a paragraph break where it is not there in the
original document (Fridrich)
- Fix http://bugzilla.abisource.com/show_bug.cgi?id=10105, an incorrect
conversion of table alignment in WP3.x file format (Fridrich)
- Fix small issue with incorrect number of pages in page-spans (Fridrich)
- Fix an issue with "==" operator for WPXPageSpan classes. The result is now
the same independent on the order of the operands (Fridrich)
- Fix http://bugzilla.abisource.com/show_bug.cgi?id=10279, a crash if a table
from the middle of the tableList is in footnote and/or endnote (Marc, Fridrich)
- Add an option "--info" to wpd2text; called with this option, wpd2text dumps the
information of the document instead of converting it. This could be useful for
beagle (Fridrich)
- Refactoring of the listener structure and split of WPXListener into WPXContentListener
and WPXStylesListener (Fridrich, Marc and Cyrille Moureaux as a guest star)
since they always need a C compiler, even when the source code is
completely in C++.
For some other packages, stated in the comment that a C compiler is
really not needed.
- Fix compilation with gcc >= 4.1.0
- Initial support for tables in WP5.x format
- Fix compilation on MacOSX
- Conversion of font name, size and colour for WP3.x format
- Collapse the LL and HL Listeners into one classe each
- Initial support of tables in WP3.x format including the cell background
colour
- Conversion of sections with multiple columns in WP3.x format
- Conversion of foot/endnotes in WP3.x format
- Adding an assignment operator to WPXString class as well as trying
to make it much more a std::string wrapper
From Jeremy Reed in pkgsrc-wip, updated to 0.8.1 by me.
libwpd is a library for reading and writing WordPerfect(tm)
documents.
This package also includes utilities for converting to HTML
and plain text.