GB1572274A – High resolution character generator
– Google Patents
GB1572274A – High resolution character generator
– Google Patents
High resolution character generator
Download PDF
Info
Publication number
GB1572274A
GB1572274A
GB32739/77A
GB3273977A
GB1572274A
GB 1572274 A
GB1572274 A
GB 1572274A
GB 32739/77 A
GB32739/77 A
GB 32739/77A
GB 3273977 A
GB3273977 A
GB 3273977A
GB 1572274 A
GB1572274 A
GB 1572274A
Authority
GB
United Kingdom
Prior art keywords
character
scan line
data
characters
line
Prior art date
1976-08-11
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
GB32739/77A
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
1976-08-11
Filing date
1977-08-04
Publication date
1980-07-30
1977-08-04
Application filed by Xerox Corp
filed
Critical
Xerox Corp
1980-07-30
Publication of GB1572274A
publication
Critical
patent/GB1572274A/en
Status
Expired
legal-status
Critical
Current
Links
Espacenet
Global Dossier
Discuss
Classifications
G—PHYSICS
G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
G09G5/42—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen
G—PHYSICS
G06—COMPUTING; CALCULATING OR COUNTING
G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
G06K15/12—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by photographic printing, e.g. by laser printers
G06K15/128—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by photographic printing, e.g. by laser printers generating or processing printable items, e.g. characters
G—PHYSICS
G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
G09G5/24—Generation of individual character patterns
Description
PATENT SPECIFICATION ( 11) 1 572 274
( 21) Application No 32739/77 ( 22) Filed 4 Aug 1977 ( 19) ( 31) Convention Application No 713545 ( 32) Filed 11 Aug 1976 in ^ ( 33) United States of America (US)
> ( 44) Complete Specification Published 30 Jul 1980
Wf ( 51) INT CL 3 B 41 J 3/00 ( 52) Index at Acceptance G 4 H 13 D 14 B 1 A GF 1 ( 72) Inventors: RONALD E RIDER BUTLER W LAMPSON ( 54) HIGH RESOLUTION CHARACTER GENERATOR ( 71) We, XEROX CORPORATION of Rochester, New York State, United States of America, a Body Corporate organized under the laws of the State of New York, United States of America, do hereby declare the invention, for which we pray that a patent may be granted to us, and the method by which it is to be performed, to be particularly described in and by the following statement: 5
This invention pertains generally to printers and display devices in which images are formed by scanning a display medium in raster fashion, and more particularly to a high resolution character generator for generating alphanumeric and other characters for display in such systems.
Raster scan devices such as cathode ray tubes have been utilized for a number of years to 10 display alpha-numeric characters and other images in a variety of applications including computer output displays In such systems, a character generator produces electrical signals which modulate the intensity of an electron beam which scans a display screen to form the desired images.
In recent years, there have been attempts to combine character generators with xerog 15 raphic engines to provide high speed printers for generating original text or other images In such devices, a latent charge image is formed on the surface of the copy drum or other electrophotographic imaging member of the xerographic engine by scanning the surface with a laser beam or other suitable light beam modulated in intensity by the output signals of the character generator The charge image is developed and transferred to form a hard 20 copy by techniques similar to those employed in conventional xerographic copy machines.
Character generator driven xerographic printers heretofore provided have been subject to certain limitations and disadvantages The number of different characters and fonts which can be printed is limited by the memory space required to store them, and some printers can print only a small number of text lines in a fixed format When the text lines 25 and scan lines extend in different directions on the page, the problem of aligning characters in different text lines limits some printers to characters of a single size or font pitch.
The invention provides a high resolution character generator which is particularly suitable for use in a xerographic printing system Input data defining the characters to be printed in ordered rows of text are sorted to provide character specifications ordered by the 30 scan lines in which the characters begin Specifications for the characters which begin on each successive scan line are stored in an input buffer, and the specifications for characters which have been partly printed in a previous scan line are stored in an active character buffer Image defining data for a plurality of characters is stored at individually addressable locations in a font memory, and this data is addressed in response to the character specifica 35 tions in the input buffer and the active character buffer during successive scan lines The data from the font memory is transferred to an output buffer for processing and presentation to the xerographic printer or other raster scan output device.
According to one aspect of the invention there is provided in apparatus for generating characters to be imaged on an output device scanned in raster fashion along successive 40 lines: first memory means for storing for each scan line specification data only for those characters whose first appearance occurs on that scan line; second memory means for storing for each scan line specification data only for those characters whose first appearance occurred on a previous scan line and which require additional scan lines to complete; means for accessing the first and second memory means to obtain the specification data for the 45
1,572,274 characters appearing in each successive scan line; a font memory for storing image defining data bits for a plurality of characters arranged in individually addressable bit sequences each representing a portion of a character to be imaged in one scan line on the output device; means for addressing the bit sequences in the font memory in accordance with the character specification data accessed for each successive scan line; and means for presenting 5 output data to the output device in accordance with the bit sequences addressed for each successive scan line.
According to another aspect of the invention there is provided in apparatus for generating characters to be imaged on an output device scanned in raster fashion along successive lines: a font memory for storing image defining data bits for a plurality of characters 10 arranged in individually addressable bit sequences each representing a portion of a character to be imaged in one scan line on the output device; an input buffer memory for storing for each scan line specification data only for those characters whose first appearance occurs on that scan line, the data for each character including a line address defining the position of the character in the scan line, a font memory address defining the location of the initial bit 15 sequence for the character in the font memory, and formatting data including the number of scan lines required to form an image of the character; an active character buffer member for storing for each scan line specification data only for those characters which have been partly imaged; means for addressing the buffer memories to obtain the specification data for each new character and each partly imaged character appearing in each successive scan line; 20 means for updating the specification data in the character buffer memory to include for each character appearing in a current scan line the font address of the bit sequence of the portion of the character to be imaged in the next scan line and the number of scan lines required to complete the image of the character; means for addressing the bit sequences in the font memory in accordance with the font address for each new character and each partly 25 imaged character in each successive scan line; and output buffer means for presenting output data to the output device in accordance with the bit sequences addressed for each successive scan line.
According to a further aspect of the invention there is provided in a system for producing images of characters in ordered rows on an image forming device scanned in raster fashion 30 along successive lines; a source of input data listing the characters in an order corresponding to the ordered rows; means for sorting the input data to present specifications for the characters in a scan line format in which the specifications are ordered according to the successive scan lines in which the images of the characters begin; input buffer means for storing in the scan line format and for each scan line the specifications only for those 35 characters whose first appearance occurs on the scan line; active character buffer means for storing for each scan line specifications only for those characters whose first instance occurred on a previous scan line and which require additional scan lines to complete; means for accessing the input and active character buffer means to obtain the specifications for all of the characters appearing in each successive scan line; font memory means for storing image 40 defining data bits for a plurality of characters arranged in individually addressable bit sequences each representing a portion of a character to be imaged in one scan line; means for updating the character specifications in the active character buffer means to specify the number of scan lines required to complete the image of each character and to specify the font memory address of the bit sequence of the portion of the character to be imaged in the 45 next successive scan line; means for addressing the bit sequences in the font memory means according to the character specifications accessed for each scan line; and means for presenting output data to the image forming device in accordance with the addressed bit sequences for each successive scan line.
The following is a description of a preferred embodiment of the invention set forth in 50 detail in conjunction with the accompanying drawings, in which:
Fig 1 is a block and data flow diagram of one embodiment of a character generator incorporating the invention; Figs 2 and 3 are illustrations of pages printed in two different formats utilizing the invention; 55 Fig 4 is an illustration of a letter K digitized for processing by the invention; Figs 5 and 6 illustrate the encoding of character defining data in a run length incremental format for storage in the font memory of the character generator of the invention; Fig 7 illustrates the relationship among the parameters utilized in defining a character in the character generator of the invention; and 60 Figs 8 to 10 illustrate the organization of input data specifications for the character generator of the invention.
As illustrated in Fig 1, the character generator 11 is interfaced with a computer 12 and a raster scan output device 13 As discussed more fully hereinafter, the computer serves to execute a real time sort of a text-line-orientated character display list into a scan-line 65 3 1,572,274 3 orientated display list Briefly, this sort is performed as follows Initially, all characters which begin on the first scan line are selected, and a specification for each of these characters is output to the character generator, followed by an end-of-scan specifier Similar character specifications are sent to the character generator for the characters which begin on each successive scan line If no character starts on a given line, only an end-of-line 5 specifier is sent When all of the text has been sorted and sent, an endof-page specifier is sent.
The computer can be of any suitable known type, preferably one which can be dedicated to the character generator Suitable computers include general purpose digital computers, special purpose digital computers, and micro-processors As illustrated, the computer 10 includes a processing unit 16, an input device 17 and a memory 18 The test-line-oriented character display list data is read into the system through the input device, which can be of any suitable form such as a card reader, a tape reader, a keyboard operated terminal or a combination of such devices Memory 18 provides means for storing a desired amount of input data, e g 1000 pages, and can be any suitable known type, for example, a magnetic 15 disk, a magnetic drum of a magnetic tape.
In the preferred embodiment, raster scan device 13 comprises a xerographic printer, in which a modulated laser beam repeatedly traverses a rotating electrophotographic copy drum in an axial direction The output of the character generator controls the modulation of the laser beam in a known manner, whereby latent charge images of the characters pro 20 duced by the generator are formed on the surface of the drum These images are developed and transferred by known techniques to form a printed page.
The system is suitable for printing pages having either a portrait format, as illustrated in Fig 2, or a landscape format, as illustrated in Fig 3 In either format, the paper is fed in an edgewise manner, and the scan lines extend in the Y direction along the long dimension Of 25 the page Successive scans are progressively displayed in the X direction along the short dimension of the page, whereby the entire page is scanned in a raster fashion In the portrait format, the text lines 21, or rows of characters, extend in the X direction along the short dimension of the page, perpendicular to the scan lines In the landscape format, the text lines 22, or rows of characters, extend in the Y direction along the long dimension of the 30 page, parallel to the scan lines In either format, the number of scan lines required to display a character is referred to as the width or X dimension of the character, and the number of dots per scan line is referred to as the height or Y dimension of the character In one presently preferred embodiment, the character generator is suitable for displaying a maximum of 8192 video points in the Y direction, with 4250 scan lines per page and up to 512 35 characters per scan line.
Referring again to Fig 1, character generator 11 includes a font memory 26 in which data defining the characters which can be produced by the generator are stored The data are preloaded into the font memory by any suitable means such as a data bus 27 connecting the font memory directly to the computer The data for each character are divided into a 40 plurality of individually addressable words or bit sequences corresponding to the portions of the character formed by successive scans In one presently preferred embodiment, the font memory is arranged in 32-bit words, each containing four 8-bit bytes, addressable at 8-bit boundaries This memory can readily be incremented to provide a desired storage capacity, e g 1024 characters 45 The data for individual characters can be stored in font memory 26 in any desired format.
In the preferred embodiment, two formats are utilized: matrix format and run length incremental (RLI) format In the matrix format, one bit is stored for each dot or display element of the character The incremental format is a compression technique which reduces the font storage required for high resolution characters For characters in a 10-point font, 50 for example, the incremental format has been found to give a compression on the order of 3.5:1.
Matrix and run length incremental formatting can best be understood with reference to Fig 4, which illustrates a low resolution letter K digitized in a 12 x 14 bit rectangle In matrix format, one bit is stored for each dot or element of the character, and for the 55 illustrated letter K, fourteen bits would be stored for each scan line For scan line 0, the stored bits would be 10000000000001 where a 1 represents a black dot and a 0 represents a white dot.
In run length incremental encoding, the lengths of successive runs of black and white dots 60 are stored, rather than storing a separate bit for each dot The runs are arranged in pairs, with the first number in each pair representing the number of white dots in a run and the second number representing the number of black dots in the next run When equal numbers of runs appear in two successive scan lines, only the incremental changes within the runs are stored The letter K of Fig 4 is encoded for storage in the incremental (RLI) format as 65 follows:
1,572,274 Scan Line Runs RLI 0 0 1 12 1 R) 0,1,12,1 1 0 14 R) 0,14 5 2 0,14 (I) 0,0 3 0,1,4,2,6,1 R) 0,1,4,2,6,1 4 6,2 R) 6,2 5,4 I) -1,2 6 4,2,2,2 R) 4,2,2,2 10 7 3,2,4,2 I) -1,0,2,0 8 0,1,1,2,6,2,1,1 R) 0,1,1,2,6,2,1,1 9 0,3,8,3 R) 0,3,8,3 0,2,10,2 I) 0,-1,2,-1 110,1,12,1 (I,1,,11 In the preferred embodiment, the incremental format is implemented as follows: the character code, or data which defines the character, starts in the font memory at the location specified by the font address for the character Runs appear in 8bit bytes where the first bit of a byte is a flag specifying the last run for a scan line Thus, for example, scan 20 line 9 of the K would require 32 bits, as illustrated in Fig 5 Each run may take on a value in the range 0-127, and if a longer run is required, two runs can be spliced together with a zero length connector For example, 200 white dots followed by 10 black dots can be encoded 100, 0, 100, 10 A limit of eight runs is imposed for each scan line If a character exists (e g.
some Japanese characters) that requires more than eight runs, it can be stored in matrix 25 format.
The increments for the incremental format are specified in 4-bit groups where the first bit is a flag and the remaining three bits are a 2 ‘s complement increment in the range -4 to 3.
Since the runs always come in pairs, the first bit of a group of runs is never set, and this bit is available to be used to indicate incremental coding The flag bit that specifies the last 30 increment for a scan line always appears in the second increment of a pair Therefore, scan line 10 for the letter K would be coded as shown in Fig 6.
The RLI format is most efficient for large characters and characters of high resolution.
For small characters and characters with more than eight runs per scan line, the matrix format is used In the matrix mode, the character bit pattern is copied directly into the font 35 memory, and a matrix code flag is set Since the storage required per scan line is not implicit in this definition, the height, or number of bytes per scan line, is included in the specification for the character.
Referring once again to Fig 1, the character generator also includes an input buffer 28.
The character specifications from the ccmpu r are delivered initially to the input buffer on 40 data bus 31 In addition to providing initiall storage for the character specifications, the input buffer serves to decouple the computer from the bit rate of the character generator and the scan rate of the output device The input buffer is organized so that the data stored therein are accessed on a first in-first out basis The data for each character specification is stored in contiguous locations, with the last addressable location in the buffer being consi 45 dered contiguous to the first addressable location The size of the buffer is dependent upon the size of the character specification and the number of characters which can appear on a given scan line For example, with 48 bits per specification and up to 512 characters per scan line, the input buffer should be of sufficient size to store 512 48bit character specifications 50 As discussed more fully hereinafter, the specification for each character includes a line address which defines the position of the character in the scan line, a width parameter which defines the number of scan lines passing through the character, a height parameter which defines the number of bits or dots occupied by the character in each scan line, an RLI/matrix code which defines the format in which the character is stored in the font memory, and a 55 font address which defines the location of the character in the font memory When accessed, each character specification is read from the i Pput buffer into a multiplexer 32 over a data bus 33 The multiplexer contains a line address register 34, a width register 36, a height register 37, an RLI/matrix code register 38 and a font address register 39, to which the bits containing the respective information are directed 60 The line address, height and RLI/matrix code data are delivered from the multiplexer to a run length converter 41 over data lines 42-44, respectively The font address is applied to font memory 26 by address lines 46, and the addressed character data is delivered from the font memory to the run length converter on lines 47 The width data is applied to a decrementing and checking stage 48 which serves to decrement the width parameter by one 65 1,572,274 count for each scan line on which the character appears until the character is fully displayed.
Completion of the character is detected by a zero detector in stage 48 The output of this stage is connected to the run length converter by lines 49.
An active character buffer 51 is provided for storing information for characters which begin on previous scan lines and require additional scan lines to complete The information 5 stored for such characters includes all of the elements of a new character specification, with the width parameter decremented by stage 48 to indicate the number of scans required to complete the character and the font address incremented to point to the data defining the portion of the character to be displayed in the next scan line In addition, the information stored in the active character buffer includes the run lengths for the previous scan in the 10 case of characters stored in the RLI format Character specifications are transferred from the active character buffer to multiplexer 32 over data lines 52, and the run length information is transferred to run length converter 41 over data lines 53 The character specifications and run length information are returned to buffer 51 over data lines 54.
Like input buffer 28, buffer 51 is organized as a first in-first out memory, with the data 15 for each character being stored in contiguous locations The data for each character is fetched sequentially, and if the data is returned to the buffer, it is placed next to the last specification stored regardless of its former location Load and fetch cycles are alternated so that one load cycle and one fetch cycle are executed for each cycle of the font memory The size of buffer 51 is dependent upon the size of the character specifications, the number of 20 bits required to define the run lengths, and the number of characters which can appear in any given scan line With character specifications and run lengths of the size described heretofore and up to 512 active characters per line, a buffer having a capacity of 512 entries of 108 bits each is suitable.
Run length converter 41 serves to convert run length increment data from font memory 25 26 to run length data for characters stored in RLI format This conversion is effected by adding the incremental data to the run length data stored in the active character buffer for the previous line of the character From converter 41, the run length data passes to a two stage run length decoder 56, 57 on lines 58 A particularly suitable decoder for this purpose is described in United States patent specification 4152697 With characters stored in matrix 30 format, the data from the font memory passes through the run length converter unchanged and bypasses the first stage of the run length decoder on data lines 59 At the output of the decoder, the matrix format data or the decoded run length data appears on lines 60 The line address data from register 34 passes through the run length converter and the run length decoder and is present on lines 61 Thus, lines 60 carry the video information for 35 each character, and lines 61 carry the address data which defines the position of the character in the scan line.
The data for the characters in each scan line is assembled in line buffers 66 Two line buffers are provided for processing data for successive lines While the data for one line is 40 being assembled in one buffer, the data for the previous line is read out of the other buffer.
A shifter 68 serves to align the data in the line buffers in accordance with the line address of each character Each line buffer must be of sufficient size to store all of the bits for one scan line, and in one preferred embodiment, each line buffer is 8192 bits long, organized as a 16 x 512 RAM The buffers are cleared as they are read so that data may be input to them in a 45 logical OR fashion merely by writing ones but not writing zeroes This permits overlays and overstrikes of characters to be generated.
The data for each successive scan line is read out of the line buffer into a shift register which serves to serialize the data for presentation on an output line 71 to raster scan device 13 The flow of the data from the line buffer through the shift register is synchronized with 50 the beam scan of the output device For this purpose, the line sync and page sync signals from the output device are applied to the shift register and line buffers on lines 72, 73.
In the preferred embodiment, the character generator is organized as a ten level pipeline, with a suitable pipe-line controller, to allow concurrent processing of data for several successive scan lines This permits faster processing of the data and provides a band width 55 on the order of 50 M Hz, i e 50 million bits per second Pipelining techniques are wellknown to those familiar with the art and need not be described in detail.
The operation of the character generator can be sumarized briefly at this point It is assumed that character definition data has been preloaded into font memory 26 by the computer and that a print cycle has been initiated The computer begins sending character 60 specification to input buffer 28 on a demand basis For each scan line, the character specifications are read first from active character buffer 51 and then from input buffer 28 until an end of line specifier is reached For each character, the font memory is cycled, and the font memory contents are interpreted as run lengths, increments, or matrix specifications for the character If the font memory output is increments, they are added to the runs 65 1,572,274 for the character in the previous scan lines, as stored in the active character buffer Thus, run length and incremental data is converted to run length form and applied to run length decoder 56 Data stored in the matrix format passes through the run length converter unchanged and bypasses the run length decoder.
At the same time that data is sent to the run length decoder, the width of the character is 5 checked If not enough scan lines have traversed a character to display all of it, the width parameter and font address are updated, and the character specification is returned to the active character buffer With characters which are stored in the RLI format, the lengths of the runs in the previous scan line are also stored in the active character buffer When an entire character has been generated, its specification is discarded 10
After the data for each character is decoded, it is shifted and loaded into one of the line buffers in accordance with the line address of the character Following composition in the line buffer, the data for each scan line is serialized in shift register 69 and presented to the raster scan device in synchronization with the line sync signals from that device.
In addition to the height, width, RLI/matrix code, and font address parameters discussed 15 above, each character also has an alignment parameter and a space parameter which are utilized in defining the position of the character on the page The relationship among the width, height, alignment and space parameters can best be understood with reference to Fig 7 in which these parameters are illustrated in conjunction with a letter A The height and width parameters are the dimensions of the smallest rectangle containing the body of 20 the character By storing only the data for the portions of the character within this rectangle, a substantial saving of storage space is effected The space parameter defines the number of scan lines from the beginning of one character to the beginning of the next, and a full or partial overstrike of characters can be effected by making the space less than the width of the first character The alignment specifies the distance from the text base line to 25 the lowest point in the body of the character This parameter can be either a positive or a negative number, and it permits proper positioning of subscripts, superscripts, characters having descenders, and other characters which are displaced from the normal text lines.
The character generator is not limited to any particular software configuration, and one suitable program is described below by way of example This program is written for a Nova 30 800 computer, and it performs a sort algorithm which converts a display list organized by text lines into a display list organized by scan lines for printing in portrait format.
Four arrays of data are utilized in the sort algorithm: a scan line array, a text line array, a font specification array, and a display list organized by text line For each scan line, the scan line array contains one entry which points to an entry in the text line array The text line 35 array contains one 4-word entry for each text line The first word serves both as an index forindicating the copies on which a particular text line is to be printed and as a chained pointer which identifies the next text line entry that contains a character starting on the same scan line The second word is a display list pointer which identifies the location in the display list array of the next character to be printed on the text line The third word of the text line 40 array specifies the font of the current character, and the fourth word is the text line address which specifies the location of the text line on the page.
The font specification array contains one 4-word entry for each character in the font memory The first word contains the alignment and RLI/matrix code, the second word specifies the width and height of the character, the third word contains the font address of 45 the character, and the fourth word specifies the space occupied by the character.
The display list contains the text strings for one complete page, with end-of-line directives embedded therein The entry for each character in this array contains two parts, one defining the vertical displacement of the character, the other defining the character itself.
With entries of 16 bits per character, for example, bits 0-5 specify the vertical displacement 50 and bits 6-15 identify one of 1024 characters.
The arrays are initialized as follows The first entry of the scan line array is initialized to point to the first entry of the text line array The remainder of the scan line array is initialized at zero, with the exception of the last entry which is initially made less than zero.
The display list pointer in the text line array is initialized to point to the first character in 55 each text line The chained pointer for each text line is initialized to point to the corresponding pointer for the next text line, with the pointer for the last text line being set to zero.
The program for the Nova 800 computer is listed below with SL and FS designating the scan line and font specification arrays, respectively:
SL Autoincrement address initialized to start 60 of scan line pointer table 1.
FS Pointer to beginning of FS (pointer on page one of core) MASK 17778 on page one of core.
1,572,274 AC 2 Current TL address.
AC 3 Current FS address.
Entry Address = START NEXTCHAR:
SPACE:
DELETE:
NEXTSCAN:
START:
SPECIAL:
END LDA 1,G 0,2 Z 0,2 LDA 0,MASK AND 1,0 SUBS 0,1 ADDXL 0,0 LDA 3,FS ADD 0,3 LDA 0,0,3 ADDOL 1,0,SZC JMP SPECIAL LDA 1,1,2 ADD 1,0 SKPBZ FIFO JMP -1 DOA 0,FIFO LDA 0,1,3 DOB 0,FIFO LDA 0,2,3 DOC 0,FIFO LDA 3,3,3 LDA 0,SL ADDZ 0,3,SZC JMP NEXTCHAR LDA 0,2,2 LDA 1,0,3 STA 1,2,2 STA 2,0,3 MOV 0,2,SZK JMP NEXTCHAR SKPBZ FIFO JMP -1 DIA 0,FIFO LDA 2,OSL NEGL# 2,2,SZC JMP NEXTCHAR MOV 2,2,SNR JMP NEXTSCAN SUBZL 0,0 ADD 0,0 SKPBZ FIFO JMP -1 DOA 0,FIFO SUB 0,0 D O B 0,FIFO D O C 0,FIFO JMP RETURN LDA 0,3,3 MOVZR 1,3 MOVZR 3,3 NEGL# 0,0,SZC JMP SPACE MOVS 3,3 MOVZR 3,3 MOVZR 3,3 MOV 0,0,SNR JMP SPACE LDA 0,2,2 JMP DELETE pick up display list entry bump display list pointer load character code mask AC O = character code AC 1-displacement 4 AC O =character code 4 base address of FS AC 3 = current address in FS AC O = alignment 4 shift in end of line special character text line location 8 text line address plus directives test for full buffer wait output width and height output font address output character space current scan line pointer check for overlay overlay address of next TL start address of new chain splice chain insert new chain entry is current chain finished no continue text for full buffer wait read status end of line directive bump SL and load TL address test for > O characters on this scan line test for O try next scan line page generation complete AC O = 2 test for full buffer wait send end of page page complete character space AC 3 = displacement test for space > O narrow blank AC 3 = displacement 64 test for zero wide blank carriage return 8 1,572,274 8 With this program, the computer provides a 48-bit data specification for each character that starts imaging on each scan line The data for different scan lines is presented in sequential scan line order, although the specifications for the characters within a given line are not ordered by the positions of the characters within the line at this point Each of the character specifications is transferred to input buffer 28 as a sequence of three consecutive 5
16-bit data transfers As noted above, each character specification defines the font storage format, the font memory address, and the location of the character in the scan line.
The character generator treats each character specification as a 3-word string, and the structure of the words are illustrated in Figs 8-10 Bits 0-12 of the first word (Word 0) define the line address of the character, bit 13 is used for the RLI/matrix code, bit 14 is 10 used as the end of page specifier, and bit 15 is used as the end of line specifier.
Bits 0-9 of the second word (Word 1) define the width of the character, and bits 10-15 of the second word and bit 0 of the third word (Word 2) define the height in 8-bit bytes Bits 1-15 of the third word define the address of the character in the font memory.
For the first scan line of each page, the data specifications from input buffer 29 are 15 processed one at a time until an end of scan specification is received Upon receipt of an end of scan specification, the processing halts until a line sync pulse is received from raster scan device 13, defining the scan boundary Specifications for characters spanning multiple scans are stacked in active character buffer 51 for subsequent scan operations For the second and subsequent scans, the line sync signal from output device 13 defines the beginning of a scan 20 image sequence in which the specifications in the active character buffer are processed first.
Retrieval of the scan specification from this buffer initiates the processing of the specification in the input buffer, and the data in the active character buffer is augmented with the specifications for new characters which begin image transformation on the current scan line.
An end of page specifier received from the input buffer identifies the last input buffer 25 reference for that page.
For character specifications with a height Y less than or equal to 4 bytes, one font memory access is sufficient to define the contribution of a character to the current scan line.
In this case, the font memory address field embedded in the character specifications points to the font memory reference location Addresses originating from the input buffer are 30 15-bit words which address the font memory at even byte boundaries, whereas addresses embedded in active character buffer specifications are 16-bit byte addresses For character specifications with a height Y greater than 4 bytes, multiple font memory accesses are required to extract the total contribution of a character to a scan line.
Since the width, or X dimension, of the character specification defines the number of scan 35 line image sequences required to image a character, each character specification cycles through the active character buffer X-1 times The Y dimensions, line address and RLI/matrix code of the character specification remain constant for a given character The font memory address and the X dimension stored in the active character buffer are active variables which are modified on each scan to establish their values for the next scan image 40 sequence.
The character generator has a number of important features and advantages It can generate complex pages of graphic characters with a speed and electronic resolution that exceed the speed and resolution of existing xerographic machines This character generator can produce a video output in excess of 50 million bits per second, with more than 500 scan 45 lines per inch and up to 8192 dots per scan line It can generate pages in either portrait or landscape format, with characters which are proportionately spaced and of arbitary size.
Multiple character overstrikes and overlapping text lines are possible, and characters can be displaced on an individual basis for superscripts and subscripts The font memory can store up to 1024 characters, and the generator can produce up to 512 active characters per scan 50 line and more than 20 thousand characters per page.
It is apparent from the foregoing that a new and improved character generator has been provided While only the one presently preferred embodiment has been described, as will be apparent to those familiar with the art, certain changes and modifications can be made without departing from the scope of the invention, as defined by the following claims 55
Claims (17)
WHAT WE CLAIM IS:
1 In apparatus for generating characters to be imaged on an output device scanned in raster fashion along successive lines:
first memory means for storing each scan line specification data only for those characters whose first appearance occurs on that scan line, 60 second memory means for storing for each scan line specification data only for those characters whose first appearance occurred on a previous scan line and which require additional scan lines to complete, means for accessing the first and second memory means to obtain the specification data for the characters appearing in each successive scan line, 65 1,572,274 9 1,572,274 9 a font memory for storing image defining data bits for a plurality of characters arranged in individually addressable bit sequences each representing a portion of a character to be imaged in one scan line on the output device, means for addressing the bit sequences in the font memory in accordance with the character specification data accessed for each successive scan line, and 5 means for presenting output data to the output device in accordance with the bit sequences addressed for each successive scan line.
2 The character generating apparatus of claim 1 wherein the first memory means comprises an input buffer memory for receiving the character specification data at a rate substantially independent of the rate at which the output data is presented to the output 10 device.
3 The character generating apparatus of claim 1 or claim 2 wherein the second memory means is adapted to store character specification data including the number of scans required to complete each character and the address in the font memory of the bit sequence representing the portion of the character to be imaged in the next scan line 15
4 The character generating apparatus of any one of claims 1 to 3 wherein the data bits for different characters are arranged in different storage formats in use of the font memory and the means for presenting output data includes means for decoding the data bits according to the format in which they are stored.
5 The character generating apparatus of any one of claims 1 to 4 wherein the means for 20 presenting output data includes first and second output buffers for receiving and presenting output data for alternate scan lines.
6 In apparatus for generating characters to be imaged on an output device scanned in raster fashion along successive lines:
a font memory for storing image defining data bits for a plurality of characters arranged 25 in individually addressable bit sequences each representing a portion of a character to be imaged in one scan line on the output device, an input buffer memory for storing for each scan line specification data only for those characters whose first appearance occurs on that scan line, the data for each character including a line address defining the position of the character in the scan line, a font 30 memory address defining the location of the initial bit sequence for the character in the font memory, and formatting data including the number of scan lines required to form an image of the character, an active character buffer memory for storing for each scan line specification data only for those characters which have been partly imaged,
35 means for addressing the buffer memories to obtain the specification data for each new character and each partly imaged character appearing in each successive scan line, means for updating the specification data in the character buffer memory to include for each character appearing in a current scan line the font address of the bit sequence of the portion of the character to be imaged in the next scan line and the number of scan lines 40 required to complete the image of the character, means for addressing the bit sequences in the font memory in accordance with the font address for each new character and each partly imaged character in each successive scan line, and output buffer means for presenting output data to the output device in accordance with 45 the bit sequences addressed for each successive scan line.
7 The character generating apparatus of claim 6 wherein the output device is adapted to generate timing signals and wherein the output buffer means presents output data to the output device in synchronization with said timing signals.
8 The character generating apparatus of claim 6 or claim 7 wherein the active character 50 buffer memory is arranged to access data in each line prior to the input buffer memory accessing data in the same line.
9 The character generating apparatus any one of claims 6 to 8 wherein the data bits for different characters are arranged in different storage formats in use of the font memory and means is included for decoding the data bits according to the format in which they are 55 stored.
The character generating apparatus of any one of claims 6 to 9 wherein the output buffer means includes first and second line buffers for storing data for alternate scan lines.
11 In a system for producing images of characters in ordered rows on an image forming device scanned in raster fashion along successive lines: 60 a source of input data listing the characters in an order corresponding to the ordered rows, means for sorting the input data to present specifications for the characters in a scan line format in which the specificationa are ordered according to the successive scan lines in which the images of the characters begin, 65 1,572,274 input buffer means for storing in the scan line format and for each scan line the specifications only for those characters whose first appearance occurs on that scan line, active character buffer means for storing for each scan line specifications only for those characters whose first instance occured on a previous scan line and which require additional scan lines to complete, 70 means for accessing the input and active character buffer means to obtain the specifications for all of the characters appearing in each successive scan line, font memory means for storing image defining data bits for a plurality of characters arranged in individually addressable bit sequences each representing a portion of a character to be imaged in one scan line, 75 means for updating the character specifications in the active character buffer means to specify the number of scan lines required to complete the image of each character and to specify the font memory address of the bit sequence of the portion of the character to be imaged in the next successive scan line, means for addressing the bit sequences in the font memory means according to the 80 character specifications accessed for each scan line, and means for presenting output data to the image forming device in accordance with the addressed bit sequences for each successive scan line.
12 The system of claim 11 wherein the input buffer means is adapted to accept data for each character including a line address defining the position of the character in the scan line, 85 a font address defining the location of the initial bit sequence for the character, and formatting data including the number of scan lines required to form the image of the character.
13 The system of claim 11 or claim 12 wherein the active character buffer means is arranged to access character specifications prior to the accessing by the input buffer of character specifications during each successive line 90
14 The system of any one of claims 11 to 13 wherein the data bits for different characters are stored in different formats in use of the font memory means.
15, The system of any one of claims 11 to 14 wherein the means for presenting output data includes first and second line buffers for processing data for alternate scan lines.
16 The system of claim 15 wherein the image forming device is adapted to generate 95 timing signals and wherein the line buffers present the output data to the image forming device in synchronization with said timing signals.
17 Character generating apparatus substantially as disclosed with reference to and as illustrated in the accompanying drawings.
For the Applicants 100 A POOLE & CO Chartered Patent Agents 54 New Cavendish Street London W 1 M 8 HP.
Printed for Her Majesty’s Stationery Office by Croydon Printing Company Limited Croydon Surrey, 1980.
Published by The Patent Office 25 Southampton Buildings, London, WC 2 A IAY from which copies may be obtained.
GB32739/77A
1976-08-11
1977-08-04
High resolution character generator
Expired
GB1572274A
(en)
Applications Claiming Priority (1)
Application Number
Priority Date
Filing Date
Title
US05/713,545
US4079458A
(en)
1976-08-11
1976-08-11
High resolution character generator
Publications (1)
Publication Number
Publication Date
GB1572274A
true
GB1572274A
(en)
1980-07-30
Family
ID=24866558
Family Applications (1)
Application Number
Title
Priority Date
Filing Date
GB32739/77A
Expired
GB1572274A
(en)
1976-08-11
1977-08-04
High resolution character generator
Country Status (4)
Country
Link
US
(1)
US4079458A
(en)
CA
(1)
CA1083723A
(en)
DE
(1)
DE2731955A1
(en)
GB
(1)
GB1572274A
(en)
Cited By (1)
* Cited by examiner, † Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
GB2119982A
(en)
*
1982-05-10
1983-11-23
Xerox Corp
Printer
Families Citing this family (44)
* Cited by examiner, † Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US4149145A
(en)
*
1977-02-17
1979-04-10
Xerox Corporation
Fax processor
IT1071592B
(en)
*
1977-03-09
1985-04-10
Olivetti & Co Spa
MEMORY RECORDING METHOD AND EQUIPMENT AND IMAGE DISPLAY
US4204207A
(en)
*
1977-08-30
1980-05-20
Harris Corporation
Video display of images with video enhancements thereto
US4279002A
(en)
*
1978-04-24
1981-07-14
Xerox Corporation
Adapter for raster output scanning printer
US4566002A
(en)
*
1979-03-30
1986-01-21
Canon Kabushiki Kaisha
Data output apparatus capable of rotating data output therefrom relative to data input thereto
US4298957A
(en)
*
1979-06-28
1981-11-03
Xerox Corporation
Data processing system with character sort apparatus
US4353653A
(en)
*
1979-10-19
1982-10-12
International Business Machines Corporation
Font selection and compression for printer subsystem
US4345245A
(en)
*
1979-11-26
1982-08-17
Eltra Corporation
Method and apparatus for arranging segmented character groups in a digital typesetter
US4342096A
(en)
*
1980-02-15
1982-07-27
Sperry Corporation
Variable pitch character generator for dot matrix printer
SE448922B
(en)
1980-10-21
1987-03-23
Ibm Svenska Ab
METHOD FOR PROCESSING VIDEO DATA BY AN OPTICAL SIGN IDENTIFICATION SYSTEM WITH A CHARACTER IDENTIFICATION DEVICE IN AN OPTICAL DOCUMENT READER
US4378594A
(en)
*
1980-10-24
1983-03-29
Ncr Corporation
High speed to low speed data buffering means
JPS57101888A
(en)
*
1980-12-16
1982-06-24
Sony Corp
Character display
JPS57101887A
(en)
*
1980-12-16
1982-06-24
Sony Corp
Character display
KR850001657B1
(en)
*
1981-03-06
1985-11-06
야마모도 다꾸마
The method of video data changing and its device
US4481602A
(en)
*
1981-04-06
1984-11-06
International Business Machines Corporation
Font compression and decompression for character generation
US4493049A
(en)
*
1981-06-05
1985-01-08
Xerox Corporation
Shared resource clustered printing system
US4527252A
(en)
*
1981-06-05
1985-07-02
Xerox Corporation
Character generator
JPS58173665A
(en)
*
1982-04-05
1983-10-12
Hitachi Ltd
Signal generating circuit of laser beam printer
US4590585A
(en)
*
1982-08-13
1986-05-20
International Business Machines
Character generator for raster printer
US4467363A
(en)
*
1982-09-27
1984-08-21
International Business Machines Corporation
Graphic data compression
DE3437528C2
(en)
*
1983-10-12
1994-12-22
Canon Kk
Data transfer system
JPS6095588A
(en)
*
1983-10-31
1985-05-28
キヤノン株式会社
Display unit
US4575717A
(en)
*
1983-12-05
1986-03-11
Rca Corporation
Logic for increasing the number of pixels in a horizontal scan of a bit mapping type video display
EP0153584B1
(en)
*
1984-02-21
1989-09-06
DR.-ING. RUDOLF HELL GmbH
Method and device for recording characters
NL8402998A
(en)
*
1984-10-02
1986-05-01
Oce Nederland Bv
DECODER.
US5317684A
(en)
*
1986-02-17
1994-05-31
U.S. Philips Corporation
Method of storing character data in a display device
US4893257A
(en)
*
1986-11-10
1990-01-09
International Business Machines Corporation
Multidirectional scan and print capability
US4841453A
(en)
*
1986-11-10
1989-06-20
Ibm Corporation
Multidirectional scan and print capability
EP0291461A1
(en)
*
1987-05-14
1988-11-17
Haas-Laser Systems AG
Process and device to produce a mark on an object
GB2220511B
(en)
*
1988-07-08
1992-04-15
Canon Kk
Recording control apparatus
US5574842A
(en)
*
1988-07-29
1996-11-12
Canon Kabushiki Kaisha
Document processing apparatus and method for generating a character or symbol pattern across a plurality of lines
JP2755308B2
(en)
*
1988-08-31
1998-05-20
キヤノン株式会社
Output method and device
US5266939A
(en)
*
1989-01-18
1993-11-30
Mitsubishi Denki Kabushiki Kaisha
Memory data synthesizer
US7382929B2
(en)
1989-05-22
2008-06-03
Pixel Instruments Corporation
Spatial scan replication circuit
US5151997A
(en)
*
1989-08-10
1992-09-29
Apple Computer, Inc.
Computer with adaptable video circuitry
EP0451250A1
(en)
*
1989-11-02
1991-10-16
Eastman Kodak Company
High speed character generator
US4995089A
(en)
*
1990-01-08
1991-02-19
Eastman Kodak Company
Method and apparatus for providing font rotation
JP2911257B2
(en)
*
1991-06-28
1999-06-23
三洋電機株式会社
On-screen display device
KR100363588B1
(en)
1993-03-25
2003-02-17
세이코 엡슨 가부시키가이샤
Image processing device
US5488365A
(en)
*
1994-03-01
1996-01-30
Hewlett-Packard Company
Method and apparatus for compressing and decompressing short blocks of data
KR100218434B1
(en)
1996-06-21
1999-09-01
구자홍
Character displaying device and method in dvd
US7583397B2
(en)
*
2003-09-30
2009-09-01
Canon Kabushiki Kaisha
Method for generating a display list
AU2004216608B2
(en)
*
2003-09-30
2008-03-13
Canon Kabushiki Kaisha
Method for generating a display list
US20090231361A1
(en)
*
2008-03-17
2009-09-17
Sensormatic Electronics Corporation
Rapid localized language development for video matrix switching system
Family Cites Families (9)
* Cited by examiner, † Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
NL153347B
(en)
*
1968-02-16
1977-05-16
Philips Nv
DEVICE FOR DISPLAYING DIGITAL INFORMATION ON A TELEVISION SCREEN.
US3581290A
(en)
*
1969-06-03
1971-05-25
Sugerman Lab Inc
Information display system
US3729730A
(en)
*
1971-04-14
1973-04-24
Cogar Corp
Display system
US3768093A
(en)
*
1972-04-21
1973-10-23
American Optical Corp
Digital crt system for displaying a precessing waveform and its derivative
US3893075A
(en)
*
1972-12-29
1975-07-01
Richard Orban
Method and apparatus for digital scan conversion
DE2447464C3
(en)
*
1973-10-23
1978-06-01
International Business Machines Corp., Armonk, N.Y. (V.St.A.)
Character generator control circuit for an optical printer
US3898627A
(en)
*
1974-03-22
1975-08-05
Ibm
Optical printer having serializing buffer for use with variable length binary words
US3925776A
(en)
*
1974-04-18
1975-12-09
Research Corp
Display terminal system
US4012735A
(en)
*
1975-10-24
1977-03-15
Systems Resources Corporation
Dual mode pattern generator
1976
1976-08-11
US
US05/713,545
patent/US4079458A/en
not_active
Expired – Lifetime
1977
1977-07-14
DE
DE19772731955
patent/DE2731955A1/en
not_active
Ceased
1977-07-28
CA
CA283,640A
patent/CA1083723A/en
not_active
Expired
1977-08-04
GB
GB32739/77A
patent/GB1572274A/en
not_active
Expired
Cited By (1)
* Cited by examiner, † Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
GB2119982A
(en)
*
1982-05-10
1983-11-23
Xerox Corp
Printer
Also Published As
Publication number
Publication date
US4079458A
(en)
1978-03-14
CA1083723A
(en)
1980-08-12
DE2731955A1
(en)
1978-02-02
Similar Documents
Publication
Publication Date
Title
US4079458A
(en)
1978-03-14
High resolution character generator
US4031519A
(en)
1977-06-21
Printer
US4881180A
(en)
1989-11-14
Character image generating circuit
CA1209244A
(en)
1986-08-05
Compaction and decompaction of non-coded information bearing signals
US4441208A
(en)
1984-04-03
Picture information processing and storing device
US4007442A
(en)
1977-02-08
Intermixed line heights and blank line formation in a buffered printer
JPH0683357B2
(en)
1994-10-19
Image processing method
GB2119982A
(en)
1983-11-23
Printer
US4727497A
(en)
1988-02-23
Decoder
CA1044606A
(en)
1978-12-19
Merger and multiple translate tables in a buffered printer
EP0940975A2
(en)
1999-09-08
Printing of hybrid images, including halftoning
GB1589424A
(en)
1981-05-13
Character generation in dot matrix format
US4529228A
(en)
1985-07-16
Method and apparatus for coding pictorial information for efficient storage, transmission and reproduction
US5822504A
(en)
1998-10-13
Font packing device and font unpacking device
CA1180768A
(en)
1985-01-08
Raster image processor and method
US4984182A
(en)
1991-01-08
Laser printer controller flexible frame buffer achitecture which allows software to initiate the loading of a frame buffer start address
US6744533B1
(en)
2004-06-01
Efficient buffer rendering
US4649435A
(en)
1987-03-10
Method and apparatus for coding pictorial information for efficient storage, transmission and reproduction
GB2272986A
(en)
1994-06-01
Processing image data in a printer
US6577313B1
(en)
2003-06-10
Image data control apparatus
KR930009674B1
(en)
1993-10-08
Bit image emulation method of dot printer by laser printer
Rosenberg et al.
1991
Tool Kit Data Structures
JPS61173951A
(en)
1986-08-05
Printing control apparatus
JPS61110193A
(en)
1986-05-28
Character pattern generation system
JPH0729449B2
(en)
1995-04-05
Printer controller
Legal Events
Date
Code
Title
Description
1980-10-15
PS
Patent sealed [section 19, patents act 1949]
1984-08-08
746
Register noted ‘licences of right’ (sect. 46/1977)
1987-03-18
PCNP
Patent ceased through non-payment of renewal fee