LibMSWrite is a free, platform-independent C++ filter library that can read and write the Microsoft Write 3.0/3.1 document format. LibMSWrite library supports what is believed to be the complete featureset of the Write file format.
It is fully portable across 32-bit and 64-bit architectures and has no dependencies other than C++. Both Linux, Windows and any other system that supports C++ is supported (STL is not required).
It employs XML-based code generation techniques to simplify the process of manipulating binary Write data structures, in a portable manner.
What can LibMSWrite do for me?
LibMSWrite provides a comprehensive API that serves as a significant abstraction layer for the Microsoft Write file format. Its primary use is in the "backend" of Write Import and Export filters for office suites. LibMSWrite simplifies the creation of such filters because developers no longer need to know the innards of the Write file format.
LibMSWrite forms the basis of the Write filters for KWord >= 1. (http://www.koffice.org), the word processor that complements the K Desktop Environment (http://www.kde.org), which is the most popular free GUI for Unix-based systems (e.g. Linux, FreeBSD).
The LibMSWrite Project does not just provide a library. It also includes:
- mswrite2html: program which converts Write files to XHTML
- list.h: alternative linked list implementation to STL
- xmlparser.cpp: quick & dirty XML parser
- wmf.cpp: WMF parser and BMP-to-WMF converter
Microsoft Write ?
Microsoft Write was the word processor included in Microsoft Windows 3.x (now more than a decade old). With the notable exception of tables, it supported all of the features needed for writing simple documents (essays, book reviews, reports etc.). The Microsoft Write format is almost completely unrelated to the, now (2003) de-facto, Microsoft Word format.
Microsoft Write files usually have the extension .WRI. Although, there are some .WRI files that are actually RTFs.
LibMSWrite was written because there was a need to guarantee that Write documents could continue to be read in the face of diminishing compatibility for old, binary document file formats. For instance, this is important if you have 7 years worth of work in the format...
The LibMSWrite project is not endorsed by Microsoft.