CA1111564A - Variable character spacing matrix for proportional spacing printing systems - Google Patents

Variable character spacing matrix for proportional spacing printing systems

Info

Publication number
CA1111564A
CA1111564A CA300,208A CA300208A CA1111564A CA 1111564 A CA1111564 A CA 1111564A CA 300208 A CA300208 A CA 300208A CA 1111564 A CA1111564 A CA 1111564A
Authority
CA
Canada
Prior art keywords
escapement
character
characters
value
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA300,208A
Other languages
French (fr)
Inventor
Howard G. Kettler
Robert A. Kolpek
Walter S. Rosenbaum
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of CA1111564A publication Critical patent/CA1111564A/en
Expired legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J19/00Character- or line-spacing mechanisms
    • B41J19/18Character-spacing or back-spacing mechanisms; Carriage return or release devices therefor
    • B41J19/34Escapement-feed character-spacing mechanisms
    • B41J19/58Differential or variable-spacing arrangements

Abstract

VARIABLE CHARACTER SPACING MATRIX
FOR PROPORTIONAL SPACING PRINTING SYSTEMS
Abstract:
The aesthetic characteristics of adjacent characters are used to enhance the quality of output in a pro-portional spacing printer and to provide right margin justi-fication for composing. Spacing between characters is determined not only on the basis of the character being printed, but also on the preceding character already printed on the page. An intercharacter displacement memory is provided which contains a list of ideal spacing for all combinations of characters to be printed. As each character is typed, it and the previously stored preceding character address the intercharacter displacement memory. The output of the intercharacter displacement memory is the ideal value of escapement for this particular combination of characters and font style. The printer automatically repositions the print head prior to printing the next character, rather than positioning the print head after the previous character is printed. Line ending decisions for composing are eliminated during initial and final typing of a document by adding to the intercharacter displacement memory recommendations for altering the ideal spacing between characters, where aesthetically possible, to eliminate the need for line ending hyphenation. During initial keying of each line, escapements for each adjacent pair of characters is totaled in a memory for ideal, shortest (tight), and longest (loose) 1. recommended escapements. The line is automatically termi-2. nated within the justification range by a carrier return 3. function based on the escapement totals and the selected 4. right margin. Final playout of the page from memory alters 5. the intercharacter escapements from the ideal values to 6. either longer or shorter escapements depending on whether 7. the line is to be lengthened or shortened.

Description

8. Backqround of the Invention: -9. Field of the Invention: The invention disclosed herein 10. relates to printing devices, and more particularly to de-11. vices for the production of proportionally spaced, high 12. quality justified copy without the use of hyhenation.
13. Description of the Prior Art: Traditionally, propor-14. tionally spaced typing has had a fixed format. A given 15. printed character always occupies the same number of hori-16. zontal space units although this may vary from character to 17. character (M to I) when typed on a proportionally spaced 18. machine. The characters are somewhat distorted on conven-19. tional printers to occupy the entire space allocated to the 20. character. Particularly difficult is the English Script 21. character set and the Arabian Farsi character set, where, to 22. some extent, the characters appear joined together. The 23. problems occur because of the number of combinations of 24. character pairs found in ordinary text. When the spacing 25. between one combination is enhanced, other combinations 26. become poor.
27. In U.S. patent 2,742,998 an attempt was made at solving 28. the problem by changing the shapes of so called "lean"

1. letters and placing these "lean" letters in digraphs and
2. trigraphs on the same key face such that the digraph or
3. trigraph would take no more horizontal space than one "fat"
4. small letter, for example "w". This technique, while
5. increasing the number of letters that could be typed on a
6. line, did little to upgrade the aesthetic quality of the
7. type and, in fact, degraded the aesthetic quality because
8. the characters where distorted in order to decrease the
9. space between them. Also, no provision was made for com-
10. parably reducing the space between individual characters and
11. the digraphs or trigraphs which formed a part of the same
12. word nor between adjacent digraphs or trigraphs.
13. A more burdensome problem exists where the printer is
14. to be used for right margin justification of,text. It has
15. been common practice, when a word would not fit entirely
16. within a printing line to divide the word on syllable
17. boundaries with a hypen so that one segment of the word can
18. be accommodated at the end of the line and the other segment
19. accommodated at the head of the following line. This method
20. is used in publication activities to avoid ragged right-edge
21. composition and achieve a high utilization of paper.
22. Present printing systems provide for the addition of
23. space between words to increase the length of the line to
24. bring its length to the chosen right margin. Exemplary of
25. these kinds of printers are U.S. patents 2,465,657 and
26. 3,530,976. In the '657 patent, the text to be justified is
27. printed in a first column as it is keyed by the user. The ~,~.ilS~4 1. text must then be rekeyed in a second column while the 2. printer automatically adjusts the interword spacing to 3. justify the right margin. In the '976 patent interword 4. spacing is held to a predetermined minimum space during 5. intial keying. A delta space is then added to each inter-6. word space during file playout to obtain right margin justi-7. fication. However, if the number of interword spaces is too 8. small to fill out the line, hyphenation must be done by the 9. user. This generally results in the use of a dictionary to 10. provide information on syllabication of the word and a 11. corresponding loss of valuable time. Additionally, in-12. creases in the interword spacing in a line of printed text 13. causes a corresponding deterioration in the aesthetic 14. quality of the print.
15. Summarv of the Invention:
16. The aesthetic quality of printed text in a propor-17. tionally spaced printer may be enhanced without the corres-18. ponding distortion of the characters by providing for vari-19. able escapement for the printing of characters based on the 20. contour of the character previously printed as well as the 21. contour of the character to be printed. An intercharacter 22. displacement memory is provided which contains the ideal 23. relative displacement values for combinations of two charac-24. ters. As a character is keyed it goes into a storage 25. register and provides half the information for addressing 26. the intercharacter displacement memory. After the character 27. is printed, the print mechanism does not escape. When the S~i4 1. next character is keyed, it provides the information necessary 2. to complete the addressing of the intercharacter displace-3. ment memory. The output of the intercharacter displacement 4. memory provides the escapement value necessary for the ideal 5. aesthetic appearance between the two characters. The print 6. mechanism is escaped by this amount and the character is 7. printed.
8. For composing applications, the intercharacter dis-9. placement memory includes, in addition to the ideal escape-10. ment values between pairs of characters, variable escapements 11. for certain character pairs which may be moved closer to-12. gether or farther apart with a minimum of aesthetic distortion.
13. The first character keyed is placed in a page storage memory 14. and is printed on the page without any escapement following 15. printing. When the second character is keyed, its value and 16. the value of the previous character are utilized to deter-17. mine an escapement which occurs before the second character 18. is printed. As the line is typed, these escapements values 19. are totaled in an ideal total register and modified, either 20. by adding an increment for a loose total or by subtracting 21. an increment for a tight total as specified by the inter-22. character displacement memory, to also provide deviation 23. totals for each line. These totals are compared by an 24. analysis circuit after each word is typed to determine 25. whether the line may be justified. When it is determined 26. that the line can be justified, the circuitry terminates the 27. line automatically with a carrier return code and the user
28. continues typing a sentence.

1. The first copy produced while keying is considered a 2. draft copy. To obtain a justified copy the operator places 3. a new sheet of paper in the printer and the circuitry 4. analyzes the first line from page memory to determine 5. whether the line may be printed ideally, tightly, or loosely.
6. As this is done, the difference register is filled to keep 7. track of the number of increments to be added or subtracted 8. as the line is printed.
9. The printer then prints the first character and, along lO. with the next character, determines the intercharacter 11. escapement. This value is modified depending on whether the 12. line is to be expanded or contracted and whether the indivi-13. dual character couple has appropriate characteristics, 14. according to the intercharacter displacement memory. The 15. result will be the printing of the line, utilizing modified 16. escapement values which will still maintain superior print 17. quality when compared to any other justifying system. In 18. addition, if absolute justification is not desired, de-l9. viation of the right margin may be minimized by means of 20. ragged right memory which can reduce the deviation to less 21. than six characters.
22. Brief Description of the Drawing:
23. Figure 1 is a block diagram of a printing system, 24. including the apparatus of the present invention.
25. Figure la is a perspective view of a typewriter, in-26. cluding a keyboard and printer and showing the electronics 27. contained therein.

