msxnet.org > Converting MS Write to RTF
This software is still alpha. It supports Write 3.0 and Write 3.1 almost fully, and Word for DOS 3.x - 5.0 conversion is still underway. It should compile on any environment, provided you have the snprintf(3) and vsnprintf(3) function.
This converter converts to RTF. This is done so the output can be validated against the microsoft converter, which revealed some interesting details. So it can be seen as a reference implementation for conversion.
The RTF importers and exporters used by Word can be used from the command-line in Windows and wine using the program below. It requires winelib to compile under *nix, but the included exe runs fine under wine. It is released under LGPL, as it uses closed-source Windows libraries (the converters). DOS line-feeds (CR-LF) are used and a Visual C++ project file (.dsp) is included.
Note: the return type of InitConverter32() is a short, not a long. This causes the init of the WordStar for Windows converters too fail.
It compiles under wine (winelib), no other files than the converter dll's needed. Also it could be nice to provide this conversion on website, but the license of Microsoft Office (and the converters) do not allow this. Note it compiles fine with MinGW.
Note that these converters convert from and to RTF; however, microsoft does provide plain text and html exporters. The html exporter is not as good as the "save for the web" option in word. Word obviously uses a different converter for this.
I've removed the cygwin dependancies since the last version; since is has to use the Win32 API, it's better to just use that API and ANSI C.
Documentation on the Windows converters can be found at How to Obtain the WinWord Converter SDK (GC1039) (Q111716)
There is the file format which uses disk pages of 128 bytes, which is used by Write 3.0/3.1, and Word for DOS 3.x-5.x. These formats are very closely related. Below is all the documentation I have found so far.
Sean Young <sean@mess.org>