It has been a long time since I last time blogged. It is a moment to reverse the tendency.
libwpd 0.8.4 has been released. This version contains fixes for building with gcc-4.1.x and for building on MacOSX. It adds conversion of tables in WP5.x file-format. The main changes are in the conversion of documents in format WP3.x for MacIntosh - conversion of tables including the colour of the cell background; conversion of font face, font size and font colour information; conversion of sections with multiple columns; and conversion of footnotes and endnotes. Being a bugfix release, libwpd 0.8.4 is binary compatible with all previous versions of 0.8.x series.
Those that build with system libwpd are encouraged to grab the tarball as soon as they can; the others will have to wait for the integration of CWS fs05.
fs03 is dead!
After months of hesitation, I decided that the solution of unicode control codes is not really a good solution for my existential problem from some time ago. The documents converted with a fs03 enabled OpenOffice.org would look horrible in any earlier version.
This means that a proper solution with visual to logical reordering would be the only good solution. Nevertheless, this is not as simple as that for different reasons:
The reverse BiDi algorithm is not defined as part of the standard. ICU implements it although it gives warnings about the actual results in the API documentation. Fribidi does not even try to implement it. If you ask the developers about their plans to do so, they will answer you that the best approximation of visual-to-logical is the logical-to-visual itself.
OpenOffice.org uses ICU while AbiWord uses Fribidi. It means that one will have to abstract the reordering inside libwpd and leave the respective applications to provide the corresponding implementations. This solution would require an ABI change and will not be considered untill such a change does not become an unavoidable necessity for several other reasons. So, for the while, the Hebrew and Arabic text will be in wrong order in converted WordPerfecttm documents. Sorry...
I managed to resync the CWS mdbdriver02 with SRC680_m143. Thanks to Heiner for a prompt solution of my cwsresync problem. About 10 minutes after I told him about the problem, it was solved and included in CWS hr23. I call this quick and responsive action. Thanks, Heiner once again!
I created a mdbtools tarball that contains only the LGPL-ed code. I will have to come with a patch that they could commit upstream (if they decide to answer) and that would implement
--without-utils in the same way they already implement
--without-gmdb2. This solution would just allow us to eliminate the GPL-ed code using simple configure options as oposed to a patched configure.in.
The integration of mdbdriver02 is on a good path. Only that I have to write the specifications. It is not really a hard thing to do, but there are so many more exciting things to do in one's life.