Classic Computer Magazine Archive CREATIVE COMPUTING VOL. 9, NO. 6 / JUNE 1983 / PAGE 89

Magic Print. (evaluation) Glenn A. Hart.


There are now dozens of word processing programs available for various microcomputers. Costing from only a few dollars to over a thousand, the features and capabilities of these programs cover just as wide a range. One of the first word processing programs to gain wide recognition was MicroPro's WordStar. Designed to operate on the 8080/Z80 family of microprocessors, WordStar has been upgraded over the years and is now a stable, proven product. In fact, some people even refer to WordStar as the Cadillac of word processors.

While WordStar has an impressive array of editing and printing features, there are many things which WordStar does not include, some of which have been incorporated into competitive products. WordStar is, nonetheless, so popular that a family of "add-on' products has grown up to add various special features to the WordStar kernel. Among the abilities lacking in WordStar that independent software packages can add are generation of a table of contents and/or index, creation of footnotes, spelling verification, and grammar and syntax scanning.

Another feature missing from WordStar is true proportional printing. Modern daisy wheel and thimble printers like the Diablo, Qume and NEC Spinwriter are capable of moving the printers like the small increments, usually 1/120th of an inch horizontally. WordStar and other word processors use this ability to spread characters out for right justification (even right margins). This usually looks much better than merely inserting spaces between words to line up the right margin, as is necessary with printers that can print only in even columns like a typewriter.

The process of calculating the many small incremental movements and determining how words are placed to form a complete line involves complicated procedures. There are many ways to do this, and the method chosen has a major impact on how the printed output looks.

WordStar performs such "micro-space justification' reasonably well.

However, it assigns each character about the same width, as a typewriter would (subject to some minor adjustments). With most type elements this is fine, although even with such standard daisy wheels the algorithms used by WordStar do not result in printed output as attractive as that obtained from some other word processors.

Special wheels which use a different type style are available. Wide characters such as M, m, W, w, @, and others can be significantly wider than they could be on a standard type face. Other characters can also be adjusted for attractive appearance and consistency. Such "proportional spacing' wheels don't look right when used with WordStar because the wide letters run into their neighbors.

Programs with true proportional spacing vary the horizontal movement of the printhead based on the actual width of the character to be printed on the specific wheel in use. This is similar to the old IBM Executive typewriters, and results in much more attractive output that can approach typeset quality. From the program designer's point of view, however, true proportional printing adds greatly to the complexity of the output foutines. Each character must be looked up in a table of width values specific to the print wheel in use and various adjustments must be made.

WordStar does not officially support true proportional printing of this sort. There is an unsupported method of coming close to it, which involves inserting a Control-P at the beginning of the file to be printed and making sure that every line of the file has been reformed with the Control-B command. This procedure is awkward at best, and while printing quality does improve, WordStar still uses its normal line forming algorithms so even after all this the output is not truly proportional.


A new program called MagicPrint adds true proportional spacing and many other features to WordStar. Written by Computer EdiType Systems of New York and distributed by Lifeboat Associates, MagicPrint works with Diablo and Qume printers. An NEC version should be out by the time this article appears, and a version is also available for Electric Pencil users.

MagicPrint is a free standing print program. Text files are prepared with WordStar as always, except that a new set of commands is imbedded in the file in lieu of the normal WordStar dot commands (which are now ignored). The standard WordStar control characters for boldface, underlining, and other enhanced printing work normally for the most part, although there are some operating differences and enhancements. MagicPrint also adds other features including automatic footnoting, multiple-line headings and footings and some others we'll discuss shortly. Once the file is entered and edited, MagicPrint is used to print the file; the normal WordStar routines are not used at all.

The MagicPrint control character commands are listed in Table 1. These control characters are imbedded in the text, and most of them work just as they normally would, except that they are cleared at the end of a paragraph. This eliminates the need to put a closing character after short lines and avoids unintentionally printing an entire document in an enhanced mode.

Two modes of underlining are available --the normal WordStar style of underlining only characters (not spaces) and solid underlining. WordStar allows only two predefined printing pitches without using a dot command; MagicPrint provides ten increments. This is used for the local adjustments called "kerning' by typographers. The only totally new commands are Control-R, which is used to justify partial lines, and Control-L, used as a replacement for the .pa command in WordStar to indicate an unconditional end-of-page and Control-E for footnoting, which will be examined later.

MagicPrint uses "comma' commands in place of the WordStar "dot' commands (see Table 2). As in WordStar, the command character, now the comma, must be placed in the first column on the left, followed by the specific command desired. MagicPrint defines two classes of comma commands--"stable' commands, not affected or reset by carriage returns or the Default command, and "transient' ones which are.

The Commands

