Variable size character generator with constant display density method

Stein July 1, 1

Patent Grant 3893100

U.S. patent number 3,893,100 [Application Number 05/427,023] was granted by the patent office on 1975-07-01 for variable size character generator with constant display density method. This patent grant is currently assigned to Data Royal, Incorporated. Invention is credited to Charles W. Stein.


United States Patent 3,893,100
Stein July 1, 1975

Variable size character generator with constant display density method

Abstract

A method and apparatus for producing variable size alphanumeric, punctuation and other symbol characters having a constant display density. Each character is defined through a matrix by a combination of size independent shapes. Only six such shapes are employed to generate all of the characters. Variable sizing of the characters is achieved by expanding the shapes in both the X and Y directions. The display density is maintained within each shape at a constant level that is independent of the degree of expansion of the shape.


Inventors: Stein; Charles W. (Nashua, NH)
Assignee: Data Royal, Incorporated (Nashua, NH)
Family ID: 23693166
Appl. No.: 05/427,023
Filed: December 20, 1973

Current U.S. Class: 345/472.3; 400/124.3; 178/30; 382/298
Current CPC Class: G06K 15/10 (20130101); G09G 5/26 (20130101); G09F 9/30 (20130101); G06K 2215/0057 (20130101)
Current International Class: G09G 5/26 (20060101); G09F 9/30 (20060101); G06K 15/02 (20060101); G06K 15/10 (20060101); G09f 009/32 ()
Field of Search: ;340/324AD,336 ;178/15,30,DIG.3

References Cited [Referenced By]

U.S. Patent Documents
3331985 July 1967 Hammann
3573789 April 1971 Sharp et al.
3614767 October 1971 Carrell
3659283 April 1972 Ophir
3786478 January 1974 King, Jr.
3792463 February 1974 Eriksson et al.
Primary Examiner: Curtis; Marshall M.
Attorney, Agent or Firm: Birch; Richard J.

Claims



What I claim and desire to secure by Letters Patent of the United States is:

1. A method for producing variable size, matrix defined and point displayed characters comprising the steps of:

1. defining each character through a matrix having a predetermined number of components, said components each having one of a predetermined number of size independent, component shapes with each component being an element of the matrix;

2. generating a plurality of binary display signals corresponding to said component shapes and the desired component size to be displayed with one binary state representing a display condition and the other binary state representing a no-display conditon; and,

3. applying said display signals to a point display with the display density of the points remaining the same regardless of the size of said character.

2. A method for producing variable size matrix printed characters comprising the steps of:

1. defining each character through a matrix having a predetermined number of components, said components each having one of a predetermined number of size independent, component shapes with each component being an element of the matrix;

2. generating a plurality of binary printing signals corresponding to said component shapes and the desired component size to be printed with one binary state representing a print condition and the other binary state representing a no-print condition;

3.

3. converting said plurality of binary printing signals into a signal format that is compatible with the printing line format of a matrix printer; and,

4. applying said converted printing signals to a matrix printer with the matrix printing density of the printing points remaining the same

regardless of the size of said character. 3. The method of claim 1 wherein each character is defined through a 5 .times. 7 matrix having thirty five components.

4. The method of claim 1 further comprising the steps of buffering said converted printing signals before they are applied to said matrix printer.

5. The method of claim 1 wherein said predetermined number of size independent component shapes is six.

6. The method of claim 5 wherein said component shapes are: (1) an empty area; (2) a filled in square; (3) a filled in triangle at 0.degree.; (4) a filled in triangle at 90.degree.; (5) a filled in triangle at 180.degree.; and, (6) a filled in triangle at 270.degree..

7. A method for producing variable size matrix printed characters comprising the steps of:

1. defining each character through a matrix having a predetermined number of components, said components each having one of six, size independent, component shapes with each component being an element of the matrix;

2. assigning a numerical component shape code to each one of said six component shapes;

3. coding each component of the matrix on a row-by-row basis with the particular numerical component shape code which represents the component shape for a specific character for each such component whereby each character is described by a plurality of numbers each representing one row of the component shape codes for the character, said plurality of numbers defining a unique descriptor for the character;

