"Linux Gazette...making Linux just a little more fun!"

The Maxwell Word-Processor

By Larry Ayers

An interesting announcement was posted in late February to the comp.os.linux.announce newsgroup concerning the free availability of a new word-processor for Linux. It seems that the Maxwell word-processor had been developed by a British software company, Tangent Data Limited, with the intention of selling it as a commercial product, but for some reason the project was scrapped and the company was wound up. The three programmers involved (two of whom were partners in the firm) decided to release on the web a statically-linked Motif binary package.

I didn't really need a word-processor, but curiosity got the better of me, especially since it was just a one-and-one-half megabyte download. It wasn't hard to install (just unpack into /usr/local) but when I started it from an rxvt window, many seconds went by, with no disk activity. Evidently the license daemon is still automatically summoned, but since there isn't any licensing to do it gets confused and hangs for a while before reluctantly allowing the program to start. Finally a small control window appeared with a button on it inviting me to "open a document window"; I tried, and the window would appear for a fraction of a second before dying of terminal segmentation fault. Oh, well...off to /dev/null with that one, but before consigning the directory to oblivion, I noted the e-mail address to which comments and bug-reports should be directed, and pasted the error-messages into an e-mail message. Within a couple of hours I had a reply from Tom Newton, one of the developers, in which he stated that they had received other, similar reports from users with 16 bpp displays (which is what I use). That evening I received another message, this one bcc-ed to what must have been quite a few other Linux users who had written. It seems that so many people had tried to download the Maxwell archive that the ISP was swamped, and requested that the file be moved elsewhere. Before uploading it to Sunsite's incoming directory, the developers fixed the 16-bpp bug. The message also hinted that the application might end up GPL-ed, with full source available.

So I tried it again, and this time it would successfully start up. The document window is a typical Motif word-processor interface, with the usual menu- and button- bars. Here's a screenshot:

Maxwell Document Window

Features and Limitations

I use mostly free software, and one annoying trait I've noticed in many commercial applications for Linux is the neglect of perfectly serviceable utilities which are found on just about any Linux system. As an example, the ispell program is an efficient and dependable spell-checker, easily incorporated into other programs. Nonetheless many word-processors include their own spell-checking dictionaries and routines, one reason for their bulk.

Looking over the Maxwell files, I was interested to see that in the binary directory there are only two real files, the main executable and the license manager. The remainder of the files are symbolic links to file, grep, ghostscript, lpr, and ispell. Evidently the developers are familiar with Linux and saw no reason to re-invent several wheels. I imagine the savings in work was a factor as well.

The fonts are also represented by symlinks to a few of the fonts in the /usr/X11R6/lib/X11/fonts/type1 directory, with each one accompanied by an .mfm file, which stands for Maxwell Font Metrics. These files are automatically generated by Maxwell when it starts up and finds new fonts or symlinks installed. Adding new fonts isn't difficult (thanks to Tom Newton for this information!); just symlink them from your usual font directory (often /usr/X11R6/lib/X11/fonts) to /usr/local/maxwell/fonts/Type1 and add entries to the fonts.scale and fonts.dir files in the same directory (these are installed as symlinks, but don't have to be).

Symlinks may have to be altered in order to enable the spellchecker. A subdirectory, /usr/local/maxwell/dict, should be created if it doesn't already exist, and the various *.hash files which ispell uses should be symlinked there; these are often found in /usr/lib/ispell. When this is correctly done a typical spell-check window can be summoned.

Maxwell saves files in its own binary format which is translated into Postscript before being sent to the printer. I don't have a printer which understands Postscript, but any print-filter which will call ghostscript with the necessary switches should work; it does for me. A disadvantage to this approach is that print quality will be dependent upon how well ghostscript supports your printer. Rich Text Format (RTF) is also supported and these files can be successfully loaded by WordPerfect. There seems to be quite a clamor in the Linux newsgroups for a word-processor which can load and save MS-Word format files, but Maxwell lacks this feature. The MS word-processors do support RTF, so there is some potential for file interchange between MS apps and Maxwell.

At first I thought Maxwell used its own font-rendering routines rather than the native X services, as scalable fonts are displayed on the screen free of the jagginess X applications usually suffer from when non-bitmap fonts are rendered. The rendering is better than this, but not quite as anti-aliased as the Gimp's or Ghostscript's output. Tom Newton (in an e-mail message) stated that Maxwell uses native X calls but small chunks of text are rendered separately before the position of the next chunk is calculated.

This is a worthwhile and notable feature; it has no effect on print quality but makes for more readable text on-screen when using different font sizes.

Some of the features, such as the table-creation facility and graphics inclusion, need more work. Attempting to include a graphics file in a document will cause Maxwell to crash if it is running on a 16 bpp display. Tables can be included, but though the fields dynamically resize themselves I didn't find any way to add padding or borders around fields.

Basic page and character layout is handled much as in other word-processors, with dialog-windows as well as menus and button-bars. In short, most standard word-processor functions work well, something which can't be said for the various free word-processor projects I've tried, many of which have been seemingly abandoned. All but LyX, that is, but LyX is sui generis.


There has been a remarkable lack of public comment from the Linux community concerning Maxwell, considering how often the plea for a free word-processor is reiterated. I suspect that many people downloaded it, found that it wouldn't (in the initial version) run on a 16 bpp display, and discarded it. As I stated above, this has been remedied, and the current version is well worth a try. If the source was released under the GPL I'm sure interest would pick up and further enhancements would begin to appear.

After much of this article was written a third release (version 0.5.2) was uploaded to Sunsite. A few bugs have been fixed, and the annoying and time-consuming license manager has been removed, so the start-up is much quicker. According to Tom Newton, who has been putting together these releases, this will be the final binary version; if the source isn't released Maxwell will probably fade into obscurity.

So what will Maxwell's eventual fate be? The two former partners in Tangent Data own the rights and haven't decided what to do with it. A possibility of GPL status has been mentioned which would be interesting and useful to us all. One possibility would be to release source for the current build and then sell plug-ins or modules which would add features such as additional file-exchange filters. Support could be a fee-based service as well. This approach is being developed for the Gimp by the new WilberWorks company.

Even if the source isn't made available Maxwell is usable in its current state for basic word-processing, helping fill the gulf which currently exists between text editors and the large and feature-laden applications such as StarOffice, Applix, and WordPerfect.

Copyright © 1998, Larry Ayers
Published in Issue 27 of Linux Gazette, April 1998