Reviewing the commands in alphabetical order, Backline is a negative linefeed, used for certain hanging paragraph and outline formats as well as for twocolumn printing. The MagicPrint Center command can specify a number of lines to center, but it does not actually center them on the screen. The algorithm used is noticeably superior to that used by WordStar, and works perfectly in the proportional spacing mode (WordStar doesn't handle centering correctly in its quasi-proportional mode).

Defult restores transient command values to the default status in effect when the program is invoked (these default values can be changed by an experienced user with DDT). The Even command places short lines flush with the right margin on either even or odd numbered pages and is useful for headings or footings when double sided pages will be bound.

The F command controls whether the program pauses after printing a page for single sheets or prints continuously for fan fold paper. This command overrides the user's choice when MagicPrint begins printing. G sets the page length in terms of the number of lines which will be printed, while GG sets the overall length of the paper in lines. The cHaracter command changes pitch, similar to the WordStar CW instruction. Indent moves the beginning of a line to the right a specified number of columns.

MagicPrint can output text in four spacing styles--true proportional or "old' (WordStar) proportional, either right justified or not. Figure 1 shows an example of each. Line sets the line length--normally 77. Note that true proportional printing puts many more characters on a line than normal printing (the exact number depends on which characters the line contains), hence the seemingly long line length.

Margin sets the left margin. There isn't any right margin command per se; the W command serves as a sort of "right indent' instead. N0 ejects the page, useful if for some reason the Control-L can not be imbedded in the text. The other N commands are conditional paging statements, useful in ensuring that text segments are not split over page boundaries. MagicPrint, incidentally, automatically avoids annoying orphan sentences (rhw final sentence of a paragraph on the first line of a page) by extending its page length to include the orphan with its paragraph. Outdent is used in outline-type formatting.

The various Page numbering commands are more flexible than those of WordStar and are quite useful. Rightflush moves the end of a partial line to the right margin. This is surprisingly convenient in placing page numbers and the like. Spacing adjusts the spacing between lines and allows half spacing (one and a half blank lines between text, for example). Underline determines whether the underlining will be continuous or broken. Vertical controls the width between lines in 48ths of an inch. Width indents the right margin.

Two special commands, # and , are used for setting up the heading and/or footing used on a page. The pound sign is used when the page number is to be included and the asterisk when it is not. Unlike WordStar, MagicPrint allows multiple lines to be defined for headings and footings, and the center and rightflush commands, in conjunction with backline, allow some very nice page formatting.

Finally, MagicPrint handles automatic footnotes very well. The text of the footnote itself is surrounded with Control-E characters, and the program places the footnote at the bottom of the page, separated from the normal text by a line. Footnotes too long to fit on the bottom of the page are carried over to the bottom of the next page. There is no provision to accumulate footnotes for printing at the end of the document.

One everything is set, MagicPrint is invoked by simply entering "magic,' in which case the program asks what file you want to print, or by "magic filename' if you already know. Using the R option from the WordStar main menu to run MagicPrint makes it just about as easy to call up MagicPrint as it is to use the WordStar printing routines. The program asks if continuous printing or pausing after each page is wanted (the answer to which will be overridden if the appropriate command is in the text file itself) how many copies are needed and on what page to start printing. There is no provision for specifying what page to stop on, but this is easily handled by hitting a key while the program is printing.

Evaluation and Summary

MagicPrint works exactly as claimed. Every command does what itis supposed to, and printing proceeds quickly and cleanly. Informative error messages appear if there is any problem in the file or in the commands which have been entered. The tremendous improvement in the quality of the printed output is obvious.

Also on the plus side are the special features MagicPrint adds to WordStar. The new centering provisions and multiple line headers/footers are excellent, as is the increased flexibility in page numbering and titling. Footnotes are handled perfectly within the limitations of the method.

There are some major drawbacks, however. One of the advantages of WordStar is the ability to see a reasonable representaion of what the printed output will look like on the screen. While MagicPrint has several features which make one miss this a bit less than might be imagined, it is not uncommon to have to print a document, reedit and reprint to get things just right. With familiarity, the number of surprises goes down, but occasionally something unforeseen will occur. This is especially true with outlines and other text which needs columnarization or fancy indentions. To some degree, this is a function of the constraints that true proportional spacing imposes, and thus the extra work required for perfection is partially a price that must be paid for the improved appearance of the output.

MagicPrint has no provision for merging data files into form letters, including other text files, at print time or any of the other features of MicroPro's MailMerge module with which most copies of WordStar are sold. The author of MagicPrint is working on a MailMerge type program which is designed to do everything MailMerge does and more, but for the moment MagicPrint can not be used for such functions.

Finally, MagicPrint is rather costly at $195 retail. As alway, each potential buyer must judge whether the benefits of the program justify the cost. One obvious consideration is the ability to use a proportional printwheel. Not all letter quality printers can, especially since Diablo sells true proportional wheels only in metal.

A large part of the answer probably lies with how much of a perfectionist the user is. Some other word processors can print better looking documents than WordStar, and MagicPrint can match or exceed the best of them. Anyone who has been using the pseudo-proportional features of WordStar, with all its aggravations, in search of better quality will love MagicPrint. Lawyers, ad agencies, and others whose main product is printed material should examine the program carerully. It may seem that MagicPrint is an expensive addition to an already expensive word processor, but I, for one, wouldn't want to do without it.

Figure 1. MagicPrint Output Examples.

True Proportional Justified

This is a sample of the print quality obtained with the MagicPrint program. It is printed on a Diablo 1650 printer with a Diablo Bold Proportional Spacing metal print wheel. All the program commands are set to MagicPrint's defaults (other than the justification mode).

True Proportional Unjustified

This is a sample of the print quality obtained with the MagicPrint program. It is printed on a Diablo 1650 printer with a Diablo Bold Proportional Spacing metal print wheel. All the program commands are set to MagicPrint's defaults (other than the justification mode).

Old Proportional Justified

This is a sample of the print quality obtained with the MagicPrint program. It is printed on a Diablo 1650 printer with a Diablo Bold Proportional Spacing metal print wheel. All the program commands are set to MagicPrint's defaults (other than the justification mode).

Old Proportional Unjustified

This is a sample of the print quality obtained with the MagicPrint program. It is printed on a Diablo 1650 printer with a Diablo Bold Proportional Spacing metal print wheel. All the program commands are set to MagicPrint's defaults (other than the justification mode).

Table: MagicPrint Embedded Commands.

Table: 3 MagicPrint Comma Commands.

Products: Computer EdiType Systems MagicPrint (editing equipment)