4. storing each one of the character descriptors;

5. generating a plurality of binary printing signals corresponding to said component shapes and the desired component size to be printed with one binary state representing a "print" condition and the other binary state a "no-print" condition;

6. converting said plurality of binary printing signals into a signal format that is compatible with the printing line format of a matrix printer; and,

7. applying said converted printing signals to a matrix printer with the matrix printing density of the printing points remaining the same regardless of the size of said character.

8. The method of claim 7 wherein each character is defined through a 5 .times. 7 matrix having thirty five components.

9. The method of claim 8 wherein each character descriptor is formed from seven words.

10. The method of claim 7 wherein said numerical components shape codes each consist of three bits representing one of six numbers in the series 0-7.

11. The method of claim 10 wherein each character descriptor is formed from seven fifteen bit numbers.

12. The method of claim 7 wherein said component shapes are: (1) an empty area; (2) a filled in square; (3) a filled in triangle at 0.degree.; (4) a filled in triangle at 90.degree.; (5) a filled in triangle at 180.degree.; and, (6) a filled in triangle at 270.degree..

13. The method of claim 7 further comprising the step of buffering said converted printing signals before they are applied to said matrix printer.

14. A variable size character generator for a point display comprising:

1. means for producing signals representative of a matrix of a predetermined number of image components which define each character, said image components each having one of a predetermined number of size independent, component shapes with each component being an element of the matrix;

2. means responsive to said matrix representative signals and to a signal representative of the desired image size for generating signals representing an array of points to be displayed within each image component of the matrix by a point display with the display density of said points remaining the same regardless of the size of each character; and,

3. signal generating means for producing a plurality of binary display signals for the point display corresponding to said series of points to be displayed with one binary state representing a display condition and the other binary state representing a no-display condition.

15. The generation of claim 14 further characterized by a point display means responsive to said binary display signals.

16. A variable size character generator for a matrix printer comprising:

1. means for storing a character descriptor for each character, which represents a matrix definition of the character in which each matrix component has one of six, size independent, component shapes, said descriptor comprising a plurality of numerical character component shape codes which represent the component shapes of a specific character for each component of the matrix, said numerical component shape codes being arranged on a matrix row-by-row basis to form a plurality of numbers which in turn represent the component shape codes on a row-by-row basis for the character;

2. size input signal responsive means coupled to said descriptor storage means for converting the size of each component shape defined by a descriptor into a series of points to be printed within each matrix component by a matrix printer with the matrix printing density of said printing points remaining the same regardless of the size of said character;

3. signal generating means coupled to said size input signal responsive means for generating a plurality of binary printing signals corresponding to said series of points to be printed with one binary state representing a print condition and the other binary state a no-print condition; and,

4. means for converting the plurality of binary printing signals to a signal format that is compatible with the printing line format of the matrix printer.

17. The character generator of claim 16 wherein said character descriptor represents a 5 .times. 7 matrix definition of each character.

18. The character generator of claim 16 wherein said component shapes are: (1) an empty area; (2) a filled in square; (3) a filled in triangle at 0.degree.; (4) a filled in triangle at 90.degree.; (5) a filled in triangle at 180.degree.; and, (6) a filled in triangle at 270.degree..

19. The character generator of claim 16 wherein said numerical character shape codes each consist of three bits representing one of six numbers in the series 0-7.

20. The character generator of claim 19 wherein said character descriptor represents a 5 .times. 7 matrix definition of each character and wherein said numerical character shape codes are arranged on a matrix row-by-row basis to form seven fifteen bit numbers.

21. The character generator of claim 16 further comprising means for buffering said converted printing signals before said signals are applied to the matrix printer.

22. The character generator of claim 16 further comprising signal input means for addressing said character descriptor storage means in response to an input signal representing a character having a descriptor that is stored in said storage means.

23. The character generator of claim 22 wherein said character descriptor storage means comprises a read-only memory.

24. A variable size character generator for a matrix printer comprising:

1. means for producing signals representative of a matrix of a predetermined number of image components which define each character, said image components each having one of a predetermined number of size independent, component shapes with each component being an element of the matrix;