1. Figure 2 is a diagramative illustration of the type-2. writer shown in Figure la, together with the control cir-3. cuitry by which the printer mechanism is controlled.
4. Figure 2a is a diagramatic illustration of the cir-5. cuitry for proportionally spaced printing.
6. Figure 3 is a circuit diagram for control of the page 7. memory.
8. Figure 4 is a diagramatic illustration of the circuitry 9. for right margin justified printing.
10. Figure 5 is a circuit diagram for controlling the 11. ragged right memory and for calculating the increments 12. necessary for justification.
13. Detailed Description:
14. Referring now to Figure 1, there ~s shown in block 15. diagram form a printing system. The system includes pro-16. cessing logic 1, escapement variance memory 2, intercharacter 17. displacement memory 128, printer 4, keyboard 18, page memory 18. 31, and ragged right memory 379. The printer 4 may be a 19. serial character - by - character page printer or a type-20. writer 12 (Figure la) that is generally like the-well known 21. IBM "Selectric"~ I/O Writer as described in IBM Customer 22. Engineering "Selectric"~ l/O Writer Instruction ~lanual, 23. form/part number 241-5159-1, revised November 12, 1962, 24. published by International Business Machines Corporation, 25. Armonk, New York. The typewriter 12 includes the well known 26. printing mechanism 10 comprising a type element 16 having 27. character shaped type thereon. The type element 16 together S~
1 with a page supporting impact resistent platen 22 defines a print point 25. The typewriter 12 also includes a left hand margin stop 26 and a keyboard 18 having printing control keys and print position moving keys such as a space bar 11, line return key 13, right margin key 15, auto/playout key 19, reset key 61 and ragged right key 3. Circuit boards 5 containing the electronics for the system are mounted in the base 6 of the typewriter 12.
Referring now to Figure 2, the typewriter 12 is pro-10 vided with horizontal and vertical motion transducers 54 and 43 respectively, each of which can be similar in theory and operation to that disclosed in U.S. patent 3,579,195.
The horizontal motion transducer 54 comprises a pulse emitting wheel 55 which generates strobed position and direction information in photosensing mechanism 56 by which displace-ment of the lead screw 17 in increments is measured. Suit-able control circuitry, including a counting register provides a digital horizontal print point position sensing device 57. The sensing device 57 stores a true binary code 20 output that numerically represents the column position of print point 25 along the writing line 23.
The vertical motion transducer 43 is substantially r identical to transducer 54 and includes an emitter wheel 44, and an optical sense mechanism 45. Suitable control circuitry including a counting register provides a digital vertical print position sensing device 46. Sensing device 46 stores a binary code output which is numerically represen-tative of the writing line position of the page 24 within the typewriter 12.
A~s7~ 8 1 The lead screw 17 is driven through gears 27 and 29 by a direct current, forward and reverse drive motor 50. The printing mechanism 10 thus is positioned along the length of platen 22 by operation of the motor 50. To obtain precise positioning of the print point 25, a detent member 51 is normally engaged with a ratchet wheel 52 on the lead screw 17. When seeking a new typing field, electromagnet 53 is activated to withdraw the detent member 51 from ratchet wheel 52 and thereby free the lead screw 17 for movement 10 prior to driving of lead screw 17 by motor 50. Termination of lead screw rotation is followed by release of electro-magnet 53 and re-entry of the detent member 51 to again precisely position and hold the lead screw 17.
In summary, it is seen that the typewriter 12 provides a mechanism capable of positioning the print point 25 horizontally and vertically both in the forward and reverse directions. While a type impact printer has been illus-trated, those of skill in the art will recognize that a serial printer operating to produce visibly hard copy by 20 other techniques would be equally appropriate. For example, the printing mechanism 10 could employ a controlled ink jet spray, a thermal matrix, or an optical character generator with equal facility.
In operation, page 24 is inserted by the operator to align a fixed position on the page 24 with the print point 25. Reset key 61 is depressed to set the horizontal position sensing device 57 and vertical position sensing device llllS64 1. 46 to a zero or normalized position. Thereafter, all dis-2. placement of the print point 25 relative to the page 24 is 3. accounted for in the horizontal and vertical print point 4. position sensing devices 57 and 46 as unit displacement is 5. added or subtracted with the motion of either the platen 22 6. or carrier 10.
7. Referring now to Figure 2a, keyboard 18 is connected to 8. first character register 120 by leads 21. Characters keyed 9. on the Xeyboard 18 are stored in the first character re-10. gister 120 and are gated under control of the sequence 11. control circuit 32 by print gate 132 over bus 20 to print 12. mechanism 10 located in Figure 2. Information in the first 13. character register 120 is subsequently gated into the second 14. character register 125 under control of the sequence control 15. circuit 32 prior to the next character being keyed on the 16. keyboard 18. The contents of ~he second character register r 17. 125 are decoded by lead first character selection matrix 127 18. over line 561 to provide half the addressing information for 19. the intercharacter displacement memory 128. The next 20. character then enters the first character register 120 and 21. is decoded by the trailing character selection matrix 126 to 22. provide the second half of the address information to the 23. intercharacter displacement memory 128.
24. The intercharacter displacement memory 128 contains at 25. each address therein, a representation of the ideal spacing 26. value for the two characters which make up the address.
27. This spacing value is predetermined based upon the contours lll~S~

1 of the characters and permanently stored in the interchar-acter displacement memory 128. The displacement value, when read from the intercharacter displacement memory 128, is temporarily stored in character displacement register 129 and counted down to zero by multivibrator 130 which simul-taneously supplies pulses to increment the horizontal position register 131 to provide a running total of hori-zontal increments on the line being typed. In addition, the keyboard 18 signals the sequence control circuit 32 to increment the vertical position register 123 whenever the operator keys a carrier return or line feed code such that the vertical position register 123 always keeps track of the line on the page 24 onto which the typist is keying.
Values from the horizontal position register 131 and the vertical position register 123 are extended over cables 82 and 92 respectively to the horizontal and vertical posi-tioning circuitry in Figure 2 which operates as previously described. The sequence control circuit 32 signals gate 121 on line 552 to gate the contents of the horizontal position register 131 on data bus 82 into binary register 83 of Figure 2. As is well known in the art, the registers 83 and 93 are constructed to be overridden by whatever in-formation is gated into them. The contents of registers 83 and 93 are compared over lines 89 and 86 by comparators 85 and 95 to the contents of horizontal position sense register 57 on line 58 and vertical position sense register 46 on line 47 which contain the present print position of the carrier printing mechanism 10 on the page 24. An unequal comparison indicates that 1 the carrier 10 is not at the requested location on the page 24. A start carrier and page positioning signal is initiated by the sequence control circuit 32 on line 553 to latch 101 to cause the carrier 10 to escape the ideal amount of space for the two character pair determined from the inter-character displacement memory 128.
Referring now to Figure 3, for the case where the text is also to be right margin justified, keyboard 18 operates signal generator 26 which is connected by data bus 21 to byte register 29. These signals are decoded by logic block 28 and stored in page memory 31 by means of sequence control circuit 32 and AND gate 30 through bus 214 at a point de-signated by the character position register and line position register designated 33 and 34 respectively. Byte register
29 also provides information through print gate 35 to print-ing mechanism 10 over bus 20.
Still referring to Figure 3, old position register 313 has its input and output connected to character position register 33 through gates 314 and 315 respectively. If a line is overrun, i.e., the typist inadvertantly types more characters on the line than the line can hold, the old position register 313 contains a pointer which represents the position in page memory of the last word in the line which will have to be removed and placed on the succeeding line. New position register 311 is connected to character position register 33 through gate 312. The new position register 311 contains a pointer which points to the place at 5~4 1. the beginning of the next line to which the word is being 2. transferred. Movement of the word is accomplished by the 3. sequence control circuit 32 and gates 312, 314, 315, the 4. character position register 33, and line position register 5. 34.
6. Referring now to Figure 4, there is shown the inter-7. character displacement and escapement variance memory 2 8. which contains an ideal escapement increment value, a tight 9. escapement bit (when applicable), and a loose escapement bit 10. (when applicable) for each pair of adjacent characters which 11. can be typed on a page. These values in the escapement 12. variance memory 2 control the aesthetic quality of the 13. printed final copy. Different character fonts would contain 14. different values in the escapRment variance memory 2. Some 15. character combinations would have no tight bit indicating 16. that these characters should never be placed closer than the 17. ideal spacing value. An illustration of this would be two 18. adjacent M characters (MM). Some character combinations 19. would contain no loose bit because separating these charac-20. ters any farther than their ideal value would reduce the 21. aesthetic quality of the printing typing also. An illus-22. tration of this type of character pair would be the typing 23. adjacent A characters (AA). An illustration of a character 24. which can be easily be tightly coupled with the next charac-25. ter would be the combination AW. Similarly, the MM pair 26. could easily be loosely coupled, affording more space be-27. tween the two adjacent vertical bars of M.

