APPARATUS AND METHOD FOR DISPLAYING DOT MATRIX CHARACTERS IN ENLARGED FORM

Abstract: The present invention relates to apparatus, for displaying dot matrix characters formed from selected binary data ele­ ments each representing either a dot or a blank, of the type which comprises storage means (16,72) for storing sets of binary data elements, each set defining the shape of a respec­ tive character which has a relatively high density in the hori­ zontal direction and relatively low density in the vertical and diagonal directions, logic means (73) for performing logical operations on each set of the stored binary data elements to generate associated additional binary data elements which can be used to enlarge the size of the respective character selectively, and display means (14, 75) for displaying each character using the associated stored binary data elements and associated additional binary data elements in order to display said character in enlarged size, Apparatus in accordance with the present invention is characterised in that the display means uses the generated additional binary data elements together with the stored bin­ ary data elements to enlarge the character being displayed in at least one of the vertical, horizontal and diagonal directions by lengthening at least one of the vertical, horizontal and diagonal linear components of the character being displayed along the linear direction thereof. According to a preferred embodiment of the invention the logic means also performs further logical operations on each set of stored binary data elements to generate further associ­ ated additional binary data elements which can be used to enhance the respective character selectively. The display means uses the further generated additional data elements to increase the density of at least one of the vertical, horizontal and diagonal linear components of the character being dis­ played along the linear direction thereof. According to still further embodiment of the invenion the display means uses the further generated additional binary data elements together with the stored binary data elements to increase the thickness of at least one of the vertical, horizon­ tal and diagonal linear components in a direction substantial­ ly orthogonal to the linear direction thereof. The invention also relates to a method of displaying dot matrix characters in an enlarged form using apparatus as above.