2. means responsive to said matrix representative signals and to a signal representative of the desired image size for generating signals representing an array of points to be printed within each image component of the matrix by a matrix printer with the matrix printing density of said points, remaining the same regardless of the size of each character;

3. signal generating means for producing a plurality of binary printing signals for the matrix printer corresponding to said series of points to be printed with one binary state representing a print condition and the other binary state representing a no-print condition; and,

4. signal format conversion means for converting said plurality of binary printing signals into a signal format that is compatible with the printing line format of the matrix printer.
Description



BACKGROUND OF THE INVENTION

The present invention relates to character generators in general and more particularly, to a point display system for displaying variable size characters which have a constant point display density.

The art of generating alphanumeric and other types of characters is relatively well developed. At the present time CRT-matrix format character generators are used in a variety of applications. Representative examples of such generators are shown in the following U.S. Pat. Nos. 3,305,841 issued Feb. 21, 1967 to Mr. Schwartz for PATTERN GENERATOR; U.S. Pat. No. 3,426,344 issued Feb. 4, 1969 to R. J. Clark for CHARACTER GENERATOR FOR SIMULTANEOUS DISPLAY OF SEPARATE CHARACTER PATTERNS ON A PLURALITY OF DISPLAY DEVICES; U.S. Pat. No. 3,588,872 issued June 28, 1971 to E. R. Kolb for POINT SIZE, COMPUTATION AND EXPOSURE CONTROL DEVICE FOR A CHARACTER DISPLAY APPARATUS; U.S. Pat. No. 3,609,743 issued Sept. 28, 1971 to Mr. Lasoff for DISPLAY UNIT; U.S. Pat. No. 3,623,069 issued Nov. 23, 1971 to A. E. Malden for MULTIPLEX CHARACTER GENERATOR; and, U.S. Pat. No. 3,668,687 issued June 6, 1972 to D. B. Hale for RASTER SCAN SYMBOL GENERATOR. Impact or non-impact matrix printers are currently employed to generate different types of characters in hard copy. Representative matrix printer type character generators are shown in U.S. Pat. Nos. 3,444,319 issued May 13, 1969 to M. Artzt et. al. for CHARACTER GENERATOR and 3,638,216 issued Jan. 25, 1972 to A. E. Brewster for CHARACTER GENERATION SYSTEM.

Although the currently available matrix point displays and printers do offer some degree of flexibility in terms of character formation and character fonts, they do not provide for variations in character size on a line-to-line basis. In a number of printing applications it would be desirable to be able to print documents with characters of different sizes from line-to-line and/or from document-to-document. One example of such a printing application is the ubiquitous shipping label in which the product code or product description may be one size, the addressee another size, and the "Ship-To" address yet another size. Since variable size characters are potentially useful in any document which requires textual emphasis, a matrix printing system which selectively produces variations in character size would have a wide range of applications.

It is accordingly, a general object of the present invention to provide a variable character size point display system.

It is a specific object of the invention to provide a variable character size matrix printing system.

It is another specific object of the invention to provide a variable size character generator which can be interfaced to a conventional impact or non-impact matrix printer.

It is still another object of the invention to provide a constant matrix printing density for each character regardless of the size of the character.

It is a further object of the invention to provide a variable size character generator in which each character is defined by a combination of size independent shapes.

It is a feature of the invention that only six such size independent shapes are required to generate all of the characters.

It is still another feature of the invention that the six component shapes are binary coded so that any character in a 5 .times. 7 format can be defined by only seven words per character.

It is a further feature of the invention that the binary coding scheme for the size independent component shapes permits the use of a relatively low capacity memory and I/O buffer.

BRIEF SUMMARY OF THE INVENTION

In a preferred embodiment of the invention a standard matrix printer, either impact or non-impact, is used to produce variable size characters. The size of the characters is controlled by varying the number of points printed for each of thirty five components in a 5 .times. 7 matrix. Other matrix configurations are possible within the coding scheme of the invention. The scheme uses six different, size independent component shapes for each component.