llil5~;4 1. Tables 1 and 2 show examples of character combinations 2. in which space units may be deleted from or added to the 3. character pairs. These tables are not purported to be all 4. inclusive and are based on a printer having 120 units per 5. inch of horizontal space. The character combinations will 6. vary according to the escapement capability of the printer 7. being used.
8. TABLE 1. DELETION LIST
9. Full Space Delete 10. AT AV AW AY FA LT LV
11. LW LY PA TA VA WA YA
12. All combinations ending with 13. ., ;.
14. Half Space Delete 15. AC AG AO AQ AU AV AW CQ DA DT DW DY FI FJ FL FT
16. FV FW FX FY IT IW IY KO KZ LC LO LU LQ OA
17. OT OV OW OX OY PF PL QA QT QV QW QX QY RC
18. RE RF RG RK RL RO RP RQ RT RV RW RY ST SW
19. SY TC TE TF TG TJ TK TL TO TP TQ TR VA VT
20. VC VE VF VG VK VL VO VP VQ WC WE WF WG WL
21. WO WP WQ WR XC XE XF XG XK XL XO XP XQ XR
22. YC YE YF YG YK YL YO YP YQ YR ZC ZE ZF ZG
23. ZK ZL ZO ZP ZQ ZR ZT
24. Ta Tc Te Ti Tj Tm Tn To Tp Tq Tr Ts Tu 25. TV TW TX Ty Tz Va Vc Ve Vg Vi Vj Vm Vu Vo 26. ~p Vq Vr Vs Vu Vw Wa We Wi Wo Wr Ya Ye Yc 27. Yi Yo Yr (Any character preceding or following I) 28. fi fl ff (Any character preceding or following f i j 1 r s 29. t)
30. TABLE 2 ADDITION LIST
31. Full Space Addition
32. Any combination of upper case letters except A, T, V and
33. immediately following L.
34. Any com~ination of upper case and lower case except following
35. A, L, T and V.
36. Any combination of lower case letters.

1 Half Space Addition Any combination of upper case letters except A, T, V
and immediately following L.
Any combination of upper and lower case except following A, L, T and V.
Any combination of lower case letters.
The escapement variance memory 2 is accessed by the combination of the decode of the last character keyed on the keyboard 18 and the decode of the previous character 10 keyed on the keyboard 18. Last character decode 37 has its input connected to byte register 29 over bus 591 to receive from the keyboard 18 the last character keyed thereon. This character is decoded by last character decode circuit 37 and provides one-half of the address to the escapement var-iance memory 2. The previous character keyed on the keyboard 18 is gated by sequence control circuit 32 through gate 91 on bus 373 into previous character register 39. The content of previous character register 39 is decoded by a previous character decode circuit 38 and provides the second 20 half of the address to the escapement variance memory 2.
The output of the escapement variance memory 2 provides an ideal escapement on bus 223 for the two character pair and, if applicable, a loose character bit indication on bus 230 or a tight character bit indicator on bus 222.
Figure 4 also contains a gate 60 which is activated over line 213 by sequence control 32 to store the type-writer right margin value in register 307 over bus 58 from the horizontal position sense register 57 and a line analysis circuit 7 enclosed by the dashed lines for comparing the right 30 margin value with the total escapement values of tightly ;64 1. coupled, ideally coupled, and loosely coupled lines to 2. determine whether the line being processed is case 1 (the 3. ideally coupled line), case 2 (the tightly coupled line), or 4. case 3 (the loosely coupled line). For simplicity, this 5. implementation illustrates only one degree of tightness and 6. looseness in coupling characters.
7. It is obvious, however, that at least one or two more 8. degrees of looseness could result in two additional cases.
9. In addition, a matrix of relative aesthetic goodness of 10. adjustment values could be appended to the preceding to 11. allow another judgemental factor to be entered into the 12. justification computation to discern appropriately between 13. alternative intercharacter displacement options within a 14. word or within a line. If the machine described is to 15. provide a justified final copy, the total escapement value 16. for each line on the page is the value found in the printer 17. right margin register 307. If a line i5 determined to be a 18. case 1 line, the escapement between each pair of characters 19. in that line would be that of the ideal escapement value.
20. Where the ideal escapement value total falls short of the 21. right margin register value, a case 3 line results. For 22. case 3, a certain number of characters which can be loosely 23. coupled provide additional escapement increments to bring 24. the total escapement of the line equal to the value of the 25. right margin register 307. Where the total value of the 26. ideal escapement register exceeds that of the right margin 27. register, a case 2 line results. In a case 2 line, some l:lllS~

1. tightly coupled escapement values are used in order to 2. reduce the total escapement value of the line to agree with 3. the right margin register 307.
4.Referring now to Figure 5, there is illustrated the 5. means by which the tight, ideal, and loose line totals 6.located in register 66, 67, and 68 respectively, are ob-7. tained from the intercharacter displacement and escapement 8. variance memory 2 in Figure 4. In addition, the apparatus 9. in Figure 5 calculates the difference in escapement between 10. the margin and the ideal values and registers it in the de-11. viation register 69.
12. Where line justified typing is undesirable prior to 13. final playout, the operator may strike the ragged right 14. button 3 on keyboard 18 and this will be stored in the 15. se~uence control circuit 32. As a result, the deviation 16. register 69 will be modified by the sequence control circuit 17. in conjunction with gate 377, ragged right register 378, and 18. ragged right memory 379.
19. Operation:
20. Proportional Spacing; Referring now to Figures la, 2, and 21. 2a, the operation of the machine as a proportional spacing 22. printer will be described. Input characters keyed on the 23. keyboard 18 are passed to the first character register 120 24. over data bus 21. In addition, keyboard 18 alerts the 25. se~uence control circuit 32 over lead 573 that the operator 26. has keyed a character. Each time a character is keyed, it 27. is placed in the first character register 120 and decoded by AT9-76-OlU 17 lS~4 1 circuitry therein to determine if it is a printed character, a space, or a carrier return. If it is a space, the first character register 120 initiates a signal on lead 568 to sequence control circuit 32 and AND gate 133. If it is a carrier return, the first character register 120 initiates a signal on lead 555 to the sequence control circuit 32 and AND gate 133. Either of these two signals will inhibit the AND gate 133 from activating the print gate 132 over lead 580. If the entry into the first character register 120 is a printable character, then the output on both leads 555 and 568 remain at a logical zero and are inverted to logical ones at the input of AND gate 133. The sequence control circuit 32 then signals on lead 581 to AND gate 133, which in turn signals on line 580 to print gate 132 causing print gate 132 to connect bus 560 from the first character register to bus 20 to the printing mechanism 10.
Following this, the sequence control circuit 32, over lead 569, gates the contents of the first character register 120, by way of gate 124, into the second character register 20 125 and resets the first character register 120. When the operator types the second character by means of keyboard 18, the content is stored in the first character register 120 by way of leads 21 as before. Again, lead 573 signals the sequence control circuit 32 that the second character has been keyed. The sequence control circuit 32 then initiates a signal on lead 563 to the intercharacter displacement memory 128. Memory 128 is addressed by means of the lead character 1. selection matrix 127 and the trailing character selection 2. matrix 126 being driven by the second character register 125 3. and the first character register 120, respectively. The 4. resulting output from the intercharacter displacement memory 5. 128 is an incremental count representing the displacement in 6. increments of horizontal spacing between the first character 7. keyed and the second character keyed. Each time another 8. character is keyed by the operator the preceding character 9. is shifted into the second character register 125 and the 10. new character enters the first character register 120 and 11. the memory 128 is interrogated to find the new displacement 12. between these characters. In this manner the displacement 13. between the two characters is not merely a function of the 14. character width of each of the characters, but rather may 15. differ between characters of the same width depending upon 16. the shape of the characters.
17. After the intercharacter displacement memory 128 has 18. read its value into the character displacement register 129, 19. the sequence control circuit 32 starts multivibrator 130 by 20. means of lead 564. Multi~ibrator 130 in turn causes pulses 21. on lead 565. These pulse each subtract the count of one 22. from character displacement register 129 until lead 566, 23. back to the sequence control circuit 32 from the character 24. displacement register 129, indicates no more increments 25. remain within the character displacement register 129.
26. Simultaneously, lead 565 was also incrementing the hori-27. zontal position register 131 with each of the pulses from liil5~;4 1 multivibrator 130. The result is that the count originally 2. placed in the character displacement register 129 by the 3 intercharacter displacement memory 128 is transferred to the ~, horizontal position register 131. Following this, the sequence control circuit 32 initiates a signal on line 552 6. to gate the absolute horizontal position of the print mecha-7 nism from the horizontal position register 131 by means of 8. gate 121 to the horizontal data bus 82. Sequence control 9, circuit 32 also initiates a signal on lead 553. Lead 553, 10. in conjunction with the data bus 82 causes the horizontal 11 positioning mechanism of the printer to position the print 12. point 25 at the ideal distance from the point at which the 13. first character was printed. On completion of the printing, 14 the positioning circuitry sends a signal on lead 554 back to 15. the sequence control circuit 32 and the signals on leads 552 16. and 553 are removed. The sequence control circuit 32 then 17. sends a signal on lead 581 which causes the print gate 132 18. by means of AND gate 133 to gate the second character to be 19 typed from the first character register 120 to the print mechanism 10 over data buses 560 and 20. The print mecha-21. nism 10 functions as previously described and prints the 22. second character keyed. Following this, the sequence con-23. trol circuit resets the second character register over lead 24. 571, gates the contents of the first character register 120 25. into the second character register 125 through gate 124, and 26. resets the first character register 120 over lead 570. At 27. this point, the printer is ready to accept the next key-28. stroke from the ~ey~oard.

