The following sidebar accompanies the Anecdotes article by Mike Marcus and George Trimble, which appears in the October-December 2006 issue of IEEE Annals of the History of Computing. The material here was omitted from the main article because of space constraints.
Word processor output from PCs in the 1970s and 80s was limited primarily by the characteristics of the printers. Although there were a great variety of types of impact printers (wire dot matrix, IBM Selectrics, daisy wheels), they were all fixed character width machines with little flexibility. Most of the formatting was done manually and was highly labor intensive.
Printer limitations were not the only factor that affected word processing functions/performance on PCs. The speed of the PCs, which was as slow as 7K cycles per second, main memory as small as 640K Bytes, and secondary memory of only 10 megabytes significantly influenced what could be done with an acceptable response time. As the capabilities of PCs improved over the years, word processors grew in size from 40K bytes to 25 or more megabytes, with an accompanying growth in capabilities.
The font size and face were fixed. The IBM Selectric Balls and the Daisy Wheels had a fixed number of characters on them and could have only one size of character. To change the typeface you could change the ball or wheel in the middle of a line (e.g., to italicize a word or phrase.) Wire matrix printers were even more restrictive and could not be changed.
Bolding a word was done by overtyping each character twice. Similarly, strike-through and underlining were done by backspacing over the characters and then overtyping the dash (hyphen) or underline character. Not all printers had this backspacing capability (e.g., wire matrix printers.)
Since a line had a fixed number of characters, the user had to count the number of characters in the line to be centered, subtract this from the number of characters in a line, divide this difference by two, and then space this number of characters to begin the centered line. This was a time consuming process, often with calculation errors necessitating that the user redo the process.
Right justifying a line was a similar process except that all of the space characters were inserted before typing the right justified line.
Essentially there was no such function as justification. It could be done manually by counting the number of spaces at the end of a line and then distributing these spaces between the words on the line so that the last character ended up in the last column. This also was a lot of work and could end up with very esthetically unpleasing results, especially when a large number of spaces had to be inserted. And woe to the user who had to insert a word or phrase in a “finished” paragraph and then had to redo that portion of the paragraph after the insertion.
Hyphenation was largely a manual process. Only when the speed of PCs progressed to the point where a reasonable response time was possible, as well as the size of hyphenation dictionaries was sufficiently large, could hyphenation be done by the computer. Hyphenation was also an integral part of the justification process
Most printers had the ability to do single and double spacing. Some had the ability to do ½ spacing. The printed line itself was always the same fixed height. Inserting vertical white space was done by single, double, or half spacing.
The user had to know where the picture or graphic was to be located in the document as well as it’s size (height and width.) It was then necessary to use tabs to manually “flow” the text around the area reserved for the picture.
“Line Printers” used on main-frame computers in the 50s and 60s and mini-computers in the 70s used type-bars or print chains. These printers were modified tabulating machines that had the same limitations as the wire dot matrix and other impact printers, namely, fixed width characters and limited character sets, or were descendants of the printer mechanisms of the tabulating machines of the 30s and 40s. They could not be used to produce the quality of output needed by the printing and publishing industry.
Mergenthaler had developed the Linotype machine to meet this need but the Linotype was strictly a manually controlled system. It could not be used as a computer output device. Consequently, Mergenthaler, and others, developed phototypesetters where characters were exposed on film which was used to produce the plates used in the printing presses. These came into existence in the mid 1970s.
Photo-typesetters were far too expensive to justify using them on individual PCs. However, a network of minicomputers, such as the Mergenthaler distributed processing system, easily justifies the shared use of one or more phototypesetters to service their output needs.
With the advent of phototypesetters and minicomputers in the mid 70s, it became possible to provide sophisticated software for more advanced features for publishing systems. Better hyphenation with true justification became a reality, right justification and centering could be done automatically, finer resolution of line spacing was possible, and a wider range of typefaces and sizes could be accommodated. Kerning, i.e., squeezing two characters closer together, also contributed to tighter justification. In addition, reserving space for pictures and graphics resulted in automatically running the text around them, along with more flexible caption handling capability.
Text mark-up consists of control and/or formatting commands that are imbedded in the stream of text sent to a typesetter. The Mergenthaler 5500 System used brackets “<” and “>” to delineate these commands. For example, <p=10> would indicate that the following text is to be set in 10 point type until another command changes the size. The font, line spacing, and other such format characteristics are specified by the operator as part of the text stream. The mark-up itself, obviously, does not appear in the output document, only its effect on the format commands are shown. Multiple characteristics can be included in one mark-up command, e.g., <p=20, s=1.5> indicates a point size of 20 and 1½ line spacing.
With computer control, it became possible to implement many other functions, including:
Not until laser printers (1984) and ink jet printers (1990s) became available did the ability to have sophisticated format control of computer output make it possible to do typesetting using PCs. These printers can support multiple fonts and word processing systems have the capability of performing all of the functions listed above. Instead of just having em-space and en-space characters, and perhaps a thin-space character, a much finer resolution of space characters is available in order to properly justify a line of type. Modern word processors are, consequently, able to perform many of the sophisticated formatting functions that the large-scale systems, such as the System 5500 did.
Mark-up is embedded in the text so that the user never sees it. MS Word, for example, has a block of mark-up associated with each paragraph. In some cases, the mark-up may be in the middle of the text stream, e.g., Start Bold and End Bold. The user does not see it but it is there as a result of the user marking a block of text and defining it as Bold. Different word processors use different methods of marking up their text.
Page Make-Up requires the manipulation of an entire page of text. Column (vertical) justification, that is, shortening or lengthening a column of text, can be accomplished by adjusting the inter-paragraph spacing, or fine tuning the line spacing and is an important capability for page make-up. A special “Page Make-Up” terminal was developed for the Mergenthaler System 5500 to facilitate page make-up. The page layout operator can manipulate entire stories, move large blocks of text, relocate pictures and graphics, provide “page jump” data, and re-justify the text to achieve the desired “look” of the entire page. With the speed of modern PCs, and large monitors, even these kinds of functions may find their way into word processing software eventually.