Characters are defined through the 5 .times. 7 matrix in which each point may have one of the following six possible configurations: (1) empty; (2) a square in which the point is entirely filled; (3) half the point space is filled in by a triangle at 0.degree.; (4) half the point space is filled in by a triangle at 90.degree.; (5) half the point space is filled in by a triangle at 180.degree.; and, (6) half the point space is filled in by a triangle at 270.degree.. Each one of the six configurations is assigned its own unique binary code. Given a 5 .times. 7 matrix configuration, a row-by-row code can be developed for each character in seven fifteen bit numbers where each number defines one of the seven rows of points.

The resulting seven fifteen bit numbers provide a size independent descriptor for each character. The size of the total character is varied by varying the size of each component shape, i.e., triangle or square, in both the X and Y directions. Since the output device of the preferred embodiment is a matrix printer, size expansion of the six component shapes is achieved by converting the desired size of each component shape to a series of points to be printed by the matrix printer. Thus, if a "size 3" square is desired, the square component is converted to a square of points having three points on each side. Similarly, a "size 4" triangle is formed by four points on each side of the triangle. Other degrees of expansion can be obtained by increasing the number of matrix printing points in each dimension of the six component shapes.

A character generator produces a seven bit output to drive the matrix printer. If the character size is larger than the seven vertical point printing line of a standard matrix printer, several passes of the printer will be required to define the character. However, since the spacing between each printing point of the printer remains constant, the matrix printing density of the character also remains constant even though the size of the characters may be changed from line-to-line and/or from document-to-document.

Having briefly summarized my invention, the objects and features of the invention can best be understood from the following detailed description of a preferred embodiment thereof, selected for purposes of illustration and shown in the accompanying drawings, in which:

FIG. 1 is a tabular diagram illustrating the six size independent component shapes which are used to define the characters;

FIG. 2A is a diagram of a 5 .times. 7 matrix showing the formation of the character "9" using the six component shapes illustrated in FIG. 1;

FIG. 2B is a tabular diagram showing a seven, fifteen bit number description for the character 9 using the binary component shape codes listed in FIG. 1;

FIGS. 3A and 3B depict the formation of the triangle and square component shapes at sizes 3 and 4 respectively;

FIG. 4 illustrates the formation of the character 9 of FIG. 2A at size 3 by means of three printing line passes of the matrix printer;

FIG. 5 is a tabular diagram depicting in binary form the first pass printing signal input to the matrix printer for the character 9 at size 3; and,

FIG. 6 is a functional block diagram of the variable size character printing system.

Turning now to the drawings, the method of the present invention is illustrated in FIGS. 1 through 5 and the apparatus for performing the method thereof is depicted in functional block diagram form in FIG. 6. The generation of variable size characters is achieved in the present invention by defining each character through a matrix having a predetermined number of components with each of the components having one of a predetermined number of size independent component shapes.

In the preferred embodiment six, size independent component shapes, shown in tabular form in FIG. 1 and identified generally by the reference numeral 10, are employed to form a character, such as, the character "nine" shown in FIG. 2A and indicated generally by the reference numeral 12. The six, sizes independent component shapes 10a through 10f comprise, respectively, an open square or space within which nothing is printed, a filled in square in which the entire area is printed, a printed triangle at 0.degree., a printed triangle at 90.degree., a printed triangle at 180.degree. and a printed triangle at 270.degree..

The six component shapes 10a through 10f are used to define the character nine shown in FIG. 2A through an N .times. M matrix 14. For purposes of illustration the matrix is shown as a conventional 5 .times. 7 matrix. However, it should be understood that other matrix configurations can be employed in accordance with the invention to generate variable size characters having a different aspect ratio.

Given the illustrative 5 .times. 7 matrix shown in FIG. 2A, it will be appreciated that the matrix defines thirty five individual points 16 which are arranged in five vertical columns and seven horizontal rows. Each matrix point has a specific component shape. For example, the point identified by Row 1, Column 1 in FIG. 2A has a component shape 10d, i.e., a triangle at 90.degree. while the point identified by Row 1, Column 5 has a component shape 10c, i.e., a triangle at 0.degree..