Description: The present invention relates to apparatus and a method for displaying dot matrix characters using stored sets of binary data elements, each representing either a dot or a blank, together with additional binary data elements generated by performing logical operations on the stored data elements in order to display each character in an enlarged size. Each character may also be displayed in an enhanced form. EP-A-159895 describes apparatus and a method for displaying characters which have been enhanced to a limited extent. US-A-4 081 799 also discloses an apparatus and a method for displaying characters in an enhanced form. In a dot matrix display apparatus, for example a dot matrix printer, each character is formed from a matrix of dots and blanks which together define the character. On close examination, the dots are arranged in a matrix of positions and are typically arranged in horizontal rows and vertical columns that are adjacent, parallel, and evenly spaced. The intersections of the rows and columns determine the locations of the dots and blanks, and the dots may overlap, depending upon the spacing between matrix intersections and the dot diameter. Each dot or blank is represented in the apparatus by a binary data element with a binary 1 typically representing a dot and a binary 0 representing a blank. Data representing at least one entire character set is usually stored in the apparatus, and it includes numerals, upper and lower case letters, punctuation, and other commonly used symbols. Depending upon the type of apparatus displaying the character, the quality and size of the character and the speed of displaying may usually be selected as desired, within the capabilities of the display, apparatus and associated data processing apparatus or computer. Each type of display apparatus, such as a dot matrix printer, electrostatic printer, ink jet printer, cathode-ray tube, etc., has unique physical constraints imposed by its mechanical or electrical capabilities. This usually affects the dot-to-dot spacing between locations in the matrix, as well as the speed at which the dots may be displayed. The associated data processing apparatus typically stores the sets of binary data elements defining the shape of the respective characters, performs any necessary logical operations on the stored data to provide the desired size, density or thickness of the displayed character, and governs the physical operations of the printer (or other display apparatus). It is desirable for a dot matrix printer to print characters in more than one size, and it may also be desirable to print characters in more than one density and thickness. It is also desirable to print at a high speed to provide a high volume output, with a relatively low quality printed character being acceptable, and to alternatively print a relatively high quality character, with a low print speed being acceptable. Printing at a high speed with a low quality printed character is commonly performed when a large volume of output is required, as in a data processing environment. A high speed of printing may be achieved by printing only a comparatively small number of the binary data elements for each character spaced by about one dot width, resulting in the printing of characters of a lower print quality. On the other hand, high quality printed characters are preferred in a word processing environment or office environment, as well as the ability to selectively enlarge or enhance all or some of the characters. A higher quality character may be achieved by printing a relatively high number of the binary data elements for each character and spacing them by less than one dot width so that they overlap. Lower print speed and volume of output may result, but this is likely to meet the output demands of such an environment. To print characters of different size or quality of print, it is necessary to provide data for printing in each size or quality. It is known to store a single set of binary data elements representing each character in a single size and quality, and to duplicate by rote this basic data to obtain additional binary data elements for printing an enlarged character or a character supposedly having a high quality. This results in "stair-step" diagonals and seriously degrades the quality of the character and its legibility. These poor quality characters necessitate some type of smoothing operation to reduce the stair-stepping effect, but these operations are usually very complex and expensive. Related problems include a destruction of the symmetry of both individual characters and groups of characters making words or phrases. For instance, the spacing between the linear components of a character may be degraded, and the base line for a character set may be lost, or widened to an unacceptable degree. An alternative to simply duplicating the stored data to enlarge or enhance a single character is to store all of the binary data representing the multiplicity of sets of all enlarged characters, all improved quality characters, and all of the various combinations thereof. However, a character expanded to 2x, 4x, 8x, etc in size requires 4x, 16x, 64x, etc times the amount of data storage. Such increases in the amount of data storage are usually prohibitive in size and cost. Low cost printers that employ inexpensive and relatively simple data processing components do not include the capabilities either to store additional sets of enlarged or enhanced characters, or to process the complex algorithms which have been necessary in the past to enlarge a character and smooth it to maintain its legibility. The object of the present invention is to provide an improved apparatus and method for displaying dot matrix characters in an enlarged form. US 4079367 discloses an apparatus, for displaying dot matrix characters formed from selected binary data elements each representing either a dot or a blank, of the type which comprises storage means for storing sets of binary data elements, each set defining the shape of a respective character, logic means for performing logical operations on each set of stored binary data elements to generate associated additional binary elements which can be used to enlarge the size of the respective character selectively, and display means for displaying each character using the associated stored binary data elements and associated additional binary data elements in order to display said character in enlarged size. The present invention provides an apparatus and a method for printing or displaying dot matrix characters as defined in Claim 1 and 6 respectively. According to a preferred embodiment of the invention the logic means also performs further logical operations on each set of stored binary data elements to generate further associated additional binary data elements which can be used to selectively enhance the character being displayed. The display means uses the further generated additional binary data elements to enhance the character being displayed by increasing the density of at least one of the vertical, horizontal and diagonal linear components of the character being displayed along the linear direction thereof. According to a still further embodiment of the invention the display means uses the further generated additional binary data elements together with the stored binary data elements to enhance the character being displayed by increasing the thickness of at least one of the vertical, horizontal and diagonal linear components of the character being displayed in a direction substantially orthogonal to the linear direction thereof. To enlarge a character using apparatus according to the present invention, additional binary data elements are generated from the stored data elements, and dots are printed at selected print positions in the matrix corresponding to the desired character as represented by the combination of the stored and generated data elements. The positions for the additional generated binary data elements are selected to enlarge each character by extending the horizontal, vertical and diagonal linear components that together define the character. The character may also be enhanced by increasing the density and/or thickening the width of these linear components. Specifically, overlapping dots may be selectively printed along the length of a vertical, diagonal, or horizontal linear component of the character to make it appear darker or more dense, and the components may be selectively widened in a direction generally orthogonal to their linear direction to make them thicker. Furthermore, to accommodate a variety of combinations of different print styles and sizes, characters may be enlarged, thickened, or have their density changed in all directions, or in one or more of the horizontal, vertical, and diagonal directions, and each may be done independently of the other. Similarly, the data may be processed to enlarge in one direction and enhance in another. The term diagonal as used herein refers to any line that is nor either horizontal or vertical. Similarly, while reference is made to horizontal rows and vertical columns as a matter of convenience, the direction of designation of a line of binary data elements may be changed as necessary or desirable to suit a particular application. The invention is applicable to any data supplied, whether it represents characters, graphics, line drawings, geometrical shapes, etc., since the binary data is considered as a collection of lines. Depending upon the nature of the character to be displayed, the data representing the stored character may be processed to selectively enlarge, thicken, and make more dense less than all of the vertical, horizontal, and diagonal linear components that together form the dot matrix character. Further, the additional binary data elements may be combined with the stored binary data elements to thicken the character by positioning the generated binary data elements to thicken the upper portion of the character downwardly and the lower portion of the character upwardly, toward the central portion or middle of the character. Still further, the character may be differentially enlarged. Reference is made to copending EP-A-0 207 788 having the same priority date and comprising a similar description. The claims are of a different scope and concern the increase of the density and thickness of linear components of characters. In order that the invention may be more readily understood an embodiment will now be described with reference to the accompanying drawings, in which:- Fig. 1 is a schematic diagram illustrating a dot matrix printer of the type with which apparatus and a method in accordance with the present invention can be used, Fig. 2 is a schematic diagram illustrating the impacting end of a typical 7-wire print head as may be used in the printer of Fig. 1. Fig. 3 is a schematic diagram illustrating the movement of the print head of Fig. 2 to print a lower quality dot matrix character of 1x size as illustrated, Fig. 4 illustrates the character of Fig. 3 enlarged to a 2x size as was typically done in the prior art, and illustrates the severe stair-stepping associated with the prior art techniques. Fig. 5 illustrates the character of Fig. 3 enlarged to the 2x size according to the present invention with the linear components thereof enhanced by being made more dense and thickened. Fig. 6 illustrates the character of Fig. 3 enlarged to the 2x size according to the present invention with the linear components thereof thickened but not made more dense. Fig. 7 illustrates the character of Fig. 3 enlarged to the 2x size according to the present invention with the linear components thereof neither thickened nor made more dense. Fig. 8 illustrates the character of Fig. 3 enlarged to the 2x size according to the present invention with the linear components thereof made more dense but not thickened. Fig. 9 illustrates diagrammatically a set of stored binary data elements defining the shape of the character of Fig. 3 with the data in the vertical and diagonal directions being of a lower density and the data in the horizontal direction being of a higher density. Fig. 10 illustrates diagrammatically a reference matrix for the 1x size to enlarge a character in the data processing or lower quality mode. The twelve matrix positions A-D, G-K, M-N, P defined by the intersections of the R rows and C columns correspond to the stored binary data elements defining the shape of a character. The horizontal rows R1 - R4 are each vertically spaced by one dot width, and the vertical columns C1 - C3 are each horizontally spaced by one-half dot width. Fig. 11 illustrates diagrammatically an expansion of the reference matrix of Fig. 10 with the added rows Rb (i.e., R1b, R2b, R3b) and added columns Cb (i.e., C1b, C2b, C3b) defining locations of added binary data elements. The added binary data elements are located at the intersections of the added rows Rb with the stored columns C and added columns Cb, and the added columns Cb with the stored rows R and added rows Rb. Fig. 12 illustrates diagrammatically a predetermined matrix to determine which of certain ones of the added binary data elements of the expanded reference matrix of Fig. 11 are to be converted to a dot for the added binary data elements at locations C, Rb and Cb, Rb. Fig. 13 is a flow chart representing the logical operations performed in accordance with the invention to print characters that are doubled in size and of data processing quality (2x, DP) as illustrated in Fig. 6. Fig. 14 illustrates diagrammatically a reference matrix for the 1x size to enlarge a character in the word processing or fully enhanced mode. The sixteen matrix positions A-N, P-Q defined by the intersections of the R rows and C columns correspond to the stored binary data elements defining the shape of the character. The horizontal rows R1 - R4 are each vertically spaced by one dot width, and the vertical columns C1 - C4 are each spaced horizontally by one-half dot width. Fig. 15 illustrates diagrammatically an expansion of the reference matrix of Fig. 14 with the added columns Ca, Cb, Cc and added rows Ra, Rb, and Rc defining locations of added binary data elements. Fig. 16 illustrates diagrammatically the expanded reference matrix of Fig. 15 with certain of the locations A-N, P-Q being selectively used to define a predetermined matrix to determine which, if any, of the added binary data elements are to be converted to a dot for the added binary data elements at locations C, Rb; Cb, R; and Cb, Rb. Fig. 17 illustrates the combined generated additional binary data elements and stored binary data elements after making the first two of four passes for an exemplary word processing or enhanced character enlarged to 2x size as displayed by a dot matrix printer. Fig. 18 illustrates diagrammatically the expanded reference matrix of Fig. 15 with locations A-N, P-Q defining a predetermined matrix to determine which, if any, of the added binary data elements are to be converted to a dot for the added binary data elements at locations C, Ra; Ca, Ra; Cb, Ra; Cc, Ra; C, Rc; Ca, Rc; Cb, Rc; and Cc, Rc. Figs. 19A and 19B are a flow chart representing the logical operations performed in accordance with the invention to print characters doubled in size and enhanced to word processing quality (2x, WP), as illustrated in Fig. 5. Fig. 20 illustrates diagrammatically how a character was thickened vertically in the prior art by printing all horizontal lines a second time one-half dot lower than they were printed the first time. Fig. 21 illustrates diagrammatically how a character is vertically thickened toward the central portion or middle in accordance with the present invention. Fig. 22 is a flow chart representing the logical operations performed in accordance with the invention to print characters enlarged to the 2x size with the linear components thereof made more dense but not thickened, as in Fig. 8. Fig. 23 is a flow chart representing the logical operations performed in accordance with the invention to print characters enlarged to the 2x size with the linear components thereof neither thickened nor made more dense, as in Fig. 7. Fig. 24 is a block diagram illustrating the components of a printing apparatus for displaying characters in accordance with the present invention. An embodiment of the invention will now be described as applied to a printer of the type illustrated diagrammatically in Fig. 1, although it is to be understood that the invention can be implemented in other dot matrix display devices, such as those referred to above. A dot matrix printer typically includes a platen 1 over which a print medium 2 is moved by means of two tractor devices 3, 4. The print medium may be, for example, a continuous web of paper having holes 7 parallel to the edges thereof. Each tractor device includes a wheel or belt 5 provided with protruding pins 6 on outer surface. The pins 6 engage the holes 7 formed in the web to provide a positive drive. The two tractor wheels 5 are mounted on a common shaft 8 which may be rotated as required by a motor 9 to advance the medium over the platen. The motor 9 is typically controlled by a print medium controller (not illustrated). The printer includes a traversing print head 11 which is mounted on a support 12 extending over the platen 1 so that the medium 2 passes between the platen and the print head 11. The print head 11 can be moved along support 12 by motor 13 by way of a belt or a rotating threaded shaft. The combined movement of the paper and movement of the print head allows the print head to reach almost any point on the surface of the medium 2. The impacting portion of the print head 11, as illustrated in Fig. 2, is formed in part with a column of seven printing elements 14 arranged in a 1 by 7 vertically oriented matrix and supported in a body portion 15. The elements 14 are typically wires which can be selectively moved axially by, for example, an electromagnet. Each wire is individually linked to an electromagnet so that it may be individually moved axially as necessary or desirable in timed relation with the movement of the print head 11. The printing wires press an inked ribbon onto the medium 2 to perform the printing operation. As the print head 11 traverses the width of the paper along the length of the support 12, the data defining the characters is provided to the electromagnets controlling the printing wires in a coordinated, time sequence to move them axially as the print head passes through the position at which each character is to be printed. The dotted lines 19 - 21 in Fig. 3 help illustrate, respectively, the horizontal, vertical and diagonal linear components of the character. All characters may be defined by such components, with the diagonal component being any linear component that is not horizontal or vertical. These component lines 19-21 are not displayed when the character is printed. For the purposes of this description, a full diagonal line is one that falls midway between a horizontal line and a vertical line, i.e. at about a 45° angle. A half diagonal line is one that falls midway between a full diagonal line and either a horizontal line or a vertical line, i.e. at about 22-1/2° displaced from either the horizontal line or the vertical line. Depending upon the size and number of data elements in the matrix, the exact angular displacements may vary. Referring still to Fig. 3, as the print head moves laterally, as shown by arrow 18, individual wires in the print head are moved axially at appropriate times to print dots in columns that define the adjacent vertical features of each character. As the print head 11 moves from left to right the elements 14 are selectively operated to print the complete left vertical feature of each character first, then to print the succeeding vertical features column by column, and finally to print the last right vertical feature. The size and position of each character and the distance between adjacent dots in the horizontal direction are controlled by varying the speed of movement of the head in relation to the timing of the operation of the printing elements. The spacing of the dots in the vertical direction corresponds to the spacing of the printing elements 14. Specifically, as the print head 11 reaches the position of column 1 for the character "letter Z" as illustrated in Fig. 3, print wires 1, 6, and 7 are moved axially to strike the ribbon against the print medium, printing the three dots for column 1, and are then retracted. As the print head approaches the position of column 2, print wires 1, 5, and 7 are moved, and this operation continues as the print head moves through the positions of columns 1 to 5 to print the entire character in 1x size as illustrated. In a practical embodiment of the invention, each of the printing elements 14 in the print head 11 prints a circular dot which has a diameter of about 1/60 inch, and the spacing between the centres of adjacent elements is substantially equal to the diameter of each dot so that, in the vertical direction, adjacent printed dots will just touch. To print a character of 1x size of a lower quality at a high speed, the speed of movement of the print head 11 across the print medium 2 and the frequency of operation of the printing elements 14 are coordinated so that adjacent columns of dots in the horizontal direction have a spacing of 1/60 inch between certres. Such a character is illustrated in Fig. 3 and is referred to as a 1x - DP character, meaning 1x size, data processing quality. Fig. 4 illustrates the character of Fig. 3 enlarged to a 2x size as was typically done in the prior art by duplicating each of the originally stored dots to the right, down, and down-right. While this enlarges the character satisfactorily in the horizontal and vertical directions, it produces undesirable stair-stepping on diagonals which distorts the character and degrades its legibility. The problem is aggravated by enlargements above 2x. Some smoothing operations have been used in the past to reduce the stair-stepping effect, but they require complex algorithms, additional data processing and data storage capabilities, and are typically very time consuming. Figure 5 illustrates the character of Fig. 3 enlarged to the 2x size according to the present invention with the linear components thereof enhanced by being made more dense and thickened. Fig. 6 illustrates the character of Fig. 3 enlarged to the 2x size according to the present invention with the linear components thereof thickened but not made more dense. Fig. 7 illustrates the character of Fig. 3 enlarged to the 2x size according the present invention with the linear components thereof neither thickened nor made more dense. Fig. 8 illustrates the character of Fig. 3 enlarged to the 2x size according to the present invention with the linear components thereof made more dense but not thickened. Each of the characters in Figs. 5 - 8 illustrates some of the possible combinations of enlargement and enhancement that are possible with the present invention, and they are discussed in more detail herein. While a specific embodiment of the invention is described in connection with a seven wire print head for printing a typical 5 by 7 character, it is to be understood that different print heads and characters could alternatively be used with the invention. Depending upon the physical limitations of each printer as to size and speed, it may be necessary for the print head to make multiple passes, or move at lower translational speeds, to print an enlarged character or an enhanced character. To print characters, it is necessary to store or have otherwise available sets of binary data elements, with each set defining the shape of a respective character. The binary data elements are processed as necessary to print the dots defining the character. Fig. 9 illustrates the logical ones and logical zeros stored in storage device 16 that represent the binary data elements defining the shape of the letter Z. There are nine vertical columns and seven horizontal rows defining each character, and each is defined with a relatively high density in the horizontal direction and a relatively low density in the vertical and diagonal directions. The data from the storage device 16 is read out column-by-column, processed as necessary, and the processed data from each column is used to sequentially control the column of printing elements 14 in the print head 11 as it moves across the printing medium. When a binary 1 is stored in a data storage location, the corresponding printing element is operated to imprint a dot on the printing medium, and when a binary 0 is stored the printing element is not operated. To print the 1x data processing quality character shown in Fig. 3, which has a relatively low print density in the horizontal, vertical, and diagonal directions, the data elements in vertical columns 2, 4, 6, and 8 of the storage device 16 are not used. Thus, the data elements in the columns designated by an asterisk at the top are deleted and only the data elements in the remaining columns are used to print the character. Each stored set of binary data elements represents linear components that define the respective character. Specifically, the character is wade up of horizontal, vertical, and diagonal components, as illustrated in Figs. 3 - 6. According to the present invention, each character is enlarged by increasing the length of the linear components that extend in each of the various directions. In addition to being enlarged, a character may also be thickened by increasing the width of a linear component in a direction generally orthogonal to its length. Compare, for instance, the thickened characters of Figs. 5 and 6 to the non-thickened characters of Figs. 7 and 8. Still further, in addition to being enlarged, the density of the linear components may also be increased to darken the appearance of the character. Compare, for instance, the increased density of the linear components, of the characters of Figs. 5 and 8 with the density of the characters of Figs. 6 and 7. A. Character Enlargement In The Data Processing Mode When processing data to enlarge a character in the lower quality or data processing mode, such as printing the 2x character of Fig. 6, the print head must make two passes. During the first pass, the upper portion of the character is printed. The paper is then advanced by a distance equal to the height of the column of the dots of the print head and then the second pass is printed to create the lower portion of the character. The print head may move across the print medium at full speed because no overlapping dots are printed to enhance the character by increasing its density or thickening the linear components. It is also necessary to perform logical operations on a set of the stored binary data elements from the storage device 16 to generate the additional binary data elements which enlarge the size of the respective character both vertically and horizontally, and to convert selected ones of the additional binary data elements too dot. (Similar logical operations to generate other additional binary data elements for use in selectively enhancing the respective character as necessary or desirable by thickening it and defining it more densely, are described in the next section.) The additional binary data elements are then combined with the stored binary data elements to display each character in its enlarged size. In performing the logical operations to generate the additional binary data elements, a reference matrix is defined which substantially comprises a subset of the set of the binary data elements stored in the storage device 16. This reference matrix is then expanded by adding blank binary data elements between the locations of the already stored binary data elements, whether they are a dot or a blank. To determine whether the additional binary data elements are to be converted to a dot, the expanded reference matrix is compared with a predetermined matrix, and, to the extent the expanded reference matrix matches the predetermined matrix, the additional binary data elements are converted to dots. The data is then printed out: `Figure 10 illustrates a typical reference matrix that substantially comprises a subset of the set of binary data elements stored in the storage device 16. It comprises a matrix having three columns C1, C2, and C3 and four intersecting horizontal rows R1, R2, R3, and R4. The twelve intersecting locations defining the matrix are designated by the letters A-D, G-K, M-N and P, and they correspond to the stored binary data elements in the storage device 16. The horizontal rows are each vertically spaced by one dot width and the vertical columns are each horizontally spaced by one-half dot width, which corresponds to the spacing of the data stored in the memory device 16. The number of positions in the reference matrix may be larger, but the 3 column by 4 row matrix illustrated is a minimum for enlargement in the data processing mode. Since the reference matrix is defined for different groups of the stored binary data elements representing the stored character, some matrix positions may be outside the area defined by the stored binary data and, thus, represent binary data elements that form a portion of the vertical blank space between characters or the horizontal blank space between lines. The positions in the reference matrix representing these binary data elements outside the area defined by the stored binary data are designated as blanks, and specifically the two columns to the left and two columns to the right of the stored binary data. Referring to Fig. 11, the reference matrix of Fig. 10 has been expanded for 2x enlargement in the data processing mode by adding a single row midway between each of the existing rows, the added rows being designated R1b, R2b, R3b, etc., and the existing rows being designated R1, R2, R3, etc. Similarly, a column is added midway between each of the existing columns, the added columns being designated C1b, C2b, C3b, etc., and the existing columns being designated C1, C2, C3, etc. The spacing between each of the original rows and added rows is one dot width, and the spacing between each of the original columns and added columns is one-half dot width. This can be used to double the size of the character vertically and horizontally, since it quadruples the area and number of binary data element positions of the matrix. The positions at the intersections of the added Rb rows with the existing C columns and added Cb columns, and the intersections of the added Cb columns with the existing R rows and added Rb rows represent the positions of the additional blank binary data elements which may later be converted to dots. The relative positions of the lettered locations A-D, G-K, M-N, P for the stored binary data elements remain the same, with the spacing between them being increased. Figure 12 illustrates the expanded reference matrix of Fig. 11 with locations A, B, C, and D defining a predetermined matrix to determine which, if any, of certain ones of the additional binary data elements are to be converted to a dot. According to one embodiment of the present invention, the logical operations to perform the comparison are performed using the columns of the matrices. The stored binary data elements in the reference matrix are identified by specifying their relative positions with respect to an arbitrarily selected reference row. The reference row of Fig. 12 is row R2, and the remaining rows are correlated to the reference row by logically shifting row R1 down one position (d), row R3 up one position (u) and row R4 up two positions (uu). With row R2 being specified as the reference row in Fig. 12, the data positions A-D, G-K, M-N, P are designated as follows: Having defined the reference matrix (Fig. 10) and expanded it by adding predetermined blank binary data elements (Fig. 11), portions of the expanded reference matrix are compared with a predetermined matrix (Fig. 12) to convert certain of the additional blank binary data elements to dots. To determine, for example, whether the blank additional binary data element at location C2b, R2b of the expanded reference matrix should be converted to a dot, the expanded reference matrix is first compared with a predetermined matrix to determine if that binary data element is part of a linear component of the character which must be enlarged in the horizontal direction. The predetermined matrix is represented by the following: C2b,R2b = A · D ·B·C + A·D· B · C This expression states, using Boolean logic, that the binary data element at position C2b, R2b is converted to a dot (binary 1) if the data elements in positions A and D are blanks (binary 0) and the data elements in positions B and C are dots, or if the data elements in positions A and D are dots and the data elements in positions B and C are blanks. Otherwise it remains a blank, unless another predetermined matrix causes it to be converted to a dot. Applying this predetermined matrix to the expanded reference matrix of Fig. 12, if positions A and B contain dots and positions C and D contain blanks, the data element in position C2b, R2b remains a blank. The status (logical 1 or logical 0) for all of the additional binary data elements in the added C2b column, using the columns of the matrix rather than the individual matrix elements, are represented as follows: C2b,Rb = C 2· C 3u·C2u·C3 + C2·C3u· C 2u· C 3 A comparison of this expression with the previous one illustrates the correlation between the individually lettered binary data element positions A-D, G-K, M-N, P and their respective positions (d, u, uu) with respect to the reference row R2. No dots are printed at the intersections of the R rows (R1, R2, etc.) and the Cb (C1b, C2b, etc.) columns, i.e. at the R, Cb positions. Thus, such a reference matrix is represented as follows: Cb,R = 00 In general form, the predetermined matrices to determine whether the additional binary data elements for the C(i)b columns (C1b, C2b, C3b, etc.) are to be converted to dots are represented as follows: where x = C(i) y = C(i+1) As noted earlier, these predetermined matrices convert those additional blank binary data elements to dots which are used to enlarge the character in the horizontal direction. To enlarge a character in the vertical direction and add vertical thickness, the binary data elements added to all of the positions C,Rb are compared with another predetermined matrix. Referring to the binary data element added at position C2,R2b, the expanded reference matrix is compared to a predetermined matrix represented by the following: C2,R2b = A·C+ A · C ·[(B·H)·( G + M )·( D + K )+(G#CDT#D)·( I + H ) ·( B + P )]+A·(G+B) The status for all of the additional binary data elements in the C2 column for all of the Rb Positions is represented in column form by the following: C2,Rb = C2·C2u+ C 2· C 2u·[(C3·C1u)·( C 1+ C 1uu)·( C 3u+ C 3d) +(C1·C3u)·( C 1d+ C 1u)·( C 3+ C 3uu)] + C2·(C1+C3) This Predetermined matrix is used to thicken the upper portion of the character towards the middle, which improves the symmetry and appearance of the enlarged character. More specifically, thickness is added to horizontal lines in the upper portion of the character by converting to dots those additional binary data elements that are generally located beneath a dot representing the stored character. Conversely, for additional binary data elements located in the lower portion of the character, only those located above the corresponding stored data elements are converted to dots. Thus, when the row Rb is in the bottom portion of an enlarged character, the predetermined matrix above for converting the additional binary data elements to dots modified and represented in column form by the following: C2,Rb = C2·C2u+( C 2· C 2u)·[(C3·C1u)·( C 1+ C 1uu)·( C 3u+ C 3d) +(C1·C3u)·( C 1d+ C 1u)·( C 3+ C 3uu)] + (C2·(C1+C3))u The original R rows (R1, R2, R3, etc.) of the reference matrix are occupied by the binary data elements stored in the memory device 16. In general form, the predetermined matrix for determining whether the additional binary data elements should be converted to dots to be used to enlarge character in the vertical direction and add vertical thickness toward the middle are represented as follows: where x = C(i) y = C(i+1) w = C(i-1) To add thickness to the character in the horizontal direction, the results of comparing the expanded reference matrix with predetermined Matrix 2 are repeated one dot to the right. This is represented by the following: C'(i) = C(i) + C(i-1) MATRIX 3 C'(i)b = C(i)b + C(i-1)b MATRIX 4 When thickness is added to a character by converting the additional binary data elements to dots at each intersection of a horizontal line and a half diagonal line, more binary data elements may be converted to dots than are necessary, resulting in two horizontally adjacent dots spaced by only one-half dot width. This increases the density of the linear components beyond that desired for a non-enhanced character. In addition, depending upon the mechanical and electrical characteristics of the printer, it may not be possible to print overlapping dots at the high print speed desired for the lower quality or data processing mode character. Thus, undesired consecutive dots are eliminated by comparing the expanded reference matrix with a predetermined matrix represented by the following: C''(i) = C''(i-1) b·C'(i) MATRIX 5 C''(i)b = C''(i-1) ·C'(i)b MATRIX 6 Fig. 13 is a flow chart representing the logical operations performed in accordance with the invention to print characters that are doubled in size (2x) and of a data processing quality (DP). Each enlarged character is derived from the binary data elements stored in memory device 16 for a normal size (1x) character to provide the type of character illustrated in Fig. 6. At step 20 the sequencing parameters which cause the program to treat each column C(01), C(02), C(03), etc. of the expanded reference matrix are set to their initial values. At step 21 the type of column of the expanded reference matrix (e.g. Figs. 12, 13) is determined as either column C, representing both stored and additional binary data elements, or column Cb, which represents only additional binary data elements. The columns of the expanded reference matrix are then compared with the Matrices 1 - 6 to determine whether or not the additional binary data elements should be converted to dots or remain as blanks, as represented by the steps 22 - 27. This process may be repeated on a column-by-column basis for each of the K columns, as determined by a counting loop designated at steps 30, 31. When all K columns have been printed, the routine ends. B. Character Enlargement In The Word Processing Mode The method described thus far results in the display of characters that have been enlarged and thickened, while the density has not been increased, as illustrated in Fig. 6. For word processing or other applications where character enlargement also requires a higher quality of print, it is preferable that the dot density of the characters be increased so that the lines of the character appear solid with no distortions, as illustrated in Fig. 5. This is done using logical operations similar to those used with the data processing mode character. The stored sets of binary data elements used in the word processing mode are the same stored binary data elements used in the data processing mode, as illustrated in Fig. 9. Thus, only a single set of binary data elements, with each set defining the shape of a respective character, need to be stored to print characters of varying sizes, density, and thickness. Beginning with the binary data elements as stored in the memory unit 16, where the character has a relatively high density in the horizontal direction and a relatively low density in the vertical and diagonal directions, an enlarged word processing quality character may be printed by generating additional binary data elements to increase the length of the vertical, diagonal and horizontal linear components thereof, increasing the thickness of the vertical, diagonal and horizontal linear components in a direction orthogonal to the linear direction thereof, and increasing the density of the vertical and diagonal linear components thereof. The horizontal linear components are stored with an increased deisity. To increase the character beyond the 2x size, it is necessary to further increase the length, thickness, and density of all the linear components thereof. The method for producing higher quality characters suitable for word processing increases the density of the character enlarged for the lower quality or data processing mode by converting to dots additional binary data elements in positions that are between binary data elements for the data processing mode character. This, in essence, fills in the gaps between the dots of the character along the length of each of the linear components making up the character. The increased density typically necessitates a second pass of the print head. The data printed during the second pass is not the same as the data printed during the first pass. Depending upon the mechanical and electrical constraints of the specific display device or printer, the printing speed is reduced to one-half the data processing mode speed to permit the additional dots to be printed between the dots of the data processing character in the horizontal direction. To increase the density in the vertical direction, the paper is advanced by a distance equal to one-half the diameter of a dot, and another pass of the print head places the additional dots between the existing dots. Using the 2x size as an example, the character consists of two portions, upper and lower, and each portion requires two passes of the print head to provide the desired dot density. In the discussion that follows the second pass refers to the pass that places dots between existing dots in the vertical direction after the paper has been advanced by one-half the diameter of a dot. Figure 14 illustrates diagrammatically a reference matrix for the 1x size for use in enlarging a character in the word processing or fully enhanced mode. The sixteen matrix positions A - N, P - Q defined by the intersections of the R rows and C columns correspond to the stored binary data elements defining the shape of the character. The horizontal rows R1 - R4 are each vertically spaced by one dot width, and the vertical columns C1 - C4 are each spaced by one-half dot width. The matrix is similar to that illustrated in Figure 10, with an additional column C4 added to the matrix to provide a total of 16 intersections or matrix positions representing the binary data elements. Figure 15 illustrates diagrammatically an expansion of the reference matrix of Fig. 14 for the word processing mode with columns Ca, Cb, and Cc added between each of the existing columns C1, C2, C3, C4, which represent the binary data elements stored in memory element 16. Similarly, rows Ra, Rb, and Rc are added between each of the existing rows R1, R2, R3, and R4, which represent the binary data elements stored in memory device 16. The intersections of the added columns with the added rows and existing rows, and the intersections of the added rows with the existing columns together represent the fifteen blank binary data elements that have been added to the defined reference matrix for each stored binary data element for use in enlarging the character to a 2x size. The spacing between each of the rows (e.g. R3c and R4) is one-half dot width, and the spacing between each of the columns (e.g. C1 and C1c) is one-fourth dot width. This spacing provides the desired dot overlap in all directions to achieve a higher density character. The individual stored binary data elements are represented by the letters A - N, P - Q, and may be expressed using columns to specify their relative position to a reference row, such as row R2. For instance, the binary data elements in row R1 may be identified with respect to row R2 by logically shifting the column containing the binary data elements in row R1 down one position (d). The binary data elements in rows R3 and R4 may be specified with respect to the reference row R2 by logically shifting the column up one position (u) or up two positions (uu), respectively. The data positions A - N, P - Q are designated as follows with respect to reference row R2 of Fig. 15: As noted earlier, characters printed in the word processing mode are printed in two sets of two passes of the print head. The first set prints the upper-portion of the character and the second set prints the lower portion of the character. During the first pass of the first set the binary data elements in the R rows R1, R2, R3, etc are printed out using the odd print head wires (1, 3, 5, 7) in the print head 11 and the binary data elements in the Rb rows Rb1, Rb2, Rb3, etc are printed out using the even numbered print head wires (2, 4, 6) of the print head. During the second pass of the first set, after the paper has been advanced by one-half a dot width, the data elements in the Ra rows R1a, R2a, R3a, etc are printed out using the odd print head wires and the data elements in the Rc rows R1c, R2c, R3c, etc are printed out using the even wires. 1. First pass printing Having expanded the reference matrix by adding predetermined blank binary data elements to the defined reference matrix between the binary data elements of the set of stored binary data elements (Fig. 15) , the expanded reference matrix is compared with a predetermined matrix, as noted earlier, and selected ones of the additional binary data elements are converted from blanks to dots when the reference matrix matches the predetermined matrix. The binary data elements at locations c, R, i.e. those designed by letters A - N, P - Q, are obtained from the stored data. The status of each of the additional binary data elements at locations C,Rb; Cb,R; and Cb,Rb, as illustrated in Fig. 16, is determined by comparison with the predetermined matrices described below. To enlarge the character in the vertical direction, the status of the additional blank binary data element at the intersection of column C2 and row R2b is determined by comparing the expanded reference matrix with a predetermined matrix represented by the following: C2,R2b = A·C+ A · C ·((B·H)·( G + M )·( D + K ) + (G·D)·( I + H )·( B + P )) The status of each of the additional binary, elements for all of the intersections of the C2 column and Rb rows may be determined by comparing the expanded reference matrix with a predetermined matrix represented by the following: C2,Rb = C2·C2u+( C 2· C 2u)·((C3·C1u))·( C 1+ C 1uu)·( C 3u+ C 3d) + (C1·C3u)·( C 1d+ C 1u)·( C 3+ C 3uu)) In general form, the status of each of the additional binary data elements for all columns C1, C2, C3, etc. of the expanded reference matrix for use in enlarging the character in the vertical direction may be determined by comparison with a predetermined matrix represented by the following: where x = C(i) y = C(i+1) w = C(i-1) To enlarge the character in the horizontal direction and maintain its high density in the horizontal direction, the additional blank binary data elements at locations Cb,R and Cb,Rb are compared with another set of predetermined matrices to determine which binary data elements should be converted to dots. The binary data elements at the intersection of column C2b and row R2 are compared with a predetermined matrix represented by the following: C2b,R2 = A·B The status of each of the additional binary data elements for all of the intersections of column C2b and the R rows, R1, R2, R3, etc. is determined by comparison with the predetermined matrix represented by the following: C2b,R = C2·C3 The status of the additional binary data element located at the intersection of column C2b and row R2b is determined by comparison with the predetermined matrix represented by the following: C2b,R2b = A·D· C · B + A · D ·C·B Combining the above matrices, the status of each of the additional binary data elements located at the intersections of the columns C2b, and Rb rows R1b, R2b, R3b, etc. is determined by comparison with the predetermined matrix represented by the following: C2b,Rb = C2·C3u· C 2u· C 3 + C 2· C 3u·C2u·C3 Thus, in general form, the status of each of the blank additional binary data elements for all of the Cb columns, C1b, C2b, C3b, etc., which are used to enlarge the character in the horizontal direction and maintain its high density in the horizontal direction, may be determined by comparing the expanded reference matrix with a predetermined matrix represented by the following: where x = C(i) y = C(i+1) The additional binary data elements for the Ca and Cc columns remain blanks for enlargement to the 2x size. To add thickness to the character in the horizontal direction, the expanded reference matrix is compared with predetermined matrices represented by the following: C'(i) = C(i-1) + C(i) MATRIX 9 C'(i)b = C(i-1)b + C(i)b MATRIX 10 Figure 17 illustrates the print out of the combination of the generated additional binary data elements and stored binary data elements after making two of the four passes for an exemplary word processing quality character enlarged to 2x size as displayed by a dot matrix printer. The flow chart of Fig. 19 illustrates the logical operations just discussed. 2. Second Pass Printing To thicken the character in the vertical direction and increase the density in the vertical direction, referring to Fig. 18, the status of the additional binary data element at the intersection of column C2 and row R2a of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2,R2a = A·(G+B+C) The status of each of the additional binary data elements at the intersections of column C2 and the Ra rows R1a, R2a, R3a, etc. is determined by comparison with a predetermined matrix represented by the following: C2,Ra = C2·(C1+C3+C2u) The status of the additional binary data element at the intersection of column C2 and row R2c of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2,R2c = A·C The status of each the additional binary data elements at the intersections of column C2 and the Rc rows R1c, R2c, R3c, etc. of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2,Rc = C2·C2u Thus, in general form, the status of each of the additional binary data elements for all columns C1, C2, C3, etc. at the intersections with the Ra and Rc rows, which thicken the character in the vertical direction and increase the density in the vertical direction, is determined by comparison with a predetermined matrix represented by the following: where x = C(i) y = C(i+1) w = C(i-1) Matrix 11 serves a dual role by thickening the character toward the central portion or middle to improve character symmetry. It adds thickness downwardly to the horizontal lines in the upper portion of the character (i.e. the upper three rows of a seven row character) by converting to a dot those additional binary data elements at locations generally below the corresponding binary data element locations representing the stored character. However, the horizontal lines in the lower portion of the character (i.e. the lower four rows of a seven row character) are thickened upwardly by converting to a dot the additional binary data elements at locations generally above the corresponding binary data element locations representing the stored character. (See the later discussion in connection with Figs. 20, 21 for more detail.) This is accomplished by exchanging the data between the odd and even wires of the print head as determined by predetermined Matrix 11 and illustrated in Figs. 19A and 19B. To increase the density of the half diagonal linear components, the status of the additional blank binary data element at the intersection of column C2a and row R2a of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2a,R2a = A·D· C · B The status of each of the additional binary data elements at the intersections of column C2a and the Ra rows R1a, R2a, R3a, etc. of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2a,Ra = C2·C3u· C 2u· C 3 The status of the additional binary data element at the intersection of column C2a and row R2c of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2a,R2c = C·B· A · D The status of each of the additional binary data elements at the intersections of column C2a and the Rc rows R1c, R2c, R3c, etc. of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2a,Rc = C2u·C3· C 2· C 3u In general form, the status of each of the blank additional binary data elements at the intersections of all Ca columns C1a, C2a, C3a, etc. of the expanded reference matrix, which increase the density of the half diagonal linear components, is determined by comparison with a predetermined matrix represented by the following: where x = C(i) y = C(i+1) To increase the density of the full diagonal linear components of each character, the status of the additional binary data element at the intersection of column C2b, and row R2a of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2b,R2a = B·H· A · C ·( G + M )·( K + D )+A·F· B · D ·( J + C )·( E + Q ) The status of each of the additional binary data elements at the intersections of column C2b and the Ra rows R1a, R2a, R3a, etc. of the expanded reference matrix is determined by comparison with a predetermined matrix presented by the following: C2b,Ra = C3·C1u· C 2· C 2u·( C 1+ C 1uu)·( C 3d+ C 3u) + C2·C4u· C 3· C 3u·( C 2d+ C 2u)·( C 4+ C 4uu) The status of the additional binary data element at the intersection of column C2b and row R2c of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2b,R2c = G·D· A · C ·( I + H )·( B + P ) + C·E· B · D ·( A + N )·( L + F ) The status of each of the additional binary data elements at the intersections of column C2b and the Rc rows R1c, R2c, R3c, etc. of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2b,Rc = C1·C3u· C 2· C 2u·( C 1d+ C 1u)·( C 3+ C 3uu) + C2u·C4· C 3· C 3u·( C 2+ C 2uu)·( C 4d+ C 4u) In general form, the status of each of the blank additional binary data elements for all Cb columns C1b, C2b, C3b, etc. to enhance the full diagonal linear components of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: where x = C(i) y = C(i-1) w = C(i+1) z = C(i+2) To increase the density of other half diagonal linear components, the status of the additional blank binary data element at the intersection of column C2c and row R2a of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2c,R2a = C·B· A · D The status of each of the additional binary data elements at the intersections of column C2c and the Ra rows R1a, R2a, R3a, etc. of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2c, Ra = C2u·C3· C 2· C 3u The status of the additional binary data element at the intersection of column C2c and row R2c of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2c,R2c = A·D· C · B The status of each of the additional binary data elements at the intersections of column C2c and the Rc rows R1c, R2c, R3c, etc. of the expanded reference matrix is determined by comparison with a predetermined matrix represented by the following: C2c,Rc = C2·C3u· C 2u· C 3 In general form, the status of each of the additional blank binary data elements for all Cc columns C1c, C2c, C3c, etc. for increasing the density of other half diagonals of the expanded reference matrix are determined by comparison with a predetermined matrix represented by the following: where x = C(i) y = C(i+1) To add thickness to the character in the horizontal direction, each binary data element of the expanded reference matrix as determined by comparison with Matrices 11 to 14 is duplicated two matrix positions to the right. The status of each of these binary data elements is determined by comparison with predetermined matrices represented by the following: C'(i) = C(i-1)b + C(i) MATRIX 15 C'(i)a = C(i-1)c + C(i)a MATRIX 16 C'(i)b = C(i) + C(i)b MATRIX 17 C'(i)c = C(i)a + C(i)c MATRIX 18 When adding thickness to the character by duplicating the binary data elements, undesired adjacent horizontal dots a half dot apart may be generated that make the character too dense. The binary data elements representing the consecutive dots are selectively converted back to blanks by comparison with the predetermined matrices represented by the following: C''(i) = C''(i-1)c ·C'(i) MATRIX 19 C''(i)a = C''(i) ·C'(i)a MATRIX 20 C''(i)b = C''(i)a ·C'(i)b MATRIX 21 C''(i)c = C''(i)b ·C'(i)c MATRIX 22 After the second pass over the character illustrated in Fig. 17, a character of the type illustrated in Fig. 5 is produced. Figures 19A, 19B together from a flow chart representing the logical operations to be performed in accordance with the invention to print characters that are doubled in Size and enhanced in the word processing mode (2x, WP) as illustrated in Fig. 5. Referring to step 40, the data representing the column positions at the left and right of the stored matrix and the data therein are initialised and set to zero. At step 41 the pass of the print head is determined as either first or second. At steps 42, 43 the type of column is determined as C, Ca, Cb, or Cc for the column-by-column determination of which additional binary data elements are to be converted from blanks to dots. After determining the type of column of the expanded reference matrix, comparisons are made between the expanded reference matrices and the predetermined matrices as defined above in Matrices 7 - 22. After making the appropriate comparisons, each column is printed, and the process is repeated for the second pass following step 41. When all R columns have been printed, the routine ends. Referring to Figs. 20 and 21, the thickening of the horizontal line components of a dot matrix character as practised in the prior art is compared with the thickening towards the middle as in the present invention. Referring to Fig. 20, the horizontal components of characters were thickened vertically by printing all horizontal lines a second time one half dot lower than they were printed the first time, and this was usually done using the same data for both the first and second passes. Thus, each of the dots, such as 50, 51 was duplicated one half position lower as at positions 52, 53. While this is generally acceptable for the upper portions of the character, it is undesirable for dots extending to the baseline because the character loses it symmetry and extends below the baseline as illustrated by the thickening of dots 54, 55 by dots 56, 57. Referring to the character of Fig. 21, the binary data elements for the character are logically processed to print a character that is vertically thickened towards the middle, which preserves the base-line of the original character. The horizontal linear components in the upper portion of the character, such as represented by dots 61, 62, are thickened by converting to dots those binary data elements 63, 64 immediately below the corresponding binary data elements 61, 62. For the horizontal linear components in the lower portion of the character, such as represented by dots 65, 66, the binary data elements immediately above the corresponding stored binary data elements are converted to dots. Those binary data elements in the central portion of the character may be thickened upwardly or downwardly as necessary or desirable. The method of actually displaying such characters was described earlier in connection with enlargement in the word processing mode, second pass printing, Matrix 11. Apparatus for displaying such characters is described in connection with Figs. 1, 2, 3, and 24. To display the enlarged character of Fig. 8, logical operations are performed on the set of stored binary data elements to generate additional binary data elements that enlarge the character and increase its density but not its thickness. Using sets of stored binary data elements which define characters having a relatively high density in the horizontal direction and a relatively low density in the vertical and diagonal directions (i.e. as in Fig. 9), the logical operations increase the length of the vertical, diagonal and horizontal linear components thereof, maintain the thickness of the vertical, diagonal, and horizontal linear components in the direction generally orthogonal to their linear direction, and selectively increase the density of the vertical and diagonal linear components while maintaining the high density of the horizontal linear components. Such characters are obtained by following the method for producing a character expanded to the 2x size in the word processing mode, as described earlier, but utilising only predetermined Matrices 7, 8, and 12 - 14 as illustrated in Fig. 22, and substituting for Matrix 11 the following: where x = C(i) To display the enlarged character of Fig. 7, logical operations are performed on the set of stored binary data elements to generate additional binary data elements that enlarge the character without thickening or increasing the density of the linear components. Using sets of stored binary data elements which define characters having a relatively high density in the horizontal direction and a relatively low density in the vertical and diagonal directions, such characters are obtained by following the method for producing a character expanded to the 2x size in the data processing mode, as described earlier, but using only predetermined Matrix 1 and substituting for Matrix 2 the Matrix 2A as represented below. where x = C(i) y = C(i+1) w = C(i-1) The flow chart representing this sequence of operations is shown in Fig. 23. As noted earlier, still other logical operations may be performed to display a character where some but not all of the linear components are thickened or have an increased density. For example, the character may be enlarged with the horizontal components being enhanced by thickening and increasing the density thereof, while the diagonal and vertical components are not enhanced and are of the data processing quality. Using sets of stored binary data elements which define characters having a relatively high density in the horizontal direction and a relatively low density in the vertical and diagonal directions, such characters are obtained by following the method for producing a character expanded to the 2x size in the word processing mode (Fig. 19), but omitting the logical operations of making comparisons with Matrices 15, 16, 17 and 18. In a similar fashion logical operations may be performed on the stored binary data elements to ultimately display characters where the horizontal linear components are of a data processing quality and the diagonal and vertical components are of an enhanced word processing quality. Referring to the flow chart of Fig. 19, it is modified to display such a character by substituting Matrix 11A below for Matrix 11, omitting the logical operations represented by Matrices 19, 20, 21, and 22, and eliminating the step of exchanging the data for the even and odd wires when printing the second pass for the lower portion of the character. where x = C(i) Logical operations may be performed on a set of the stored binary data elements to display a character having linear components where the horizontal components are of a word processing quality and the vertical and diagonal components are of a thickened word processing quality, meaning that they have the increased density of the word processing quality characters but have been thickened more than usual to be two dots thick, rather than one and one-half dots thick. Referring to the flow chart of Fig. 19, it is modified by replacing Matrices 15, 16, 17, and 18 with Matrices 15A, 16A, 17A, and 18A, respectively, as set forth below: C'(i) = C(i) + C(i-1)b + C(i-1)c MATRIX 15A C'(i)a = C(i)a + C(i) + C(i)c MATRIX 16A C'(i)b = C(i)a + C(i) + C(i-1)c MATRIX 17A C'(i)c = C(i)b + C(i)a +C(i) MATRIX 18A Logical operations may be performed on a set of the stored binary data elements to display a character having linear components wherein the vertical and diagonal lines are of the word processing quality, and the horizontal lines are of a word processing quality that has been thickened. For instance, the horizontal lines are two dots wide, while the other lines are one and a half dots wide, with the dots overlapping to provide the increased density. Referring to the flow chart of Fig. 19, it is modified to display such a character by replacing Matrices 7 and 8 with Matrices 7A and 8A, respectively, as represented by the following: where x = C(i) y = C(i+1) w = C(i-1) Logical operations may also be performed on a set of the stored binary data elements to display a character where all of the component lines are of the enhanced word processing quality and have been thickened more than usual. Referring to the flow chart of Figs. 19A and 19B, it is modified to display such a character by replacing Matrices 7, 8, 15, 16, 17, and 18 with Matrices 7A, 8A, 15A, 16A, 17A, and 18A, respectively, as represented above. Similar matrices may be used to selectively add or delete varying amounts of thickness to the various vertical, horizontal, and diagonal components of enlarged characters by changing the logical operations performed on the stored data. Similarly, the character may be enlarged differentially in varying degrees, i.e. to provide characters that are enlarged to a 2x size in the vertical direction but retained in their usual 1x size in the horizontal direction. This allows one to provide varying pitch to select between, for example, 10 characters per inch or 12 characters per inch. Figure 24 illustrates diagrammatically apparatus for displaying enlarged dot matrix characters that may be selectively enlarged or selectively thickened, or selectively made more dense, in accordance with the present invention. The circuitry includes a control unit 71, a character data storage element 72, a logic unit 73, a print medium controller 74 connected to the tractor motor 9, a print head movement controller 76 attached to the print head motor 13, and a print head actuator 75 connected to the print head 15 to control the actuation of each of the individual print wires 14. The sets of binary data elements are stored in the character data storage means 72, which includes a plurality of storage devices 16, as referred to in Fig. 9. Binary data representing either a dot or a blank in a matrix of positions arranged in horizontal rows and vertical columns is stored in each of the storage devices 16, and together the stored data represents a character. The logic unit 73 includes means for performing logical operations on the selected sets of binary data elements representing the various characters. It may, among other things, address the appropriate data representing the desired character, read out the data representing the desired character, define a reference matrix for each character, expand the reference matrix by adding blank binary data elements, compare selected portions of the expanded reference matrix with a predetermined matrix, and convert to dots those additional binary data elements that match the predetermined matrix. As instructed by the control unit, this will result in characters which are selectively enlarged, thickened, and made more dense as desired by the operator of the printer. The control unit 71 includes means governing the data processing and mechanical functions of the printer, coordinates their respective operations, and may further communicate with a host computer. Management of the data processing may include control of the character data storage means 72 and the logic unit 73. Control of the mechanical operation of the printer may include control of the print medium or paper, print head movement, and the actuation of the wires in the print head. The print medium controller 74 provides signals to the motor 9 to control the movement of the print medium 2 over the platen and past the print head. The print head movement controller 76 provides signals to the print head motor 13 to control the translational movement of the print head across the print medium 2. The print head actuator 75 provides signals to actuate the individual printing elements 14 of the print head 11 under control of signals from the control unit 71 and in accordance with the data signals from the data storage unit 72 and from logic unit 73. The control unit 71 typically coordinates the flow of data to the print head actuator with the physical movement of the print head. While the invention has been described with respect to a specific dot matrix printer, and in connection with 2x enlargement, it is to be understood that it may be used in connection with any device that will display a dot matrix character of any size. For instance, the specific embodiment generally describes left to right printing. However, right to left printing is possible by simply starting the operations at the right end of the matrix and progressing towards the left.

Claims: Apparatus for printing or displaying dot matrix characters formed from selected binary data elements each representing either a dot or a blank, comprising storage means (16, 72) for Storing sets of binary data elements, each set defining the shape of a respective character, logic means (73) for performing logical operations on each set of the stored binary data elements to generate associated additional binary data elements which can be used to enlarge the size of the respective character selectively, and display means (14, 75) for displaying each character using the associated stored binary data elements and associated additional binary data elements in order to display said character in enlarged size, said display means using said generated additional binary data elements together with said stored binary data elements to enlarge the character being displayed in at least one of the vertical, horizontal and diagonal directions by lengthening at least one of the vertical, horizontal and diagonal linear components of the character being displayed along the linear direction thereof characterised in that said logic means comprises means for defining a reference matrix formed from a subset of said set of stored binary data elements, means for adding predetermined blank binary data elements to said defined reference matrix between the binary data elements of said set of stored binary data elements to form an expanded reference matrix, and comparison means for comparing selected portions of said expanded reference matrix including the additional blank binary data elements with corresponding selected portions of a predetermined matrix and converting selected additional blank binary data elements to dots when said reference matrix matches said predetermined matrix in order to generate additional binary data elements for use in lengthening at least one of the vertical, horizontal or diagonal components of the character to be displayed. Apparatus as claimed in claim 1 in which said logic means performs further logical operations on each set of stored binary data elements to generate further associated binary data elements which can be used to enhance the respective character selectively, wherein said display means uses said further generated additional binary data elements together with said stored binary data elements to increase the density of at least one of the vertical, horizontal and diagonal linear components of the character being displayed along the linear direction thereof. Apparatus as claimed in claim 2 in which each set of stored binary data elements defines the shape of a respective character which has a relatively high density in the horizontal direction and a relatively low density in the vertical and diagonal directions, wherein said display means uses said further generated additional data elements to increase the density of the vertical and diagonal linear components of the character being displayed while maintaining the relatively high density of the horizontal components thereof. Apparatus as claimed in any of claims 1 to 3 wherein said display means uses said further generated additional binary data elements together with said stored binary data elements to increase the thickness of at least one of said vertical, horizontal and diagonal linear components of the character being displayed in a direction substantially orthogonal to the linear direction thereof. Apparatus as claimed in any one of the preceding claims wherein said display means uses said further generated additional binary data elements together with said stored binary data elements to position additional dots adjacent to existing dots in order to thicken the upper portion of the character being displayed downwardly and to thicken the lower portion of the character being displayed upwardly. A method of printing or displaying dot matrix characters, formed from selected binary data elements each representing either a dot or a blank in a matrix of positions arranged in horizontal rows and vertical columns, comprising storing sets of binary data elements, each set defining the shape of a respective character, performing logical operations on each set of the stored binary data elements to generate associated additional binary data elements which can be used to enlarge the size of the respective character selectively, and displaying each character using the associated stored binary data elements and associated additional binary data elements in order to display said character in enlarged size, in the step of displaying each character, said generated additional binary data elements together with said stored binary data elements being used to enlarge the character being displayed in at least one of the vertical, horizontal and diagonal directions by lengthening at least one of the vertical, horizontal or diagonal components of the character being displayed along the linear direction thereof characterised in that the step of performing logical operations comprises defining a reference matrix formed from a subset of said set of stored binary data elements, adding predetermined blank binary data elements to said defined reference matrix between the binary data elements of said set of stored binary data elements to form an expanded reference matrix, and comparing selected portions of said expanded reference matrix including the additional blank binary data elements with corresponding selected portions of a predetermined matrix and converting selected additional blank binary data elements to dots when said reference matrix matches said predetermined matrix so as to generate additional binary data elements for use in lengthening at least one of the vertical, horizontal or diagonal components of the character to be displayed. A method as claimed in claim 6 including the step of performing further logical operations on each set of stored binary data elements to generate further associated additional binary data elements which can be used to enhance the respective character selectively, and wherein in displaying each character, said further generated additional binary data elements together with said stored binary data elements are used to increase the density of at least one of the vertical, horizontal and diagonal linear components of the character being displayed along the linear direction thereof. A method claimed in claim 7 in which each set of stored binary data elements defines the shape of a respective character which has a relatively high density in the horizontal direction and a relatively low density in the vertical and diagonal directions, and wherein in displaying each character, said generated additional data elements are used to increase the density of the vertical and diagonal linear components of the character being displayed while maintaining the relatively high density of the horizontal components thereof. A method as claimed in any of claims 6 to 8 wherein, in displaying each character, said further generated additional binary data elements together with said stored binary data elements are used to increase the thickness of at least one of said vertical, horizontal and diagonal linear components in a direction substantially orthogonal to the linear direction thereof. A method as claimed in any of claims 6 to 9 wherein, in displaying each character, said further generated additional binary data elements together with said stored binary data elements are used to position additional dots adjacent to existing dots in order to thicken the upper portion of the character being displayed downwardly and to thicken the lower portion of the character being displayed upwardly.

Inventors: ALEXANDER, RANDALL WAYNE, TROUPES, DEMETRIOS
Applicants: LEXMARK INTERNATIONAL, INC.
Application year: 1986
Main classification: G06K15
IPC codes: G06F3, B41J2, G06K15, G09G5