11115~

1. The operator then precedes to key the rest of the 2. characters on the line in the same manner as described 3. above, including Space characters which function identically 4. with the print characters with respect to the intercharacter 5. displacement memory 128. However, the space characters do 6. not print since the space character causes a signal on lead 7. 568 to AND gate 133 which inhibits the sequence control 8. circuit 32 from selecting the print gate 132 through AND
9. gate 133. Therefore, whenever a space character resides the 10. first character register, a horizontal positioning sequence 11. will takeiplace, but a print sequence will be blocked at the 12. AND gate 133. On finishing the line the operator keys a 13. carrier return at keyboard 18 which is encoded in the first 14. character register 120 by means of leads 21 and initiates a 15. signal on lead 573 to the sequence control circuit 32 in-16. dicating that a character has been keyed. The first chara-17. cter register 120 initiates a signal on lead 555 to the 18. sequence control circuit 32 and to AND gate 133 which lg. inhibits print gate 132. The sequence control circuit 32 20. then resets horizontal position register 131 through lead 21. 567 and advances the vertical position register 123 through 22. lead 556. Following this the sequence control circuit 32 23. gates the contents of the horizontal position register over 24. lead 552 onto data bus 82 and starts the positioning se-25. quence over lead 553. When the positioning sequence is 26. completed, as previously described, the positioning cir-27. cuitry located on Figure 2 signals on lead 554 back to be 28. sequence control circuit 32 indicating that the carrier 1. return function has been performed. The sequence control 2. circuit then resets the first character register 120, and 3. the second character register 125 in preparation for print-4 ing the next line. Each subsequent line is printed in the 5. same manner as that described for the first line.
6. Justification: If the operator wishes to have the text 7. keyed on the keyboard right margin justified by the printer, 8. the ragged right key 3 (Figure la) must remain in the un-9. depressed position. Referring now to Figures 3, 4 and 5, in 10. order to type the first character, the operator will strike 11. one of the character keys on keyboard 18, causing the key-12. board signal generator 26 to encode that keystroke on l~ads 13. 21. These signals are registered in byte register 29 and 14. are decoded at logic block 28. If the character struck was 15. an alphabetic character, lead 208 will provide a signal to 16. sequence control circuit 32 indicating that the operator has 17. typed the character. There will be no output on leads 204, 18. 2n5, 206 or 207.
19. The sequence control circuit 32 then provides a signal 20. on lead 209 gating the output of the byte register 29 21. through print gate 35 onto print control bus 20. This 22. causes the print mechanism 10 to position element 16 and 23. print the corresponding character on the page at a point 24. designated by registers 83 and 9~ as heretofore described.
25. In addition, the sequence cntrol circuit 32 writes the 26. character residing in the byte register 29 into the page 27. memory 31 by means of write gate 30 and increments the 1 character position register 33 by one over lead 560. The sequence control circuit 32 next initiates a signal on lead 220 which activates gate 91 to transfer the character from the byte register 29 into the previous character register 39.
Escapement of the print mechanism 10 to the next char-acter print position 25 does not occur at this time, but is inhibited until the operator keys the next character. This is necessary since the space between the first character and second character will depend on the contour of the second character typed.
When the operator strikes the second character to be printed on the page 24, keyboard 18 codes byte register 29 through keyboard signal generator 26 over lines 21. Since the second character is also an alphabetic character, logic block 28 will output a signal to the sequence control circuit 32 over lead 208. With the byte register 29 and previous character register 39 providing address information through the decode circuits 3~ and 38 respectively, the sequence control circuit 32 reads from the escapement variance memory 2 over lead 221. If the "couple", consisting of the first and second characters typed, is considered to be one which could be moved closer together than the ideal displacement, lead 222 will set the tight character register 71. In addition to this the number of ideal increments of escape-ment between the two characters will be registered in the ideal incremental register 72 over lead 223. When this is completed the sequence control circuit 32 will activate multivibrator liilS64 1 73 over lead 224 and open gate 75 over lead 225. Each operation of the multivibrator 73 will cause a pulse on lead 226 which will decrement the ideal increment register 72 to its zero state. When this occurs the ideal incremental register 72 will provide a signal on lead 227 back to the sequence control circuit 32 which removes the signal from lead 224 and the multivibrator 73 stops pulsing.
In addition to pulsing the ideal incremental register 72, lead 226 adds the ideal count to the t:ight total regis-ter 66, ideal total register 67 and loose total register 68through gates 76, 75, and 77 respectively by means of lead 400 and lead 225 through OR gate 575. Following this, if the tight character register 71 has been set from the escape-ment variance memory 2, the sequence control circuit 32 initiates a signal on lead 228 to single shot 78 which causes one unit to be subtracted from the tight total regis-ter 66 by means of gate 79 which has been opened by lead 229 from the tight character register 71. The result of this is that the ideal escapement increment countdown be-tween the first character typed and the second charactertyped has been recorded in the ideal total register 67 and in the loose total register 68. The tight total register 66, however, contains a count one less than the other two registers 67 and 68.
The sequence control circuit 32 next initiates a signal on lead 253 causing gate 316 to gate the total from the ideal total register 67 onto lead 82 to register 83 of the print l~llS~4 1. point positioning circuitry found in Figure 2 and initiates 2. a signal on lead 553 causing the positioning sequence to 3. occur. This causes the printer to move the necessary number 4. of increments to the right to allow ideal spacing between 5. the first character keyed and already printed on the page 6. and the second character keyed which will be printed next.
7. The sequence control circuit 32 initiates a signal on 8. lead 209 to print gate 35 setting the print command over 9. leads 20 to the print mechanism 10 and the second character 10. is printed in the same manner as the first character. In 11. addition, the sequence control circuit operates gate 30 and 12. records the character located in the byte register 29 by 13. means of right lead 508 in its proper position in page 14. memory 31 and again increments character position register 15. 33 over lead 560. Following this, the sequence control 16. circuit 32 gates the value of the second character typed 17. from the byte register 29 into the previous character re-18. gister 39 over lead 220, which completes the sequence by 19. which the second character is printed.
20. This leaves the printer in a position where it has 21. printed the first character, then escaped and printed the 22. second character. The operator then keys the next character 23. and it is again recorded in byte register 29. This infor-24. mation is forwarded to the sequence control circuit again 25. over lead 208 and the sequence control circuit in turn reads 26. from the escapement variance memory 2 over lead 221. This 27. time, however, the "couple" between the second and third li 115~4 1. characters keyed typed is considered loose. That is, the 2- distance can be increased by one increment without substant-3- ially effecting the aesthetic quality of the print. As a 4-result, a loose character register 300 is set over lead 230 5- and again the ideal value of the escapement between the 6- second and third characters is registered in the ideal 7- incremental register 72 over lead 223.
8-Following this, the sequence control circuit 32 starts 9- multivibrator 73 over lead 224 and reduces the count in the 10.ideal incremental register 72 over lead 226. In addition, 11. the pulses on lead 226 increase the total count in the tight 12- total register 66, the ideal total register 67, and the 13- loose total registex 68 by the number of increments being 14- registered in the ideal incremental register 72. When the 15- ideal incremental register 72 has been reduced to zero, a 16. signal on lead 227 is sent to the sequence control circuit 17- 32. This causes the sequence control circuit 32 in turn to 18- initiate a signal on lead 228 and cause single shot 78 to 19. increase the count in the loose total register 68 by one 20- through gate 301 which has been opened by lead 232 from the 21- loose character register 300.
22. Following this, the printer performs an escapement 23- sequence, prints the third character, and upgrades the page 24- memory as has been previously described. The operator then 25- continues keying each character of the first line in the 26- same manner as has been described.
27. Each time the operator completes a word, the sequence 28-control circuit 32, over lead 233, examines the results of ~lllS~4 1 the line analysis circuit 7 consisting of compare circuits 304, 305, and 306, ar.d AND circuits 302 and 303. These compare circuits 305, 306 and 304 will compare the value of the total escapement in the tight, ideal, and loose total registers 66, 67 and 68 with the value in the printer right margin register 307 over lines 595, 596, 597 and 594. If the ideal total register 67 is equal to the right margin register 307, lead 235 will set the case 1 register 65 via lead 256 and gate 403, and send a signal back to the sequence control circuit 32 over leads 239 and 240 through OR gate 308. This time the sequence control circuit 32 gates a carrier return code by means of circuit 309 and leads 240 and 590 into byte register 29 so that when the write command on lead 508 is issued by the sequence control circuit 32 the last character on that particular line in page memory 31 will be a carrier return. After storing the carrier return in page memory 31 sequence control circuit 32 incre-ments the line position register 34 over lead 201 and resets the character position register 33 over lead 200. Following this, the sequence control circuit 32 initiates a positioning sequence over lead 553. The page 24 is indexed one line and the print mechanism is returned to the left margin 26 as a result of this action.
If during the line analysis caused by the signal on lead 233 from the sequence control circuit 32, the ideal total register 67 did not compare e~ual with the right margin register 307, as will generally be the case, the margin register 307 will either be larger or smaller than the ideal total register 67. If the right margin register B

111~564 1 307 is smaller than the ideal total register 67 and the right margin register 307 is equal to or greater than the tight total register 66, the line analysis circuit 7 will initiate a signal on line 236 via AND circuit 303 and gate 401 and set the case 2 register 64. Case 2 represents the situation where the operator has over typed the right margin.
However, the amount of overtyping can still be compensated for by reducing the intercharacter spacing between those particular characters which allow such a reduction without 10 appreciably reducing the aesthetic quality of the printing.
The loading of the case 2 register 64 sets a signal on lead 241 back to the sequence control circuit 32 which in turn terminates the line in exactly the same manner as described for case 1.
If during the line analysis, however, the total in the right margin register 307 exceeded the total in the ideal total register 67 and the total in the right margin register 307 was less than or equal to the total in the loose total register 68, the analysis circuit will provide a signal on 20 lead 237 via AND circuit 302 and gate 404. This signal will set the case 3 register 63. The case 3 register 63 in turn would set a signal on lead 242 back to the sequence control circuit 32 which would operate a bell 8 over lead 243 alert-ing the operator that the line can now be terminated. The sequence control circuit 32 now waits for a further indica-tion from the operator as to whether an additional short word will be squeezed in on this line or the line terminated lili'j~.4 1 with the next word beginning on the next line.
If the operator strikes any key but a printed character, the sequence control circuit 32 will terminate the line in exactly the same manner as for case 1 or case 2.
If the operator continues by typing a printable character this coded character will enter the byte register 29 and signal the sequence control circuit 32 over lead 208. The sequence control circuit 32 will then terminate the previous word by gating a space code from the circuit 310 by means of lead 238 into the page memory 31 and write this space into the page memory 31 by means of lead 508.
No escapement sequence will occur at the time this space is entered into page memory 31, but rather the sequence con-trol circuit 32 will process the next character by means of the escapement variance memory 2 in the same manner as before described. Xowever, when the total registers 66, 67 and 68 are updated, the increments provided by the escapement var-iance memory 2 between the preceding space and the first printed character in the word will contain the extra amounts of increment necessary to include the space. Since, in our system, positioning always occurs before printing, the additional spacing increments will be taken care of during positioning before the print sequence starts which will print the first character of this additional word on the line.
The operator then continues keying this word as hereto-fore described and the same analyzing sequence will take 1 place at the end of the word. If, at the end of the word, it is determined that the right margin register 307 is less than the tight total register 66, indicating that the line cannot be justified with this additional word, the analysis circuit 7 will set a signal on lead 234 through gate 210 and an erase memory sequence will take place.
The erase memory sequence consists of backspacing and overstriking the last word printed and causing the printer to carrier return to the next line where the word just over-struck is automatically reprinted. This sequence alsoincludes updating the page memory properly and is begun by the sequence control circuit 32 issuing a signal on lead 246 which decrements the character position register 33.
After the count in the character position register 33 is reduced by one, the sequence control circuit 32 causes a read operation from the page memory 31 to occur over lead 251 and the information read from the page memory 31, which at this point consists of the last character of the word to be removed, is placed ~n the byte register 29. Decode 28 then sets a signal on lead 208 indicating that the character is not a space. This causes the decrementing sequence (reducing the count in the character position register 33) to continue until the logic block 28 indicates that the character position register 33 is positioned to the space preceding the word which is to be removed from the line.
The sequence control circuit 32 then replaces the space with a carrier return code in the byte register 29 by means of ., ~ ..
~ 'P

liilS6~