Each one of the six component shapes 10a through 10f is assigned a three bit binary code as shown in FIG. 1. By coding each of the individual points 16 within matrix 14, a row-by-row code can be developed for each character 12 using seven fifteen bit numbers 18 where each number 18 defines one of the seven rows of points. FIG. 2B illustrates the coding arrangement for the character nine shown in FIG. 2A. The resulting seven fifteen bit numbers provide a size independent descriptor 20 for each character 12. It will be appreciated that this coding scheme permits the use of the same amount of data to describe each character regardless of the size of the character thereby substantially reducing the data storage requirements.

The size of the total character 12 is varied in the present invention by varying the size of each component shape 10a through 10f in both the X and Y directions. Since the output device if the preferred embodiment is a matrix printer, size expansion of the six component shapes is achieved by converting the desired size of each component shape to a series of points to be printed by the matrix printer. However, the same technique is applicable to the generalized form of the invention in which the component shapes are converted to a series of inside display points having one of two display states. In the first state, the display condition is "visible" while in the second state the display condition is "invisible". Therefore, the term "point display" as used herein means a device which creates a visual image by means of a plurality of discrete points having two display states.

Referring now to FIGS. 3A, 3B and 4, FIG. 3A illustrates a size 3 expanded square corresponding to the matrix point 16 shown in FIG. 2A. In accordance with the expansion algorithm, the size 3 square is converted to a square of points 22 having three points on each side. Thus, in the size 3 configuration, each matrix point 16 is defined by a square of nine matrix printing points having three points on each side. Similarly, a size 4 square or triangle is formed by four points 22 on each side of the triangle as illustrated in FIG. 3B. Although only size 3 and size 4 levels of expansion have been shown in the drawings, it should be understood that other degrees of expansion can be obtained by increasing the number of matrix printing points in each dimension of the six component shapes 10a through 10f.

One of the features and advantages of the present invention is that the visual display or printing point density is constant regardless of the size of each character. It should be seen from an inspection of FIGS. 3A and 3B that the spacing between and among the points 22 is the same at size 3 and at size 4. This arrangement significantly improves the visual appearance of the resulting visual display or hard copy print of the characters.

The full expansion of the entire FIG. 2A character nine at size 3 is depicted in FIG. 4. For purposes of clarity, the formation of the nine point, 3 .times. 3 array which represents a matrix point 16 is depicted only in the area defined by Row 1, Column 1 of FIG. 4. Looking specifically at the Row 1, Column 1 area, the visual display or printing points 22 are illustrated as a filled-in circle 22a or an empty circle 22b to depict, respectively, a point which is printed and a point which is not printed. The so-called "no-print" points 22b have been omitted from the remainder of FIG. 4 again only for purposes of clarity.

It can be seen from a comparison of FIG. 2A with FIG. 4 that each one of the individual component shapes 10a through 10f has been expanded to a size 3 by defining the component shape in terms of nine printing points 22 arranged in a 3 .times. 3 square. Each component shape is visually presented by means of points 22a and/or no-points 22b. The visual presentation of the individual component shape points 22 can be implemented physically in a variety of ways. As previously mentioned, in the preferred embodiment these points are printed or not printed by a conventional impact or non-impact matrix printer. However, it should be appreciated that the invention is equally suitable for any other type of visual point display, such as for example, lighted scoreboards, stock quotation displays and cathode ray tubes.

Although the particular scanning format may vary depending upon the type of visual point display selected for display of the expanded character shown in FIG. 4, the method of the present invention can best be understood from again considering an illustrative example. For instance, assume that the visual display of the enlarged character shown in FIG. 4 will be performed by a matrix printer having a print head which includes seven print wires arranged vertically and mounted on a horizontally movable carriage. The print wires are selectively pulsed in the conventional manner as the carriage sweeps horizontally across the print line. Looking at FIG. 4, it can be seen that the printing of the enlarged character nine can be accomplished by such a matrix printer in three horizontal passes of the printer. Each pass is identified in FIG. 4 by an appropriate label "Print Line No. 1", "Print Line No. 2" and "Print Line No. 3".

