Tuesday, April 18, 2006

WordPerfect Graphics conversion WANTS YOU!

I heard many times a complain about how difficult it is to join the OpenOffice.org project as a developer. Although giving credit to some of these voices, I would like attract your attention to a simple way to do some development for OpenOffice.org without having to be familiar with UNO or any other of the strange OpenOffice.org concepts. At http://sourceforge.net/projects/libwpg there is an interesting project trying to write a library for reading (and converting) WordPerfect Graphics (WPG) files. It is a nice little project written in C++ that is somehow stale now because those who contribute to it are busy with other things (like, for instance, the WordPerfect Document import).

What should be done?

IMHO, there are some things that can be interesting for someone that is beginning. In no particular order:

  • iostreams - Since the WPG files are not embedded in an OLE stream, it is not necessary to use libgsf for input and output stream layer abstraction. In order to reduce the list of dependencies of the library, porting the input/output operations to C++ standard library classes would be a good thing. Moreover, it could be a good starting point to understanding how the library works without needing to have an in-depth knowledge of the WPG file format.
  • Add conversion of bitmap parts of WPG1 files.
  • Add conversion of WPG2 files supporting single and double precision.
  • Write a small command-line tool that would use this library to convert graphics into OpenDocument Drawing file format.

What already exists?

The vector parts of WPG1 files are quite correctly converted although some attributes may be omitted. There is a command line tool called wpg2svg that can be used to convert and visualize the vector graphics from WPG files in SVG format.
If you are interested, just grab the cvs module "libwpg" and start hacking. Send your patches to libwpg-devel@lists.sourceforge.net. Your work will be most appreciated.

What is the benefit for me when doing it?

"I do not have silver or gold, but what I have I will give it to you ..." Again in no particular order:

  • You will be my personal hero :-)
  • You will learn a lot about how to design and optimize a library that will be possibly used by many applications.
  • You will have the opportunity to collaborate in integrating this library into Openoffice.org. You will become in fact an Openoffice.org developper. This will give you the possibility to work with people like Caolán McNamara, Michael Meeks, Pavel Janík or Jens-Heiner Rechtien ;-)

So, come! The success, glory and prosperity are waiting for you!