1 lead 240 and encode CR circuit 309 and writes the carrier return code into page memory 31 by means of write lead 508 and gate 30. The sequence control circuit 32 then incre-ments the character position register 33 by one so that it is now pointing at the first character position of the word to be removed. The sequence control circuit 32 resets the old position register 313 over line 249 and signals to gate 314 over lead 244 to register this position in the old position register 313. The sequence control circuit 32 10 also initiates a signal on lead 245 resetting the new position register 311.
Next, the sequence control circuit upgrades the page memory by reading the first character of this word into the byte register 29 by means of lead 251 and gate 70, increment-ing the line register 34 over lead 201, gating the value of the new position register 311 into the character register 33 via line 212 and gate 312, and writing the value of the byte register 29 into the page memory 31. This puts the first character of the last word of the preceding line into the 20 first position in the next line in the page memory 31. Then the sequence control circuit 32 gates the value in the old position register 313 into the character position register 33 via gate 315 and lead 247, increments the character posi-tion register 33 by one over lead 560, and decrements the line position register 34 by one count over lead 252 which places the page memory 31 back on the preceding line at the second character of the word to be removed. Again, the value in the page memory 31 at this point is read by sequence control cir_uit 32 over lead 251 into the byte register 29, causing an 30 output on l`l~lS~

1. lead 208 back to the sequence control circuit 32 from the 2. decode logic block 28. The sequence control circuit again 3. gates the value of the character position register 33 into 4. the old position register 313 and increments the new posi-5. tion register 311 over lead 248. The sequence control 6. circuit 32 increments the line position register 34 and 7. gates the new position register 311 into the character 8. position register 33. A~ this point the content of the byte 9. register 29 is gated back into the page memory 31 via lead 10. 508 and as a result the second character of the word to be 11. eliminated from the previous line has been placed in page 12. memory 31 as the second character of the new line. This 13. sequence will continue in the same manner until the bytes 14. being read from the page memory 31 by the old position 15. register 313 is decoded by logic block 28 as a space over 16. lead 204. When this occurs, the system places a space 17. terminating the word being transferred into memory in the 18. same manner as the characters described heretofore and 19. determines that the entire word is now been relocated in 20. memory 31 as the first word in the new line. The sequence 21. control circuit 32 then starts the printer repositioning 22. sequence by first resetting the character position register 23. 33. Next, the entire line is read one character at a time 24. from the page memory 31 and inserted into the byte register 25. 29. Each time the byte register 29 is filled the total in 26. sequence is repeated and as a result the ideal total re-27. gister 67 contains the total count within the line when the l;lliS~

1. logic block decode circuit 28 finds the carrier return code 2. which was placed in the memory 31 during the erase memory 3. sequence. At this point, the sequence control circuit 32 4. increments the character position register 33 once more and 5. reads the first character of the word that has just been 6. repositioned from the page memory 31 into byte register 29, 7. upgrades the ideal total register 67 and causes the value in 8. the ideal total register 67 to be gated via gate 316 to 9. signal lead 82 through control lead 253. The sequence 10. control circuit 32 initiates a signal on lead 553 starting a 11. repositioning sequence which brings the print element 16 12. over the first character of the word to be eliminated in 13. this line. When this is completed, the positioning circuit 14. initiates a signal on lead 106 and the sequence control 15. circuit 32 gates a print/command via circuit 317 and lead 1~. 250 onto bus 20 causing the print mechanism 10 overstrike a 17. slash on the first character to be eliminated from the line.
18. The sequence control circuit 32 then increments the 19. count in the character position register 33 and the slash is 20. printed over each of the remaining characters in the word to 21. be eliminated. When the decode 28 again decodes a space in 22. the byte register 29, it signals the sequence control cir-23. cuit 32 OIl lead 204 which causes the line position register 24. 34 to increment by one and which resets the character posi-25. tion register 33. Again, the sequence control circuit 32 26. requests a positioning sequence and the carrier 10 is moved 27. to the first position of the next printing line automatically.
28. Following this the sequence control circuit 32 reads the 111~564 1. first character from the next line and performs the print 2. routine via print gate 35 which results in printing the 3. first character of the overstruck word at the beginning of 4. the next line. The second character is then read from 5. memory 31 and, utilizing the escapement variance memory 2 6. and the positioning circuitry (Figure 2), the intercharacter 7. escapement is performed by the printer followed by the 8. printing of the second character. In this way all of the 9. characters of the word eliminated from the previous line are 10. introduced as the first word of the new line and operator 11. continues keying on the new line exactly in the same manner 12. as described for the previous line.
13. Any time during the printing of ~he line when the 14. operator keys a space and the line analysis circuit finds 15. that the right margin register 307 is less than the loose 16. total register 68 the space, which is already located in the 17. ~yte register 29, is gated into the page memory 31 via lead 18. 253 and written there by a signal on line 508. No escape-1~. ment occurs at this space but rather escapement will occur 20. after the operator has keyed the next character and prior to 21. the printing of that character.
22. The operator then proceeds to key all of the remaining 23. lines in the same fashion. On completion, the document has 24. been printed with the ideal intercharacter spacing but has a 25. ragged right margin and might have overstrikes in line 26. ending positions due to overkeying of a line. The page 27. memory 31, however, now contains data which, when played 11115~i4 1 out, can produce a document with no further operator de-cision that contains a justified right margin and still maintains excellent printing appearance.
After completing the keying of the page of text, the operator adds a clean sheet of paper and depresses the auto/playout button 19 on the keyboard 18 to produce a final copy. This is encoded by the keyboard signal generator 26 and placed in byte register 29. Decode logic block 28 indicates on lead 206 to sequence control circuit 32 that the auto/playout 19 button has been depressed. The sequence control circuit 32 then resets the character position reg-ister 33 on line 200, the line position register 34 on line 215, the ideal increment register 72 on line 216, the tight and loose registers 71 and 300 on line 216 and all of the total registers 66, 67 and 68 on line 202. Following this, the read command is issued on control lead 251 to the page memory 31 and the first byte in page memory 31 is placed in the byte register 29 via gate 70 and signal lead 254. The content of the byte register 29 in turn is gated into the previous character register 39 following which the sequence control circuit 32 increments the character position regis-ter 33 to the second character in the line. Again the sequence control circuit 32 reads the second character from page memory 31 into the byte register 29. Next the sequence control circuit reads from the escapement variance memory 2 and records the ideal increment value in the ideal incre-ment register 72 as heretofore described. In addition, the right total register 66, the ideal total register 67, i4 1 and the loose total register 68 are increased to a value determined by the tight character register 71, the ideal increment register 72 and the loose character register 300.
This sequence of upgrading the total registers 66, 67 and 68 will continue until the character read from page memory 31 into the byte register 29 is decoded by logic block 28 to be a carrier return. When this occurs, case 1 register 65, case 2 register 64 or case 3 register 63 will be set as a result of the comparison of the totals on lines 595, 596 and 597 with the total on line 594 by the line analysis circuit consisting of comparators 304, 305 and 306 and logic circuits 302 and 303.
The number of increments to be added or subtracted from the ideal value of displacement for each character pair in the line just totaled must now be determined. To do this, the sequence control circuit 32 signals on lead 224 to multivibrator 73 and pulses on lead 226 are gated to the ideal total register 67 through either add gate 75 if the line of print being processed has been determined to be a case 3 or a subtract gate 321 if the line has been determined to be case 2 line. For a case 3 line, multivibrator 73 will add increments to ideal total register 67 until com-parator 306 indicates that the ideal total register 67 is equal to the printer right margin register 307 by signall-ing on lead 256. When this occurs sequence control circuit 32 releases lead 224 stopping multivibrator 73.
During the time when the multivibrator 73 is pulsing, the sequence control circuit 32 also signals lead 257 to gate 322 which allows multivibrator pulses to increment the 1 "' 1. deviation register 69 over lead 258, thus the deviation re-2. gister 69 provides a count of the number of increments which 3. must be added to a given line in a case 3 line to expand 4. that line from the ideal total to the number required to 5. equal the right margin register total.
6. During line analysis the line was determined to be a 7. case 2, at the time multivibrator 73 is pulsing, subtract 8. gate 321 will reduce the ideal total register 67 rather than 9. increase the total as in case 3. Again, when the ideal 10. total register 67 equals the right margin register 307, the 11. compare circuit 306 will provide a signal on lead 256 back 12. to the sequence control circuit 32 stopping multivibrator 13. 73, but as described before, gate 322 will record these 14. multivibrator pulses in the deviation register 69 so that 15. the difference register will contain the number of incre-16. ments which must be subtracted from the line in order to 17. have to the total number of increments in the line equal to 18. the total registered in the right margin register 307.
19. After the deviation register 69 has been set the 20. sequence control circuit again resets the total registers 21. 66, 67, and 68, the tight and loose character registers 71 22. and 300, and the ideal increment register 72 as well as the 23. character position register 33. The page memory 31 again 24. provides, by means of gate 70 and read line 251, the value ~5. of the character in the first position of line to byte 26. memory 29. If it was determined by analysis circuit that 27. the first line to be played back was a case 2 line, the case 111~564 1. 2 register would still be set at this time. The sequence 2. control circuit 32 next causes the print gate 35 to print 3- the character stored in the byte register 29 and gate the 4- first character via 373 into the previous character register 5- 39. Next the sequence control circuit 32 increments the 6. character position register 33 and the page memory 31 pre-7. sents the second character into the byte register 29. The 8. sequence control circuit 32 then reads from the escapement 9. variance memory 2 into the tight character register 71, 10. loose character register 300, and the ideal increment re-11. gister 72. After this multivibrator 73 is again started 12. over lead 224 and the value registered in the ideal in-13- crement register 72 is entered into the ideal total register 14- 67. The sequence control circuit 32 signals on lead 255 to 15- AND circuits 318 and 319 and signals on lead 228 to single 16. shot 78. Single shot 78 pulses lead 231 causing subtract 17. gate 320 to decrement the ideal total register 67 by one.
18. The subtract gate 320 had previously been closed by lead 260 19. which was set through AND circuit 318 for any case 2 line 20. when the tight character register 71 is set by the escape-21. ment variance memory 2. Simultaneously AND circuit 318 also 22. fires single shot 374 through OR gate 375. This single shot 23. decrements the difference registex 69 by one increment.
24. The sequence control circuit then signals on lead 253 25. to gate 316 which gates the value in the ideal total re-26. gister 67 onto lead 82 back to register 83. Next the 27. sequence control circuit causes a positioning sequence by 5~4 1. initiating a signal on lead 553. This causes the print 2. element 16 to be moved to the next character position on the 3. line, however, the spacing between the first two characters 4. is one increment less than ideal in order to compact the 5. line enough so that the right hand margin on all lines will 6. be identical. If the tight character register 71 had not 7. been set by the escapement variance memory, an ideal spacing 8. would occur between the first and second characters. Single 9. shot 78 will only be used to reduce the ideal total register 10. until such time as the deviation register 69 is empty.
11. After which time all characters in the line will be spaced 12. apart by the ideal value.
13. If the line had been a case 3 line, during the sequence 14. in which the deviation register 69 is set, lead 261 would 15. signal add gate 75 through circuit 575 and instead of sub-16. tracting from the ideal total 67 the multivibrator 73 would 17. add increments to total register 67 until such time as it 18. equals the right margin register 307. During the printout 19. of a case 3 line, when loose character register 300 is set, 20. single shot 78 increments the ideal total register 67 by 21. means of add gate 376, causing the two adjacent characters 22. to be one unit farther apart that the ideal space rather 23. than one unit closer together as for the case 2 line. Also, 24. when loose character register 300 is set, AND gate 319 will 25. gate add gate 376 and also single shot 374 through OR gate 26. 375. Single shot 374 will also subtract one unit from 27. deviation register 69 until the difference register has been 1111~;~i4 1. reduced to zero. This causes all loose "couples" in a case 2. 3 line to be expanded by one increment until the deviation 3. register 69 has been reduced to zero. The result will be 4. that the line will be expanded to the value registered in 5. the right margin register 307.
6. During the previous description, the resulting product 7. was a page with all lines justified. For some types of 8. business operations justified copy is considered an extra-9. vagance or possibly less personal than type written copies 10. with a ragged right margin. In order to allow this ragged 11. right margin, but decrease its deviation to a significant 12. extent, while removing the necessity for operator inter-13. vention, the preceding sequences are used with the addition 14. of the following procedure. First, prior to depressing the 15. auto/playout key 19, the operator depresses the ragged right 16. key 3. This code is placed in byte register 29 and decoded 17. by logic block decode 28 over lead 207 which sets a ragged 18. right mode register in the sequence control circuit 32 for 19. later use. Then after the deviation register 69 has been 20. set, as described during the difference determination se-21. quence, the sequence control circuit 32 signals on lead 263 22. which gates the value then located in deviation register 69 23. ~y means o~ gate 377 into ragged right register 378. The 24. ragged right register in turn selects a position in ragged 25. right memory 379. Next the sequence control circuit 32 26. initiates a signal a lead 264 which reads out of the ragged 27. right memory 379 and places this value back into the de-28. viation register 69. This new value in the deviation llllS64 1. register 69 will cause the right margin of the page being 2. printed to vary by less than one-half inch in all cases.
3. The result is a varying typewritten copy with a right margin 4. varying by a maximum one-half inch.
5. While the invention has been particularly shown and 6- described with reference to a preferred embodiment thereof, 7. it would be understood by those skilled in the art that the 8. foregoing and other changes in form and detail may be made 9. therein without departing from the spirit and scope of the 10. invention. For example, the apparatus of this invention 11. could be used to proportionally space and justify text input 12. from magnetic media or communicated to the system as well as 13. text input from a keyboard as described herein. Furthermore, 14. it is obvious that variable interword spacing may be combined lS. with the described intercharacter spacing without departing 16. from the scope of this invention.

Claims (17)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. Apparatus for producing proportionally spaced printing comprising:
a printer having variable escapement capabilities, a source of characters to be printed, means for receiving a first character to be printed, means for controlling said printer to print said first character, means for receiving a second character to be printed, storage means having stored therein predetermined inter-character escapement values for respective combinations of characters based on the contours of the characters and the aesthetic appearance of the combination of characters, means for accessing intercharacter escapement values for the combination of said first and second characters based on the contours of said characters including means for addressing said storage means at an address determined by the combination of the last character printed and the next character to be printed, means for selectively applying said escapement values to said printer; and means for controlling said printer to print said second character adjacent said first character such that a predeter-mined aesthetic appearance is maintained.
2. The apparatus for producing proportionally spaced printing of claim 1 wherein said means for addressing said storage means further includes a lead character selection matrix for decoding the character already printed to provide the first half of the address to said storage means and a trailing character selection matrix for decoding the next character to be printed to provide the second half of the address to said storage means.
3. Apparatus as defined in claim 1 and further including, means for defining the length of a printing line, and means for applying said escapement values to said print-ing mechanism such that the length of the line printed equals the defined line length.
4. The apparatus as defined in claim 3 wherein said means for producing escapement values includes a storage means having prestored therein escapement values for combinations of characters based on the contours of the characters and the aesthetic appearance of the combinations of characters.
5. The apparatus as defined in claim 4 wherein said storage means has prestored therein ideal escapement values and modified escapement values for combinations of characters based on the contours of the characters and the aesthetic appearance of the combinations of characters.
6. Apparatus for producing proportionally spaced printing as defined in claim 1 or claim 2 and further including posi-tion storage means for accumulating the horizontal and ver-tical position of said printer on a page, means for adding said escapement value found at said address in said storage means to said position storage means, and means for controlling said printer to escape to the print position defined by said position storage means and print the next character.
7. Apparatus as defined in claim 1 and including means for printing text with a limited variable right margin comprising:
means for defining a range of values for the right margin of a printing line, and means for applying said escapement values to said print-ing mechanism such that the length of the line printed falls within the defined right margin range of values.
8. Apparatus for printed text with a limited variable right margin comprising:
memory means containing predefined ideal escapement values and modified escapement values for intercharacter spacing based on the contours of the characters, a character source, a variable spacing printing mechanism, means for accumulating a plurality of characters and spaces from said character source representing a line of text, means for accumulating an ideal escapement value total and modified escapement value totals from said memory means for said accumulated characters and spaces of said line of text, means for defining the total escapement value in a printing line, means for comparing said accumulated ideal escapement value total and modified escapement value totals with said total escapement value for the printing line, means for terminating said line of text when said accumulated ideal escapement value total and one of said modified escapement value totals bracket said defined total escapement value, means for determining a deviation escapement value based on said accumulated ideal escapement value total, said defined total escapement value, and said one of said modified escapement value totals, storage means containing a maximum variant escapement value for the right margin of said line of text, means for substituting said maximum variant escape-ment value for said deviation escapement value, and means for controlling said printing mechanism to add or delete intercharacter escapement in accordance with said maximum variant escapement value so that the right margin of the printed text ends within a range determined by the maximum variant escapement value.
9. A method of producing proportionally spaced printing including the steps of:
producing intercharacter escapement signals for combina-tions of characters based on the contours of said characters and the aesthetic appearance of the combination of said characters, storing said intercharacter escapement signals in a memory, and applying said escapement signals to a printer to cause said printer to escape an amount proportional to said inter-character escapement signals.
10. A method for producing proportionally spaced printing comprising the steps of:
storing intercharacter escapement values in a memory for combinations of printing characters based on the contours of the characters and the aesthetic appearance of the combina-tion of said characters, receiving a stream of characters to be printed, accessing said memory for the intercharacter escapement value for each pair of characters received; and spacing said characters apart by the escapement value accessed from said memory.
11. A method as defined in claim 9 and further including the steps of:
receiving a stream of characters and spaces to form a printing line, producing intercharacter escapement values for combina-tion of the received characters based on the contours of said characters, defining a total escapement value for a printing line, and applying said escapement values to said stream of characters until the total escapement value of said stream of characters equals the defined total escapement value for the printing line.
12. The method of claim 11 wherein said step of producing intercharacter escapement values includes producing ideal escapement values and modified escapement for combinations of the received characters based on the contours of said characters.
13. Apparatus for printing text comprising:
memory means containing predefined ideal escapement values and modified escapement values for intercharacter spacing based on the contours of the characters, a character source, a variable spacing printing mechanism, means for accumulating a plurality of characters and spaces from said character source to form a printing line, means for accumulating an ideal escapement value total and modified escapement value totals from said memory means for said accumulated characters and spaces of said printing line, means for defining the total escapement value in the printing line, means for comparing said accumulated ideal escapement value total and said modified escapement value totals with said total escapement value for the printing line, means for terminating said printing line when said accumulated ideal escapement value total and one of said modified escapement value totals bracket said defined total escapement value, means for determining a deviation escapement value based on said accumulated ideal escapement value total, said defined total escapement value, and said one of said modified escapement value totals; and means for controlling said printing mechanism to add or delete intercharacter escapement in accordance with said deviation escapement value so that the actual escapement value of said printing line equals the defined total escape-ment value of said printing line.
14. The apparatus for printing justified text of claim 13 wherein said modified escapement value totals include a loose escapement total value for spacing certain combinations of characters farther apart than their ideal spacing in order to lengthen the printing line to equal the defined total escape-ment value and a tight escapement value total for spacing certain character combinations closer together in order to shorten the printing line to equal the defined total escapement value.
15. The apparatus for printing justified text in claim 13 wherein said means for defining the total escapement value in the printing line is a register storing a value set by the right margin of the printer.
16. The apparatus for printing justified text of claim 13 wherein said source of characters is a keyboard.
17. The apparatus for printing justified text of claim 14 wherein said means for terminating said printing line includes means for deleting the last word from a printing line where said tight escapement value total exceeds the defined total escapement value and means for placing the deleted word at the beginning of the next line.
CA300,208A 1977-06-27 1978-03-31 Variable character spacing matrix for proportional spacing printing systems Expired CA1111564A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US810,329 1977-06-27
US05/810,329 US4225249A (en) 1977-06-27 1977-06-27 Variable character spacing matrix for proportional spacing printing systems

Publications (1)

Publication Number Publication Date
CA1111564A true CA1111564A (en) 1981-10-27

Family

ID=25203606

Family Applications (1)

Application Number Title Priority Date Filing Date
CA300,208A Expired CA1111564A (en) 1977-06-27 1978-03-31 Variable character spacing matrix for proportional spacing printing systems

Country Status (15)

Country Link
US (1) US4225249A (en)
JP (2) JPS5411641A (en)
AT (1) AT379110B (en)
AU (1) AU516424B2 (en)
BE (1) BE866574A (en)
BR (1) BR7803996A (en)
CA (1) CA1111564A (en)
CH (1) CH634781A5 (en)
DE (1) DE2823965C3 (en)
ES (2) ES471113A1 (en)
FR (1) FR2395841A1 (en)
GB (2) GB1594076A (en)
IT (1) IT1112636B (en)
NL (1) NL7806804A (en)
SE (1) SE7807080L (en)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4487517A (en) * 1979-04-27 1984-12-11 Canon Kabushiki Kaisha Printer adapted to perform margin/tabulator setting function
CH632191A5 (en) * 1979-08-03 1982-09-30 Hermes Precisa International TYPEWRITER.
JPS56120379A (en) * 1980-02-28 1981-09-21 Teraoka Seiko Co Ltd Method to set print pitch in commodity name print column of label
JPS5759792A (en) * 1980-09-29 1982-04-10 Canon Inc Output apparatus
JPS5759292A (en) * 1980-09-29 1982-04-09 Canon Inc Character processor
US5322376A (en) * 1980-10-31 1994-06-21 Canon Kabushiki Kaishi Serial printing apparatus including an error correcting capability and having a memory
DE3153729C2 (en) * 1980-10-31 1997-05-07 Canon Kk Serial printer with sentence memory
AU530568B2 (en) * 1980-10-31 1983-07-21 Canon Kabushiki Kaisha Serial printing apparatus with memory and display
US4462708A (en) * 1981-04-09 1984-07-31 Kroy Inc. Automated tape lettering machine
DE3132232A1 (en) * 1981-08-14 1983-03-03 Siemens AG, 1000 Berlin und 8000 München Method and arrangement for optimising the movement of a printing mechanism when printing characters
US4484826A (en) * 1981-09-24 1984-11-27 International Business Machines Corporation Automatic intertext column spacing
JPS5863486A (en) * 1981-10-12 1983-04-15 Ricoh Co Ltd Semi-automatic paper setting system for printer
US4523294A (en) * 1982-05-27 1985-06-11 Southwest Research Institute Character spaced justification method and apparatus
US5681121A (en) * 1983-06-23 1997-10-28 Canon Kabushiki Kaisha Printer in which the amount of carriage travel can be changed for different printing types
WO1985003254A1 (en) * 1984-01-20 1985-08-01 Varitronic Systems, Inc. Electronic tape writing machine
JPS60166340U (en) * 1984-04-16 1985-11-05 渡辺 啓子 Stiff part pressing tool
US4799172A (en) * 1986-04-30 1989-01-17 Gerber Scientific Products, Inc. Apparatus and method for automatic layout of sign text
US4841453A (en) * 1986-11-10 1989-06-20 Ibm Corporation Multidirectional scan and print capability
US4913566A (en) * 1987-01-07 1990-04-03 Brother Kobyo Kabushiki Kaisha Spell check device with display
JPS6442043U (en) * 1987-09-08 1989-03-14
JPH01244569A (en) * 1988-03-25 1989-09-28 Brother Ind Ltd Document preparing device
JPS6451971A (en) * 1988-07-26 1989-02-28 Canon Kk Output device
JPS6451970A (en) * 1988-07-26 1989-02-28 Canon Kk Output device
JPS6451972A (en) * 1988-07-26 1989-02-28 Canon Kk Output device
DE3843268A1 (en) * 1988-12-22 1990-06-28 Georg Salden Method for preparing a typographical sequence of characters
JP2536322B2 (en) * 1991-03-28 1996-09-18 ブラザー工業株式会社 Tape printing device
JPH06124078A (en) * 1992-10-13 1994-05-06 Max Co Ltd Kerning processing method for european language document process
TW363158B (en) * 1993-06-25 1999-07-01 Omron Tateisi Electronics Co A system for automatic adjustment of, character spacing
US5876132A (en) * 1995-05-23 1999-03-02 International Business Machines Corporation Method and system for high character density printing utilizing low pel density characters
US5724498A (en) * 1995-06-07 1998-03-03 Adobe Systems Incorporated Method and apparatus for concealing character modifications made for text composition purposes
US5724067A (en) * 1995-08-08 1998-03-03 Gilbarco, Inc. System for processing individual pixels to produce proportionately spaced characters and method of operation
US8306356B1 (en) 2007-09-28 2012-11-06 Language Technologies, Inc. System, plug-in, and method for improving text composition by modifying character prominence according to assigned character information measures

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2465657A (en) * 1945-11-19 1949-03-29 Coxhead Ralph C Corp Typing and justifying machine
US2742998A (en) * 1949-12-05 1956-04-24 Szczepanowski Stanislaw Wiktor Improvements in typewriters, in types and in affiliated appliances
AT218550B (en) * 1957-12-05 1961-12-11 Olivetti & Co Spa Edge compensation device on typewriters or the like.
DE1261523B (en) * 1961-08-21 1968-02-22 Irodagepipari Es Finomechanika Device for excluding lines on typewriters
US3267454A (en) * 1963-06-24 1966-08-16 Ibm Line justifying and proportional spacing apparatus for display devices
US3354816A (en) * 1966-09-19 1967-11-28 Ibm Line printer with proportional spacing control means
US3513968A (en) * 1967-01-24 1970-05-26 Compugraphic Corp Control system for typesetting arabic
US3550091A (en) * 1968-11-15 1970-12-22 Bunker Ramo Whole word justification and editing system
US3631957A (en) * 1969-07-03 1972-01-04 Ibm Variable right-hand margin-control system
US3530976A (en) * 1969-07-11 1970-09-29 Ludlow Typograph Co Type justification apparatus
FR2084213A5 (en) * 1970-03-02 1971-12-17 Ibm
US3712443A (en) * 1970-08-19 1973-01-23 Bell Telephone Labor Inc Apparatus and method for spacing or kerning typeset characters
US3757921A (en) * 1970-12-23 1973-09-11 Ibm Right hand margin control system
US4005772A (en) * 1972-10-12 1977-02-01 Harris Corporation Automatic justifying typewriter having pitch changing and line spacing apparatus
US3850279A (en) * 1972-12-26 1974-11-26 Ibm Print point positioning control for a character-by-character printer
JPS5018338A (en) * 1973-06-22 1975-02-26
JPS5130180B2 (en) * 1974-07-06 1976-08-30
JPS5131128A (en) * 1974-09-10 1976-03-17 Tokyo Shibaura Electric Co KARAAJUZO KANSOCHI
US3998311A (en) * 1975-01-17 1976-12-21 International Business Machines Corporation Indicating entry into a variable width right margin zone
DE2612815A1 (en) * 1976-03-25 1977-09-29 Graphic Systems Int Proportional spacing symbol setting unit - uses computer to control relative movement between symbol and recording surface

Also Published As

Publication number Publication date
US4225249A (en) 1980-09-30
NL7806804A (en) 1978-12-29
GB1594076A (en) 1981-07-30
JPS5713031B2 (en) 1982-03-15
JPS578505B2 (en) 1982-02-17
FR2395841A1 (en) 1979-01-26
ES471113A1 (en) 1979-09-16
GB1594077A (en) 1981-07-30
BR7803996A (en) 1979-06-05
DE2823965B2 (en) 1980-07-17
DE2823965A1 (en) 1979-01-04
FR2395841B1 (en) 1983-08-26
ES471112A1 (en) 1979-01-16
SE7807080L (en) 1978-12-28
BE866574A (en) 1978-08-14
CH634781A5 (en) 1983-02-28
AT379110B (en) 1985-11-25
JPS5411641A (en) 1979-01-27
AU3483378A (en) 1979-10-11
JPS5411640A (en) 1979-01-27
DE2823965C3 (en) 1981-05-07
AU516424B2 (en) 1981-06-04
IT1112636B (en) 1986-01-20
ATA402978A (en) 1985-04-15
IT7824493A0 (en) 1978-06-13

Similar Documents

Publication Publication Date Title
CA1111564A (en) Variable character spacing matrix for proportional spacing printing systems
US4651288A (en) Method and apparatus for filling out a form by a machine
US4136395A (en) System for automatically proofreading a document
US4403301A (en) Word processor adapted for filling in blanks on preprinted forms
US3970185A (en) Syllabic typewriter
CA1044811A (en) Column format control system
US3757921A (en) Right hand margin control system
US4904099A (en) Electronic typewriter
JPS6144074B2 (en)
US3289176A (en) Data processing apparatus
US3998310A (en) Apparatus for recording data in arabic script
JPH0378266B2 (en)
US3958224A (en) System for unattended printing
US4354765A (en) Hyphen characterization apparatus for a typewriter
US4330217A (en) Line adjustment apparatus for a typewriter
US4028680A (en) System for automatically processing and printing the contents and the format of a text
JPS5939074B2 (en) tab control device
JPS5946037B2 (en) word processing system
US4334792A (en) Destination-referenced tab, operations for typewriters that store text
US5290109A (en) Electronic typewriter for printing of documents having a fixed format
EP0031446B1 (en) Multi-character display controller for text recorder
US4772145A (en) Document preparing apparatus which automatically capitalizes characters at the head of a sentence
US5013167A (en) Bounded word replace function for an electronic typewriter erasing a zone bounded by erroneous characters
US3676853A (en) System for controlling format
JP2714243B2 (en) Output control device

Legal Events

Date Code Title Description
MKEX Expiry