It will be appreciated by those skilled in the art that other printing or display formats can be used to reproduce the enlarged character shown in FIG. 4. For example, if the printer printed only a single line instead of seven lines on each horizontal pass, twenty one passes of the printer would be required to generate the character nine and conversely, if the printer printed twenty one lines on a single pass, only one pass of the printer across the page would be required to produce the enlarged character nine.

The series of points 22 (representing in the generalized form a visual display point 22a and no-display point 22b or in the specific embodiment a print point 22a and a no-print point 22b) is converted into a corresponding plurality of binary point display or printing signals shown in tabular form in FIG. 5. The binary printing signals indicated generally by the reference numeral 24 in FIG. 5 have been arranged in the corresponding Row and Column configuration for a display or printing means having seven vertically arranged display or printing points per scan or printing line. The binary printing signals 24 are employed preferably after buffering, to actuate a conventional matrix printer as will be described in greater detail below.

Referring now to FIG. 6, there is shown in functional block diagram form the variable character size matrix printing system of the preferred embodiment of the present invention. The major functional components shown in FIG. 6 are as follows: an EIA standard RS-232 serial interface 26, a random acess memory (RAM) 28, a read only memory (ROM) 30, a central processing unit (CPU) 32, a printer interface 34 and a conventional impact or non-impact matrix printer 36. The ROM 30 has an expansion logic section 38, an interface control logic section 40, a matrix printer control logic section 42 and a character symbol table section 44. The RAM has two input data buffers 46 and 48 and two output data buffers 50 and 52.

The operation of the variable character size printing system shown in FIG. 6 can best be understood by examining the sequential operations of the system. The input date in ASC-II code is inputted to the serial interface 26 and converted to sixteen bit parallel form. The parallel form data is then stored in the proper input data buffer. Assuming that both input data buffers 46 and 48 are empty, the sixteen bit parallel form date is stored in the first input data buffer 46. When input buffer 46 is full, storage of the date commences in the second input data buffer 48 and processing of the data in the first input data buffer is initiated.

The data in input data buffer 46 is processed to produce the expanded characters in the following sequence. First, each character is used to index the proper character symbol table in the character symbol tables 44. The symbol tables 44 contain for each character the component shapes 10 which define the particular character. In the preferred embodiment, six size independent component shapes 10a through 10f are used to define each character. As discussed above, these component shapes are three bit binary coded and stored for each character in the form of a seven word descriptor 20. Each component shape 10a through 10f, is expanded in accordance with the size specified in the input data. The resulting binary point display signals are truncated for the proper scan of the matrix printer 36 and then stored in the first output data buffer 50 for that scan.

The preceding process is repeated for each character stored in the input data buffer 46. When the entire input data buffer 6 has been processed, a scan is printed on the matrix printer 36. The input data buffer 46 is processed and the resulting data printed as many times as necessary (N times for character size N) to generate the desired number of scans for the matrix printer 36. It should be noted that this processing occurs in parallel with the printing of the previous scan.

When the processing of the input data buffer 46 has been completed (although the printing of the data may not necessarily be completed) and the second input data buffer 48 is full, the input data again commences to be stored in the first input data buffer 46 and the data in the second input data buffer 48 is processed in the same manner as described above in connection with the data in the first input data buffer 46.

Having described in detail a preferred embodiment of my invention, it will be appreciated that the invention in its generalized form as well as in its specific embodiment offers significant advantages over existing character generators. The use of size independent component shapes to define each character greatly reduces the memory requirements for the system because the same amount of data can be used to define each component shape regardless of its size. In the preferred six component shape character definitions only three bits are employed to code each component shape, eg. numbers 0-5 with two extra numbers available, eg. 6-7. With this coding scheme, a seven word descriptor can be formed for each character in a 5 .times. 7 matrix system.

The basic concepts of my invention are described in Disclosure Document No. 015404 filed Dec. 12, 1972 in the United States Patent Office.

It will be apparent to those skilled in the art from the preceding detailed description of my invention that numerous modifications can be made therein without departing from the scope of the invention as defined in the following claims.

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed