US4031519A - Printer - Google Patents
Printer Download PDFInfo
- Publication number
- US4031519A US4031519A US05/522,998 US52299874A US4031519A US 4031519 A US4031519 A US 4031519A US 52299874 A US52299874 A US 52299874A US 4031519 A US4031519 A US 4031519A
- Authority
- US
- United States
- Prior art keywords
- data
- character
- storage
- storing
- characters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- 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
Definitions
- the present invention relates to printers of the type which generate and print characters in response to communicated digitally encoded data.
- Printing has become an important if not essential part of many data processing operations. It is frequently necessary or desirable to be able to convert data within the system into recognizable characters or other indicia.
- printers have become common input/output devices in many data processing systems.
- one or more printers are coupled to the main channel of the computer or data processing unit along with a number of input/output devices of other types.
- Such systems include a provision for arranging and storing data and then using the data to generate the desired graphics by way of the printer. The arranging and storing of the data is frequently accomplished within the data processing unit itself using the central processing unit and the main storage.
- data to be printed is fed by the data processing unit over the main channel to the printer where the data is translated into graphics produced in printed form.
- Printers can comprise several different basic types in terms of the apparatus used to perform the printing.
- Impact type printers are like typewriters in that they utilize the physical impact of a piece of type of other mechanical representation of the desired graphics on a printable medium such as paper.
- Ink jet printers modulate a jet of ink as the jet is scanned across the printable medium in raster fashion.
- Still other printers convert the data into the desired visible graphics by modulating a beam such as an electron beam or a light beam as the beam is scanned over a surface. Examples of printers of this type include those employing the well-known cathode ray tube in which modulation of the scanning electron beam produces the desired characters on the face of the tube.
- printers of the type described have experienced significant improvement and development over the years, such printers suffer from a number of serious limitations, particularly with respect to their versatility in processing and handling the data to be printed and in their ability to adapt to different codes for the data and different graphics to be printed.
- the typical impact printer utilizes character type set on a chain and is therefore limited in the number and variety of characters that can be printed.
- a change in character style may require disruption of the operation of the printer while a different print chain is obtained and installed. It is frequently necessary that the data to be printed be stored and formated or otherwise processed in the data processing unit so that the printer need only have the capability of translating each group of data being fed into the printer into the corresponding characters.
- the Sevilla et al. system provides some versatility in its use of stored dot patterns to generate the desired characters, and the desirability of making the character sets represented by the dot patterns program alterable is recognized.
- the system of Sevilla et al is dependent on the data processing unit for the formating, storage and other handling of the data.
- such arrangements are also limited in the coding that can be used for the data.
- a further example of a system using a CRT for character display is provided by U.S. Pat. No. 3,609,743, Lasoff et al., DISPLAY UNIT, Sept. 28, 1971.
- data to be printed is generated gy a keyboard and loaded in a storage unit, from which the data is applied to a character generator storing sets of character bits used to produce the characters on the CRT.
- the data can also be provided to the storage unit by a data processing unit.
- U.S. Pat. No. 3,701,999, Congleton et al., COMPUTER OUTPUT LASER MICROFORM RECORDING SYSTEM, Oct. 31, 1972, provides an example of a system in which a rotating mirror having plural faces is used to scan a modulated laser beam across a printable medium in the form of a length of microfilm.
- Binary coded characters from a data processing unit are stored in a recirculating memory, where they are circulated once for each horizontal scan of the laser beam and made available to a character generator which successively provides a series of waveform patterns corresponding to a horizontal slice of each of the characters.
- the horizontal slice is recorded during each of the horizontal scans by modulating the laser beam so as to effectively synthesize the characters in a row piecewise in a vertical direction.
- Printers in accordance with the invention contain character sets which are program alterable so that new character sets can be loaded directly into the printer from the data processing unit.
- the coded data representing the characters to be printed is translated into graphic codes in accordance with the code of the data.
- the graphic codes serve as addresses for the desired character sets which are then used to print the data.
- the particular code used to translate the data into graphic codes is itself program alterable and may be changed directly by the data processing unit to enable the printer to respond to various different codes for the data to be printed. Additionally a plurality of different codes can be used in the translation process, enabling a given graphic character set to be used by various different codes for the data.
- the printer is further capable of arranging, formating and storing large quantities of the data to be printed.
- Various buffers and related components assembly the incoming data into lines and then pages as the data is translated and then used to address the character sets.
- Data communicated by the data processing unit and stored in the printer is used to modify a page of data where multiple copies of the page are to be printed with minor modifications.
- coded data representing characters to be printed are communicated over the main channel by the data processing unit to the printer input where they are received by a native channel within the printer and routed to an instruction execution unit.
- the instruction execution unit which is coupled both to imaging apparatus for physically printing the characters and to a character generator which stores sets of character image bits for use in the copier, stores and the coded data together with commands from the main channel in a writable control storage contained therein.
- the instruction execution unit also stores microprograms designed to operate the printer in accordance with the particular requirements of the printer's user.
- the microprograms have eight prioritized levels with the microprogram routines in each level providing the necessary functions for the printer.
- the highest priority program is the channel program which receives channel command codes that are transmitted to the printer from the data processing unit.
- the lowest priority program executes the channel command codes.
- the other levels control the operation of the printer.
- the channel command codes control the processing of the coded data through the printer.
- the various commands, instructions and routines are carried out by the instruction execution unit in its various registers and arithmetic logic units.
- the writable control storage and the read only storage within the instruction execution unit comprise a plurality of registers used to store and process the coded data through the printer.
- Character code bytes each of which represents a character to be printed, are assembled into a line of print characters in an intermediate buffer.
- Each of the character code bytes is then translated by a translate table into a corresponding graphic code byte defining an address within one of four different writable character generator modules which store sets of character image bits.
- the graphic code bytes are then compressed in accordance with a compression algorithm and fed to a page buffer where they are assembled into at least one complete page of characters to be printed.
- the stored graphic code bytes are then decompressed prior to being fed to the writable character generator modules.
- the sets of character image bits within the writable character generator modules represent the portions of a character space which a particular character comprises and are used to modulate a laser beam within the imaging apparatus.
- a discharge area is formed corresponding to the character to be printed.
- the discharged area is then coated with a toner and the toner is transferred onto a paper or other printable medium.
- the writable character generator modules are program alterable in that the sets of character image bits may be loaded directly into the character generator modules from the data processing unit.
- the data processing unit also communicates data comprised of character address bytes and character image data bytes. Each character address byte is translated so as to identify which one of the four different writable character generator modules a set of character image bits is to be stored in a as well as the particular one of 64 different character storage locations within the selected module where the set is to be stored.
- Conversion and format logic converts and reformats the character image data to provide the set of character image bits which is then stored in the addressed location within the writable character generator modules. In this way new character sets can be substituted or added in the character generator modules whenever desired.
- the printer's user is not limited to a particular set or sets of characters but is free to make up other characters at will.
- the graphic code bytes stored in the translate table are also program alterable directly from the data processing unit. Since the graphic code bytes within the translate table determine the particular set of character image bits to be chosen in response to a particular character code byte and thus the graphic which is to be printed in response thereto, the translate table provides for considerable versatility in the various codes used. Thus by simply relocating the graphic code bytes within the translate table, the system can be made to respond to a different code for the incoming data. In addition the same graphic code byte can be stored in different locations within the translate table so as to be addressed by different character codes. In this manner the printer can be made to print the same character in response to different codes.
- Graphic code bytes assembled into a page in the page buffer can be repeatedly used to print the same page with slight changes in the different copies.
- This feature which greatly facilitates the printing of such items as multiple copy forms where the copies differ only slightly from one another, utilizes modification data transmitted by the data processing unit and stored in a modification data buffer.
- parts of the modification data indicating the copy number, line number and print position of changes to be made in the page are compared with corresponding data from the printer, and changes are made where necessary by using new data from the modification data to replace the old data in the line to be printed.
- the new data can comprise one or more blank characters, resulting in the destruction of data in the corresponding parts of the line to be printed and thereby providing a deletion capability similar to spot or short carbon paper in multi-ply forms.
- FIG. 1 is a basic block diagram showing the manner in which printers according to the invention are coupled to a data processing unit together with other input/output devices;
- FIG. 2 is a block diagram of the basic components comprising the printer shown in FIG. 1;
- FIG. 3 is a block diagram of the instruction execution unit of the printer of FIG. 2;
- FIG. 4 illustrates the various data storage and processing functions accommodated by the writable control storage and the read only storage within the instruction execution unit of FIG. 3;
- FIG. 5 is a block diagram, principally of the two different storages shown in FIG. 4, illustrating the manner in which coded data to be printed is formated and processed and presented to the character generator of the printer;
- FIG. 6 is a block diagram of the character generator of the printer and a perspective view of a portion of the imaging apparatus of the printer;
- FIG. 7 is a side view of the imaging apparatus of the printer.
- FIG. 8 is a graphical illustration of the manner in which different character codes are used in the translate table to print the same graphic character
- FIG. 9 is a block diagram of circuitry for producing copy modification
- FIG. 10 is a graphical illustration of the manner in which a line of character code bytes is translated into graphic code bytes by the translate table.
- FIG. 11 is a graphical illustration of the manner in which character image bits are used to print a graphic character.
- FIG. 1 illustrates a data processing system 10 which includes a printer 12 in accordance with the invention.
- the printer 12 is coupled to the main channel 14 of a data processing unit or computer 16.
- Other input/output devices 18 may be coupled to the main channel 14 or other channels in addition to the printer 12 and may comprise conventional input/output devices such as magnetic tape, disk or drum storage units, a keyboard console and a card read punch.
- the data processing unit 16 typically comprises a main storage unit and a central processing unit (CPU).
- the main storage unit receives data and programs from input devices for storage therein and processing by the central processing unit.
- the data processing unit 16 may comprise any appropriate conventional unit such as the IBM System/360 or the IBM System/370.
- An example of such units is provided by U.S. Pat. 3,676,852, Abernathy et al., MULTIPLE PROGRAM DIGITAL COMPUTER, July 11, 1972.
- the Abernathy et al. patent discloses a programmed data processing unit having addressable storage, a central processing unit having one or more input/output devices connected with it, plural sets of program control registers for different program levels, and a switching mechanism for operating the central processing unit in the different program levels.
- the main channel 14 may assume any appropriate configuration such as shown, for example, by U.S. Pat. No. 3,680,054, Bunker et al., INPUT/OUTPUT CHANNEL, July 25, 1972.
- the Bunker et al. patent described the manner in which a main channel couples a plurality of input/output devices and their control units to a data processing unit.
- FIG. 2 shows the basic arrangement of the printer 12 of FIG. 1 according to the invention.
- the printer 12 includes a native channel 20 coupled to the main channel 14 via a channel attachment 21 and providing appropriate interface between the main channel 14 and the printer 12.
- Data from the data processing unit 16 is communicated over the main channel 14 to the channel attachment 21 where it is carried by a data in bus 22 within the native channel 20 to an instruction execution unit (IEU) 24.
- the data in bus 22 also provides data to the instruction execution unit 24 from imaging apparatus 26 and a character generator 27.
- the imaging apparatus 26 is described hereafter as comprising apparatus responsive to a modulated laser scan for coating toner on the areas of a print drum discharge by the laser and transferring the toner onto paper, but may comprise any appropriate apparatus which prints the desired character graphics in response to the character data.
- the imaging apparatus 26 is coupled to the native channel 20 via an imaging attachment 28, and the character generator 27 is coupled to the native channel 20 via a character generator attachment 29.
- Data at the output of the instruction execution unit 24 is carried by data and control out buses 30 to the character generator 27, the imaging apparatus 26 and the native channel 20.
- the instruction execution unit 24 stores the data from the data processing unit 16 and executes the instructions provided by the various microroutines of microprograms loaded by the printer's user from a flexible disk storage.
- the microprograms define 8 prioritized levels, during the last of which various commands from the main channel 14 are executed. Execution of the various microroutines initiates operation of the imaging apparatus 26, processes the data to be printed into an appropriate form for communication to the character generator 27, operates the character generator 27 to provide sets of character image bits corresponding to characters to be printed to the imaging apparatus 26, and operates the imaging apparatus 26 to effect printing of the desired characters.
- the communications between the printer 12 and the data processing unit 16 are carried out in appropriate fashion as shown, for example, by U.S. Pat. No. 3,336,582, Beausoleil et al., INTERLOCKED COMMUNICATION SYSTEM, Aug. 15, 1967.
- the particular communication system described in Beausoleil et al connects input/output devices of differing data rates with a data processing unit. Data is transferred in both burst mode and multiplex mode. Operation occurs on an interlocked basis. with statements such as data, commands and status addresses initiating corresponding responses such as data, address or status from a connected device.
- the instruction execution unit 24 is shown in detail in FIG. 3.
- Data from the data in bus 22 is applied to an arithmetic logic unit (ALU) 32 from which it is communicated via local storage registers 34 and a pair of storage address registers 36 and 38 to a writable control storage 40 and a read only storage 42.
- the writable control storage 40 comprises a large buffer register provided by a plurality of integrated circuit cards; in the present example 8K ⁇ 1l FET monolithic chip storage cards provide a cycle capability of 500 nanoseconds.
- Other circuit cards comprise the remainder of the instruction execution unit 24 and the native channel 20.
- the instruction execution unit 24 additionally includes a second arithmetic logic unit 44, a pair of storage data gates 46 and 48, a pair of main data registers 50 and 52, and a pair of microprogram instruction registers 54 and 56.
- the storage data gates 46 and 48 which may comprise AND-OR circuits steer data from the writable control storage 40 and the read only storage 42 to the main data registers 50 and 52 and the microprogram instruction registers 54 and 56.
- the output of the main data register 50 is coupled to the arithmetic logic unit 44 as well as to the writable control storage 40.
- the output of the main dara register 52 is coupled to the writable control storage 40 and to the arithmetic logic unit 32 as well as to the data out bus.
- the microprogram instruction register 54 is coupled to the arithmetic logic unit 44, while the microprogram instruction register 56 is coupled to the control out bus, the arithmetic logic units 32 and 44 and the storage address register 38.
- the output of the arithmetic logic unit 32 is coupled as inputs to the local storage registers 34 as well as to inputs of the main data registers 50 and 52.
- the output of the arithmetic logic unit 44 is coupled as inputs to the local storage registers 34 as well as inputs of the main data register 50 and 52.
- the instruction execution unit 24 has a two byte data flow, with each byte consisting of eight data bits and an odd parity bit.
- the registers are two bytes wide and have separate odd parity bits for the two different bytes which are designated a low order byte and a high order byte.
- the basic cycle of the instruction execution unit 24 is either 250 or 500 nanoseconds long, and the register gating is asynchronous. At the end of each cycle a clock pulse sets the registers.
- the instruction execution unit 24 alternates between a I cycle in which it fetches instructions from the writable control storage 40 or the read only storage 42 and an E cycle in which it executes the instructions.
- Each microinstruction stored in the writable control storage 40 is 16 bits long and is subdivided into fields that specify the operations registers and the functions and the data to be used during execution of the instructions.
- the local storage registers 34 comprise 64 registers divided into eight groups of eight registers each for executing the eight levels defined by the microprograms. Seven registers in each group of eight are used as working registers by the microprogram and the eighth register is used as a microprogram address register (MAR). Each of the local storage registers is capable of storing two bytes.
- bytes stored in the local storage registers 34 are transferred to the storage address registers 36 and 38.
- the first byte of each pair is stored in the high register 36 and the second byte of each pair is stored in the low register 38.
- the bytes stored in the storage address registers 36 and 38 are used to address the writable control storage 40 and the read only storage 42.
- the writable control storage 40 provides storage which is two bytes wide. The lower 8K bytes are used for the microprogram routines necessary for controlling the printer operation as shown in FIG. 4. Such storage area is also used to store necessary operating constants and tables and as format buffers.
- the remainder of the writable control storage 40 is used for page buffering, copy modification data and various sequence buffers, the operation of which is described hereafter.
- the read only storage 42 is used to store certain microinstructions since data stored in the writable control storage 40 can be lost in the event of power failure.
- a microprogram routine stored in the read only storage 42 is used to load data into the writable control storage 40 from a flexible disk system for certain operations as described hereafter. Also high usage routines used for compression, decompression, channel data transfer and the like are stored in the read only storage 42.
- Each of the arithmetic logic units 32 and 44 is one byte in width and is capable of performing AND, OR, EXCLUSIVE OR and ADD functions.
- Each of the arithmetic logic units 32 and 44 includes a pair of operand registers at the input thereof.
- the operand registers are each one byte wide and are used to store data for the arithmetic logic units. Examples of circuits which can be used as the arithmetic logic units 32 and 44 are shown on pages 9-315 and 9-320 of the First Edition of The Integrated Circuits Catalog For Design Engineers, published by Texas Instruments Incorporated.
- the storage 40 comprises buffers for storing and processing this data.
- the read only storage 42 supplements the writable control storage 40 by storing microroutines used for compression, decompression, channel data and transfer as well as certain other high use items as illustrated in FIG. 4.
- the writable control storage 40 provides a large buffer area for the storage of data and the formation of various tables and buffers under program control. As shown in FIG.
- the writable control storage 40 provides among other things for an intermediate buffer, a page buffer, copy modification, sequence buffers, copier operation microroutines, operating constants, a translate table and forms control buffers.
- the principal ones of these various elements comprised by the writable control storage 40 which are used to process the data into a form usable by the character generator 27 are shown in FIG. 5 together with part of the character generator.
- Data representing characters to be printed is communicated by the data processing unit 16 and initially stored in the instruction execution unit 24 in the form of a succession of eight bit character code bytes, with each byte representing a character to be printed.
- the eight bit character codes in the present example employ a hexidecimal representation to compact the data and are encoded using the well-known EBCDIC code.
- the character code bytes are initially stored in an intermediate buffer 70 where up to 204 of the character code bytes are assembled to form a print line.
- 204 characters represents the maximum width of a print line for paper of given width in the imaging apparatus 26 and assuming the maximum possible pitch of 15 characters per inch.
- the character code bytes are in exactly the same form they were in when generated and transferred by the data processing unit 16.
- the EBCDIC coding of the bytes defines the characters which the various bytes represent.
- the various character code bytes stored in the intermediate buffer 70 are applied to a translate table 72 where they are translated, one by one, into corresponding graphic code bytes using the predetermined code or algorithm of the translate table 72.
- the predetermined code or algorithm of the translate table 72 is implemented by adding each character code byte to an initial address for the table 72 and using the resulting sum as an address for the corresponding graphic code byte stored within one of the various storage locations in the translate table 72.
- the translate table 72 is capable of storing up to 256 graphic code bytes, and has a position for all possible character codes that can come from the data processing unit 16.
- An example of the manner in which the translate table 72 may be set up is provided at page 57 of IBM System/360 Principles of Operation. Form A22-6821-6, Jan.
- Each of the graphic code bytes comprises the address of a set of character image bits stored within one of four different writable character generator modules 74.
- each eight bit graphic code byte from the translate table 72 comprises a first two bit field identifying a particular one of the four different writable character generator modules 74 and a second six bit field identifying one of 64 different storage locations within the selected writable character generator module.
- the selection of a storage location within one of the writable character generator modules 74 by a graphic code byte results in a set of character image bits stored in the particular location being used at the imaging apparatus 26 to print a character.
- the graphic code bytes from the translate table 72 are next compressed in length using a compression algorithm 76 as they are entered in a page buffer 78 for storage therein.
- each line may comprise as many as 204 characters. Since a page can have as many as 80 lines thereon for 11 inch paper, a page can comprise as many as 16,320 bytes. Since the purpose of the page buffer 78 is to assemble the translated data into one or more pages, the page buffer 78 would have to have a minimum capacity of 16,320 bytes per page in the absence of compression.
- the graphic code bytes for an average page are sufficiently reduced in number so that an equivalent of only about 2000 bytes is required in the way of storage space for each page in the page buffer 78.
- compression is performed whenever a succession of identical characters occurs which has more than a predetermined number of the characters in it.
- the resulting information stored in the page buffer 78 consists of a first byte which identifies the presence of a compression, a second byte which indicates the number of character being compressed, and a third byte which is the character being compressed.
- An example of a compression technique which may be used is provided in IBM Technical Disclosure Bulletin Vol. 16, No. 8, January, 1974, DATA COMPRESSION TECHNIQUE FOR THE ELIMINATION OF REPEATING BYTE STRINGS, M. Ojalvo.
- the page buffer 78 continues to assemble the compressed graphic code bytes into pages until filled. While the page buffer 78 is only required to store at least one complete page, it is typically provided with enough storage capacity to store several pages as shown in FIG. 5.
- the channel command words from the data processing unit 16 include certain modifier bits which control the vertical format of each page in terms of the space between lines and the height of the characters in each line. These functions are provided by a forms control buffer 79 in conjunction with an associated address register 80.
- the operation of the forms control buffer 79 and the address register 80 is described in a copending application, Ser. No. 522,995, Gerald I. Findley and Teddy L. Anderson, INTERMIXED LINE HEIGHTS AND BLANK LINE FORMATION IN A BUFFERED PRINTER.
- a different forms control byte is stored in the forms control buffer 79 for each line entered in the page buffer 78.
- the address register 80 identifies the various forms control bytes.
- each forms control byte defines the height of a corresponding line and is applied in the character generator 27 to select the number of scan lines used when the line is printed.
- Other bits in each forms control byte define a channel number.
- a channel command word defines blank lines to be inserted in a page by specifying the channel number to be skipped to or the number of lines to be spaced.
- each of the special codes causes the character generator 27 to inhibit any modulator output so that a blank line results in the printed page.
- the page buffer 78 is capable of simultaneously storing several pages of graphic code bytes.
- a buffer interloc system is provided to prevent overfilling of the page buffer 78.
- a device end status condition is communicated to the main channel 14, indicating that the main channel 14 should proceed to the next channel command word. It room is not available in the page buffer 78 control logic simply monitors the situation, then generates the device end status condition at such time as room becomes available.
- the compressed graphic code bytes assembled into pages in the page buffer 78 are decompressed upon leaving the page buffer 78 by a decompression algorithm 81 which is the inverse of the compression algorithm 76 prior to being passed together with data from a modification data buffer 82 to one of a pair of line buffers 83, 84 within the character generator 27.
- the decompression algorithm 81 restores each graphic code byte to the original format that it assumes at the output of the translate table 72.
- the modification data buffer 82 stores data used in making minor changes between copies when plural copies of the same page are to be printed. This avoids the necessity of assembling a complete page in the page buffer 78 for each page which differs only in minor respects from a previously printed copy.
- the imaging apparatus 26 of the present example modulates a laser beam as the beam is scanned in raster fashion over a character space to print each character.
- Each character space is defined by a character cell having a height defined by 24 scans of the laser beam and a width defined by 18 bits representing the number of times the beam can be modulated during each scan of the character cell.
- Each set of character image bits stored in one of the writable character generator modules 74 comprises as many as 432 bits defining the 18 horizontal bit spaces for each of the 24 different scans of the laser beam. Accordingly the character image bits define those portions of the grid pattern or matrix comprising the character cell which the particular character to be printed comprises.
- each writable character generator module 74 is only 11 bits wide while the character cell is 18 bits wide. Accordingly it is necessary to break each scan line of 18 bits of the character cell into two sections of data for purposes of storing the sets of character image bits in the writable character generator module 74. Since each character may involve as many as 24 scan lines, 48 sections of data must be stored in the writable character generator module 74 for each set of character image bits. Since each writable character generator module 74 is 11 bits wide, each section of data stored therein is 11 bits long and includes a field of 9 bits, a parity bit and a pitch bit.
- Each pair of the sections of data stored in the writable character generator module 74 comprises a high section and a low section. As described in connection with the character generator of FIG. 6 a complete line of characters is printed a scan at a time. Accordingly the two sections of bits corresponding to the scan for each character are successively taken from the writable character generator modules 74 and used to modulate the laser beam.
- the sets of character image bits stored in the writable character generator modules 74 are program alterable directly from the data processing unit 16. Sets of character image bits can initially be loaded into the writable character generator modules 74 either directly from the data processing unit 16 or from a flexible disk storage described in FIG. 6, and the sets of character image bits can be selectively replaced under control of the data processing unit. Each set of character image bits to be stored or replaced in one of the writable character generator modules 74 is communicated over the main channel 14 from the data processing unit 16 in the form of a 73 byte block as shown in FIG. 5. The first byte of the block defines the storage location within the writable character generator modules 74 where the new set of character image bits is to be stored. The remaining 72 bytes of the block arranged into 24 groups of three bytes each define the character image bits. Each group of three bytes contains the 18 bits for one of the scan lines of the character cells.
- the first byte of the block comprising a character address is routed to a data buffer 86 via the translate table 72 where it is converted by the table address.
- the remaining 72 bytes of the block are routed directly to the data buffer 86.
- the data buffer separates the character address from the remaining 72 bytes comprising image data and passes the character address to the writable character generator modules 74.
- One group of three bytes (24 bits) is shown at the output of the data buffer 86 in FIG. 5 and includes the 18 bits comprising the scan of the character cell (0-7, 8-15, 16, 17), a high pitch bit P H , a low pitch bit P L , a high parity bit C H , a low parity bit C L and two spare bit spaces designated X.
- the 3 byte groups from the data buffer 86 are applied to conversion and format logic 87 where they are converted and reformated into pairs of 11 bit sections for storage in the writable character generator modules 74.
- the conversion and format logic 87 uses appropriate AND-OR circuitry for reformating the 3 byte group into a first section comprising bits 0-8, P H , C H and a second section comprising bits 9-17, P L , C L .
- the converted and reformated sections are loaded into the writable character generator modules 74 via a write character generator module data buffer 88.
- the 1 byte code character address at the output of the data buffer 86 functions in the manner of the graphic code bytes at the output of the translate table 72 to define a selected one of the four writable character generator modules 74 and the selected one of the 64 different locations within the selected module in which the new set of character image bits is to be stored.
- the translate table 72 can be loaded directly from the data processing unit 16.
- the translate table 72 has a storage capability of 256 graphic code bytes, to handle up to 256 sets of character image bits which can be stored in the writable character generator modules. Where less than 256 graphic code bytes are needed, the unused storage spaces in the translate table 72 are loaded with FF reserve code bytes which are used to indicate selection of an invalid character to the main channel 14.
- the printer can be made responsive to virtually any code for the incoming character code bytes by changing the predetermined code or algorithm.
- the code or algorithm can be changed so as to print given characters in response to a new code.
- the same character can be generated in response to different codes by storing the corresponding graphic code in different locations within the translate table 72.
- the printer can be arranged to use the same data code and channel commands as existing impact printers or other equipment in the data processing system when the printer is added to the system.
- the same character code can be used to print different graphic characters by using plural translate tables in which the same character code addresses different graphic codes in the different tables.
- the different graphic characters can be printed in the same line by merging the selected graphic code bytes from the different translate tables into the same line in the page buffer 78.
- Merger is accomplished by temporarily writing one or more lines at the input of the page buffer under a no space command, following which a line is written with a space command.
- the no space command causes the lines to merge in accordance with an algorithm, following which they are stored as one line in the page buffer.
- the character generator 27 is shown in FIG. 6 together with a portion of the imaging apparatus 26.
- the graphic code bytes from the writable control storage 40 are fed via the native channel 20 to the character generator 27 where they are received by a 1 byte holding register 100 at the inputs of the line buffers 83 and 84.
- the loading and unloading of the line buffers 83 and 84 is controlled by a write line buffer address counter 106 and a read line buffer address counter 108 coupled to a device function decode 110.
- the device function decode 110 responds to control data from the instruction execution unit 24 which is intended for the character generator 27 to the exclusion of other data. Examples of circuits which can be used as the device function decode 110 are shown on page 9-163 of the First Edition of The Integrated Circuits Catalog For Design Engineers, published by Texas Instruments Incorporated.
- the control data is fed via the native channel 20 to cause the contents of one of the line buffers 83, 84 to be passed to the writable character generator modules 74 for printing while the other line buffer is being loaded from the 1 byte holding register 100, and vice versa. Accordingly the line buffers 83 and 84 alternately load and print. While the write line buffer address counter 106 controls the loading of one of the line buffers 83, 84 one byte at a time to assemble a print line therein in response to control data from the microprogram, the read line buffer address counter 108 responds to the character generator attachment 29 to control the outputting of the other line buffer through a character address register 112 to the writable character generator modules 74.
- the four different character generator modules 74 comprise modules 114, 116, 118 and 120.
- the first module 114 is loaded with Gothic 15 pitch characters
- the second module 116 is loaded with characters conforming to a text 1
- the third module 118 is loaded with characters conforming to a text 2
- the fourth module 120 is loaded with Gothic 10 pitch characters.
- Each of the modules 114, 116, 118 and 120 is capable of storing up to 64 characters.
- the contents of the first character generator module 114 are graphically illustrated in FIG. 6 in terms of the 24 scans of 18 bits each comprising each of the 64 characters. Two of the 18 bit scan lines are shown for the top portion of the character A. As previously described the bits within the module 114 modulate a laser beam to produce the desired character.
- the imaging apparatus 26 includes a laser 130 for providing a laser beam 132.
- the laser 130 may comprise a lower power Helium neon laser, as shown, for example, in U.S. Pat. No. 3,750,189.
- the laser beam 132 is reflected by a mirror 134 through a modulator 136 and onto a rotating mirror 138.
- the modulator 136 may comprise an acousto-optic modulator of the type shown in U.S. Pat. Nos. 3,419,322 and 3,586,120.
- the rotating mirror 138 which may comprise a series of reflective facets on a metal block as shown, for example, in U.S. Pat. No.
- 3,750,189 has a plurality of small mirrors spaced about the periphery thereof so as to reflect the laser beam from the modulator 136 into a mirror 140.
- the mirror 140 reflects the modulated laser beam onto a rotating print drum 142.
- the rotating mirror 138 rotates at a selected speed to provide a rapid succession of scans of the modulated laser beam across the print drum 142.
- the portion of the imaging apparatus 26 thus described operates in a fashion similar to the apparatus shown in the previously referred to U.S. Pat. No. 3,701,999 of Congleton et al to provide rapid scanning of the modulated laser beam across the drum 142.
- the modulator 136 causes the laser beam 132 to be modulated by bits from the character generator modules 74 applied via an output data register 144 and a nine bit serializer 146. Examples of circuits which can be used as the nine bit serializer 146 are shown on page 9-124 of the First Edition of The Integrated Circuits Catalog For Design Engineers, published by Texas Instruments Incorporated. Timing of the character generator modules 74 is controlled by a scan line select counter 148 which is initialized to the first scan line at the start of each print line. Thereafter the scan line select counter 148 operates in response to a scan sync signal from a scan start detector 150 to synchronize the outputting of bits from the character generator modules 74 with the rotation of the mirror 138.
- the scan start detector 150 which comprises a sensing device responsive to light of laser wavelength such as a photocell, a phototransistor or a photodiode of the type shown, for example, in U.S. Pat. No. 3,750,189, generates a signal in response to each facet of the rotating mirror 138 and therefore signals the beginning of each scan.
- a total scan timer counter and beam search 152 responds to a start scan sync signal from the device function decode 110 to initiate operation of the modulator 136.
- the scan start detector 150 signals the scan line select counter 148 to pick a particular scan of a graphic in one of the writable character generator modules 74 and to begin feeding bits from one of the character generator modules 74 to the output data register 144.
- the read line buffer address counter 108 keeps a count of the various character positions in the line buffers 83, 84.
- the character address register 112 causes selection of the appropriate bits from the writable character generator modules 74 under the control of the read line buffer address counter 108.
- the total scan time counter and beam search 152 responds to the scan sync signal at the start of each scan to turn on the modulator 136 and the laser 130 for the next scan start. Examples of counter circuits which can be used in the total scan time counter and beam search 152 are shown on page 9-58 of the First Edition of The Integrated Circuits Catalog For Design Engineers, published by Texas Instruments Incorporated.
- the first line of data bits corresponding to the first scan of the first character is advanced to the output data register 144 where the pitch bit P H or P L thereof is sensed by line buffer and CGM timing 154.
- the line buffer and CGM timing 154 may comprise an oscillator driven ring of latches.
- the pitch bit determines the pitch or width of the character in a manner which is described in detail in a copending application, Ser. No. 522,996, filed Nov. 11, 1974, now U.S. Pat. No. 3,999,168, issued Dec. 21, 1976 to Gerald I. Findley, Teddy L. Anderson and Kenneth D. Cummings, INTERMIXED PITCHES IN A BUFFERED PRINTER.
- the line buffer and CGM timing 154 responds to a horizontal oscillator within the total scan time counter and beam search 152 by passing to the nine bit serializer 146 only those bits of each scan which are to be printed as determined by the pitch bits. While all 18 bits of each scan are used for a pitch of 10 characters per inch, only 12 bits of each scan are used for a pitch of 15 characters per inch so as to truncate the width of the character cell.
- the section representing the first half of the first scan of the first character temporarily stored in the output data register 144 is advanced to the nine bit serializer 146 where each of the bits thereof is serially fed to the modulator 136 to modulate the laser beam 132 as it scans across the first half of the first character.
- the second section of data is advanced through the output data register 144 to the nine bit serializer 146, and the resulting serial stream of bits is used to modulate the laser beam during the second half of the first scan of the first character.
- the laser beam is about to begin the first scan of the second character on the line.
- the first and then the second sections of bits representing the first scan of the second character are successively advanced through the output data register 144 and the nine bit serializer 146 to modulate the laser beam.
- the system continues in this fashion until the laser beam has completed the first scan of each of the characters in the line, at which point the scan line select counter 148 is incremented and the next scan of the laser beam begins and is sensed by the scan start detector 150.
- the third and then the fourth sections of data bits for the first character are provided to the output data register 144 and the nine bit serializer 146 to print the second scan of the first character.
- the third and fourth sections of bits for each succeeding character are used to modulate the laser beam until the second scan of the entire print line is completed.
- the system continues in this fashion until the laser beam has made 24 scans of the print line and all characters on the line have been printed. Thereafter the process is repeated for each succeeding print line.
- the sets of character image bits in the character generator modules 74 can be loaded or replaced directly via the data buffer 84, the conversion and format logic 86 and the write CGM data buffer 88.
- the sets of character image bits can be loaded directly from a flexible disk storage 160 via the write CGM data buffer 88.
- the imaging apparatus 26 employs known electrophotographic techniques to develop the discharged area on the surface of the drum 142 which results from the modulated laser beam 132. As the drum 142 rotates past a developer 170, the surface is coated with a toner. The toner adheres to the discharged areas of the surface and is transferred onto a paper 172 which comes into contact with the drum surface downstream of the developer 170. Any toner remaining on the surface of the drum 142 is removed by a cleaner 174 in preparation for the next movement through the laser scan. The paper 172 as so printed with the toner is advanced through a fuser 176 to a continuous forms stacker.
- the print line can be shifted horizontally relative to the paper where necessary by adding a selected value to a fixed margin offset and decrementing the resulting sum in a counter upon detection of the scan start before turning on the beam to commence printing.
- the size of the print line is adjusted to the width of the paper by subtracting the selected value from the width of the paper and using the resulting difference to decrement the counter during printing so that printing is terminated as soon as the counter has been decremented by the difference.
- microprogram processed by the instruction execution unit 24 comprises eight prioritized levels, with each level having eight different registers of the local storage registers 34 assigned thereto.
- the eight different levels are as follows beginning with the highest priority level and ending with the lowest priority level:
- Level 0 is used principally for service and error functions. Various microroutines can be entered if errors such as parity errors are detected. Certain other routines can be used to determine that the system is functioning properly. During Level 0 an IMPL (Initial Micro Program Load) routine may be entered. This routine is used to load the writable control storage 40 with microprograms stored in the flexible disk storage 160 shown in FIG. 6.
- IMPL Intelligent Micro Program Load
- Level 1 is used principally to enable the printer to communicate with the main channel 14. It is during this level that the channel command codes executed by the Level 7 microprogram are transmitted and stored in the printer. Level 1 is entered when the printer is to communicate with the main channel 14.
- Level 3 is entered when the imaging apparatus drum begins operating. Various counters created by the microprogram and associated with the imaging apparatus are updated. If a page is ready in the page buffer 78, the microprogram starts the printing process for that page. When an image on the drum arrives at the transfer station for transfer onto the paper, a servo is activated to start paper motion and transfer the image to the paper.
- Level 4 is entered on receipt of signals from the transfer station where the paper contacts the drum 142 or from the fuser 176. Counters within the imaging apparatus that keep a positional location count for each page in the paper transport are updated, and the fuser 176 is started and stopped as the paper moves. Printed pages are stacked in the continuous forms stacker.
- Level 5 is entered when it is time for the character generator 27 to place a line on the surface of the drum 142.
- the microprogram operates one line ahead of the actual placement, filling one of the line buffers 83, 84 while the character generator 27 is printing out data stored in the other.
- Each line is taken out of the page buffer 78 and is decompressed by the algorithm 81.
- Level 7 the lowest level of the 8 different levels, is entered when there are no interrupt requests for the other levels.
- the Level 7 microprogram executes channel commands transferred to the printer during Level 1. Data transfer subroutines are invoked for commands involving data transfers.
- the print lines received are translated from the 8 bit character code bytes into the graphic code bytes. Characters are compressed and placed in the page buffer 78. Forms control functions are performed by placing blank lines in the page buffer 78.
- the Level 3 microprogram is activated when full pages are ready to be printed.
- channel commands There are five different types of channel commands, which include:
- the Forms Commands control the vertical format of a page via the forms control buffer 79.
- the forms control buffer which contains control information for vertical line spacing is loaded with the specifications for a paper control tape before any transfer of data from the data processing unit 16 to the page buffer 78 takes place.
- the contents of the forms control buffer 79 are analyzed. Where necessary, blank lines are inserted into the page buffer 78. If it is determined that a complete page is ready for printing, the page is readied for readout to the character generator 27, and the next page is initialized within the page buffer 78 so as to follow the completed page.
- the Write Commands are provided for transferring data to the printer 12 from the data processing unit 16. Each Write Command transfers one print line.
- the characters comprising the line are entered in the intermediate buffer 70 as they are received from the data processing unit 16. After 204 bytes have been received, the printer operates to terminate the transfer.
- Load Commands are used to initialize the control electronics, the buffers and the tables in the printer. Upon the occurrence of Load Commands any remaining partial page in the page buffer 78 is finished and the system skips to the beginning of the next page. If various portions of the page buffer 78 used to perform control functions are to be loaded with new data, all such previously allocated control buffers within the page buffer are eliminated. Further Load Commands may be broken down as follows:
- One of the load commands loads the forms control buffer 79 with a forms control byte for each line to be entered in the page buffer 78.
- One of the bits in each byte is a "vertical space bit" that determines whether the vertical spacing is to be six lines per inch or eight lines per inch. four of the bits comprise a channel code identifying the line.
- This command is used to load up to 256 bytes in the translate table 72.
- the sets of character image bits are normally stored in the flexible disk storage 160 shown in FIG. 6. To use a particular set, it must be read from the disk storage 160 and loaded into one of the character generator modules 74. Once a set is loaded into a character generator module, it remains in the module until the next command to load the character generator modules. A writable character generator module is not reloaded if it already contains an unmodified version of the set of character image bits to be loaded.
- This command is used with diagnostic programs to load and execute a microprogram routine in the control electronics for the printer.
- Storage for 128 microprogram instructions comprising two bytes each or 256 bytes is available in a defined area of the writable control storage 40.
- the load portion of the command causes the printer to store a microprogram routine sent from the main channel 14. An indication of channel end is then presented to the channel 14.
- the execution portion of the command produces a branch to the first instruction.
- the routine loaded can then perform its functions. At the conclusion of the execution of the routine, the printer presents a device end signal to the main channel 14.
- the sets of character image bits are loaded into the writable character generator modules 74 from the flexible disk storage 160.
- the graphic coding for characters located in these modules can be replaced by the data processing unit 16.
- a "Load Graphic Character Modification" channel command is used to transfer the bit coding for the new graphics as replacements for any of the characters in any of the character generator modules 74 in the printer.
- the data format consists of 1 to 64 entries of 73 bytes per entry. One such entry of 73 bytes is shown and discussed in connection with FIG. 5.
- the one byte code at the beginning of each entry comprises the eight bit code that defines the address of the graphic character being loaded. This code is used to index the translate table 72.
- the translate code obtained is used to address the writable character generator modules 74 for storing the character image bits contained in the 72 bytes following the character code.
- the modification data buffer 82 provides for copy modification by modifying or deleting selected areas of given forms stored in the page buffer 78.
- a "Load Copy Modification" channel command results in communication of copy modification data to the printer 12.
- the communicated data includes control data for the copy modification process and text data denoting the exact changes to be made in the various copies.
- the text data which is stored in the modification data buffer 82 is employed to modify a page of data as the data is advanced from the page buffer 78 to the character generator 27 for printing of the data.
- the added data may comprise such things as horizontal or vertical lines or a company name to be added to selected pages using a forms overlay process which employs a film negative and an arrangement for flashing the image of the negative onto the drum 142 prior to coating with toner.
- the "Load Forms Overlay Control" channel command provides to the printer a record of the number of copies to be made and whether or not the forms overlay is to be flashed.
- This channel command specifies the copy number of the transmission of a set of data to the printer. It enables the microprogram to examine and process modification data for a particular copy to the exclusion of data for other copies. As each copy of a page is made, the copy number is incremented.
- Status commands are used to determine the status of the printer and to perform various test functions.
- Control commands perform various control functions in the printer. Such commands set various conditions throughout the printer enabling various functions to be performed. Included among such commands are commands which cause any remaining partial page in the page buffer 78 to be printed, which cause certain buffers to be erased when no longer needed, and which cause the translate table 72 to be selected.
- the character code to graphic character mapping provided by the translate table 72 provides the system with a versatility producing a number of distinct advantages not found in prior art printers.
- Printers according to the invention have a universal character set capability.
- a simple change in the storage location of an 8 bit graphic code within the translate table 72 a different character code can be used for printing the particular character involved.
- multiple character codes can be used for the same graphic, providing for a folding capability.
- the same graphic code byte can be selectively stored in different locations within the translate table 72.
- Different character code bytes can be used to select the same graphic code byte as stored in the different locations within the translate table 72, resulting in the same graphic code byte appearing in the print line as it is assembled in the page buffer 78.
- two different eight bit character code bytes C1, F3 appear at different locations in a print line received in the intermediate buffer 70.
- the character code bytes C1 and F3 provide for the selection of two different storage locations within the translate table.
- the resulting print line as assembled in the page buffer 78 contains the graphic code bytes 07 in the character spaces corresponding to the spaces containing C1 and F3 in the print line as received in the intermediate buffer 70. Consequently when the graphic code bytes 07 are applied to the writable character generator modules 74 the same character is printed. In this manner different character codes can be used to print the same graphic.
- the modification data buffer 82 provides the capability of using the same page of graphic code bytes in the page buffer 78 to print multiple copies of a form where the various copies differ from each other in relatively minor respects. This feature can be used, for example, to print a multi-copy shipping form where each copy contains the same basic information but differs in items such as page number and title of the copy such as "Shipper's copy” and "Customer's copy.” It is also common with such forms to delete substantial portions of the form from several of the copies.
- the modification data buffer 82 provides for copy modification by modifying or deleting selected rectangular areas of given forms stored in page buffer 78. Modification data bits from a channel command word reach the native channel 20 from which they are communicated to the modification data buffer 82.
- the modification data bits stored in the buffer 82 denote a variety of information for each form to be printed including the numbers of the various copies and the line numbers on the copies where modifications are to be made.
- the modification data bits further denote a particular location within the selected lines, the length of each modification, and the modification itself.
- the line buffers 83 and 84 in the character generator 27 are alternately filled with lines of characters to be printed.
- the modification data entries in the buffer 82 are examined for each line in one of the line buffers 83, 84.
- the copy count for the page being printed is entered into a copy counter 200 where it is compared by compare logic 202 comprising a comparator with the copy range of the entries in the modification data buffer 82.
- the line count for the line about to be printed as entered in a line counter 204 is compared by compare logic 206 comprising a comparator with the line count range of the entries in the modification data buffer 82. If the modification entry control information matches in the line buffer 83 or 84 as determined by an AND gate 208, then the print position stored within the buffer 82 is applied by line buffer modify logic 210 to address the line buffer 83 or 84 and locate the character positions.
- the length of text data in the buffer 82 specifies the size of the text data.
- the text data from the buffer 82 is entered into the line buffer 83 or 84 via the line buffer modify logic 210 to make the desired modification. Where selected portions of the data comprising a line entered into one of the line buffers 83 or 84 are to be modified, the text data results in new characters being entered directly into the line buffer 83 or 84. Where the modification calls for deletion of characters, the text data results in destruction of selected ones or all of the characters assembled in the line buffer 83 or 84.
- the first way is to load the first page of the form into the page buffer 78 while at the same time loading modification data for all copies of the first page into the modification data buffer 82.
- the first copy of the first page is then printed as modified by the modification data for copy number 1, following which copy number 2 of the first page is printed, and so on.
- the second page is loaded into the page buffer 78 while modification data for the various copies of the second page are loaded into the modification data buffer 82.
- the printer 12 then proceeds to print the various copies of the second page as modified by the data stored in the modification data buffer 82, following which the procedure is repeated for the third and subsequent pages of the form.
- the second way of printing multiple copies of multi-page forms is to load all of the pages into the page buffer 78, while at the same time loading modification data for the first copy of each page in the modification data buffer 82. Thereafter the first copy of each page is printed after appropriate modification, following which the pages are reloaded into the page buffer 78 with modification data for the second copy of each page being loaded in the modification data buffer 82. The process continues with the pages of the form being reloaded with modification data for each copy, until all copies of the pages are printed.
- printers in accordance with the invention may be even better understood by considering an example of the processing of a print line from its origin in the data processing unit 16 through the final printing by the copier 26.
- the print line consists of the characters "PXXCCC....*****".
- an instruction stream is processed in the central processing unit of the data processing unit 16.
- the processing of the instruction stream provides for the generation of the print line consisting of characters that the program determines should be printed on paper.
- a channel command word is then made up.
- the first field of the channel command word comprises the command code which the printer is to execute as determined by the user's program.
- the second field of the channel command word is the address of the print line that was just generated.
- the third field of the channel command word comprises flags that control execution of the channel command word by the main channel 14.
- the fourth and last field of the channel command word is the byte count which gives the number of characters in the print line.
- a channel address word is generated so as to identify the first channel command word to be performed by the main channel 14.
- the channel address word is located in the main storage of the data processing unit 16.
- the central processing unit then executes a start input/output instruction which specifies the channel and device address of the printer within the data processing system 10.
- the main channel 14 accesses the channel address word to find the beginning location of the channel address word to find the beginning location of the channel command word. Thereafter the main channel 14 accesses the fields in the channel command word and uses this information to control the execution of the channel command word.
- the command code is a hexidecimal "09". This command stands for "write and space one line”.
- the flag field may indicate command chaining or suppressing incorrect length indication.
- the count field will show the number of characters in the print line.
- the main channel 14 has all the information necessary to execute the command, and begins by transmitting the device address.
- the printer 12 compares the device address and determines that it is the address of the printer. Such determination having been made, the printer 12 interrupts operation of the control logic therein.
- the control logic proceeds through an initial selection protocol sequence with the main channel 14. This sequence involves transmitting the printer address to the main channel 14, whereupon the channel responds with the command "09".
- the printer 12 After receiving the command, the printer 12 responds with initial status to indicate to the channel 14 that the printer can proceed with execution of the channel command. Upon acceptance of the initial status by the channel 14 on a byte multiplex channel, the printer 12 disconnects from the main channel 14.
- the control logic within the printer 12 passes the command code which has been received from the channel 14 to the control logic that will execute the command code. Execution consists of decoding the command to determine the function that the printer is to perform. In the present example the "09" command causes the data transfer logic to be invoked so that the printer is ready for receipt of a print line of up to 204 characters from the main channel 14.
- the data is read into the printer 12 through the main channel 14 via bus and tag cables. After entering the channel attachment 21, the data flows through the data in bus 22 of the native channel 20 to the instruction execution unit 24.
- the instruction execution unit 24 is executing the microprogram which causes the incoming data to be loaded in the intermediate buffer 70.
- the print line as stored in the intermediate buffer 70 is in character code form and employs the standard EBCDIC representation of the graphic characters.
- the character "P" is stored as “D7”
- "X” is stored as “E7”
- "C” is stored as “C3”
- ".” is stored as "4B”
- "*" is stored as "5C”. Accordingly the print line as stored in the intermediate buffer 70 appears as "D7 E7 E7 C3 C3 C3 4B 4B 4B 4B 4B 5C 5C 5C 5C 5C 5C.
- the character code of the print line residing in the intermediate buffer 70 is translated by the translate table 72 into graphic code as shown in FIG. 10.
- the translation process involves five steps. Step 1 is to fetch a byte from the intermediate buffer 70. In Step 2 the fetched byte is added to the address of the translate table 72. In Step 3 the contents of the data at the resulting address within the translate table 72 are fetched. If the fetched data byte is a hexidecimal "FF", then an unprintable character error status is set and the graphic code is replaced by "00", in Step 4. In Step 5 the byte fetched from the translate table 72 is passed to the compression algorithm 76.
- the first byte of the print line which is "D7" is fetched from the intermediate buffer 70 and is added to the address of the translate table 72.
- the resulting address points to "17" which is the byte in graphic code form.
- the succeeding character code bytes in the print line are fetched and translated in similar fashion until the entire print line is translated.
- the resultant print line in graphic code form is shown at the bottom of FIG. 10.
- the graphic characters produced by the 64 different graphic code bytes stored in the translate table 72 are shown by the following table.
- the writable character generator modules 74 have a set of character image bits for each such graphic character, the set of character image bits being addressed by the corresponding graphic code byte in the manner previously described.
- the graphic code bytes at the output of the translate table 72 are compressed using the compression algorithm 76.
- the compression algorithm 76 works on the translated graphic code bytes as they are placed into the page buffer 78. As the graphic code bytes are moved into the page buffer 78 the compression algorithm examines each byte and compares it to the previous byte. If they are equal, then a counter within the page buffer 78 is incremented. Since compression is accomplished for four or more identical bytes, a count of greater than three within the counter results in no more of the translated data being stored in the page buffer. Instead only the counter is incremented in response to each byte. When the bytes do not compare, the counter is examined. If a count of greater than 3 is stored in the counter, then the set of characters was compressed, and the compressed data sequence is then stored in the page buffer 78.
- the compressed data sequence consists of three bytes.
- the first byte is a decompression identifier, which is the hexidecimal "FF".
- the second byte is the number of characters compressed, and the third byte is the character being compressed.
- the first three bytes of an identical character sequence will have already been stored in the page buffer 78. All that must be stored for the data compression sequence is the "FF" and the number of characters, as the third byte is already in the page buffer 78.
- Data compression will result in any four or more identical characters being stored by three bytes of data in the page buffer 78. After all the data in the intermediate buffer 70 has been moved into the page buffer 78, any remaining untransferred positions are padded out with blanks. A channel may not have transferred 204 characters, in which case, the remainng positions have to be supplied by the printer.
- the print line as compressed and stored in the page buffer 78 appears as "LC 17 27 27 03 03 03 FF 04 0B FF 05 1C".
- "LC” represents the line control character.
- the line control character is "FF”.
- the line control character For a blank line the line control character "FE" with the remainder of the line being empty or blank.
- a buffer interloc scheme is used to prevent overfilling the page buffer 78.
- a check is made to ensure that there is room in the page buffer for each incoming print line. If room exists in the page buffer, a "device end status" condition is posted to the main channel 14. If room is not available, the control logic for the printer waits until room becomes available. When a page is printed out of the page buffer 78, this room is released and is made available for incoming data. The control logic detects that such room is available and presents a "device end status" condition. This condition initiates the main channel 14 to proceed to the next channel command word.
- the decompression algorithm 81 is employed to decompress the data.
- the graphic codes of the print line assume the same form as at the output of the translate table 72, namely "PXXCCC....*****".
- the modification data which is loaded into the buffer 82 consists of "01 01 08 01 06 02 21 21".
- the first byte "01” denotes the starting copy number.
- the second byte “01” is the number of copies to be modified.
- the third byte “08” is the line number where the modification is to begin.
- the fourth byte "01” is the number of lines to be modified.
- the fifth byte “06” is the print position within the line to be modified.
- the sixth byte "02” is the number of bytes in the text field.
- the last field "21 21” is the text data itself.
- the print line of the present example is assumed to be the eighth line of the copy to be modified.
- the sixth print position in the line is the third "C". Since the text length is two characters, the first".” is also to be modified. Accordingly the graphic codes "03" and "OB” corresponding to the third "C” and the first ".” are replaced by the graphic codes "21".
- the graphic codes stored in the line buffer and awaiting printing consist of "17 27 27 03 03 21 21 21 0B 0B 0B 1C 1C 1C 1C 1C 1C” .
- the graphic code "21" corresponds to the graphic "/”, and accordingly the graphics represented by the print line consist of "PXXCC//....*****".
- the graphic codes are used as addresses to locate the character image bits in the writable character generator modules 74 as previously described in connection with FIG. 6.
- the character image bits in the form of sets of raster bits are obtained. These bits correspond to a horizontal slice of a graphic character.
- the bits are serialized and are used to modulate the laser beam to draw the graphic character.
- the particular bits used to print the graphic character "/" are illustrated in FIG. 11 together with the manner in which the bits are employed during the various scans to effect the printing. It will be noted that no printing occurs during the first 6 scans 00-05 or during the four scans 14-17. Each of the other scans 06-13 therebetween involves printing during two of the 18 bits. The result is the desired graphic character "/".
- the printer utilizes the writable control storage 40 for setting up many of the functions to be performed under program control. It should be understood, however, that the resulting arrangement and the preceding discussion in connection therewith are presented by way of example only, and different approaches can be used For example most or all of the writable control storage 40 can be replaced by hard-wired circuitry, thereby comprising a permanent implementation for the various functions to be performed.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Optics & Photonics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Record Information Processing For Printing (AREA)
- Dot-Matrix Printers And Others (AREA)
- Laser Beam Printer (AREA)
- Facsimiles In General (AREA)
- Control Or Security For Electrophotography (AREA)
- Image Generation (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Priority Applications (15)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AR74260537A AR245836A1 (es) | 1974-11-11 | 1974-11-11 | Un dispositivo impresor rapido. |
US05/522,998 US4031519A (en) | 1974-11-11 | 1974-11-11 | Printer |
IT27029/75A IT1042376B (it) | 1974-11-11 | 1975-09-09 | Stampatrice perfezionata |
CA235,830A CA1042354A (en) | 1974-11-11 | 1975-09-18 | Printer |
FR7530576A FR2290308A1 (fr) | 1974-11-11 | 1975-10-01 | Imprimante a commande numerique |
BE160860A BE834406A (fr) | 1974-11-11 | 1975-10-10 | Imprimante a commande numerique |
GB4157375A GB1477427A (en) | 1974-11-11 | 1975-10-10 | Printing system |
NL7512695A NL7512695A (nl) | 1974-11-11 | 1975-10-30 | Drukinrichting met bewegende straal. |
SE7512443A SE411491B (sv) | 1974-11-11 | 1975-11-06 | Tryckanordning |
CH1440875A CH600435A5 (hr) | 1974-11-11 | 1975-11-07 | |
DE2550268A DE2550268C3 (de) | 1974-11-11 | 1975-11-08 | Schnelldrucker für Datenverarbeitungssysteme |
BR7507445*A BR7507445A (pt) | 1974-11-11 | 1975-11-11 | Impressora |
JP13475075A JPS573988B2 (hr) | 1974-11-11 | 1975-11-11 | |
CA296,282A CA1044609A (en) | 1974-11-11 | 1978-02-06 | Printer |
JP55174815A JPS5845051B2 (ja) | 1974-11-11 | 1980-12-12 | 印刷装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/522,998 US4031519A (en) | 1974-11-11 | 1974-11-11 | Printer |
Publications (1)
Publication Number | Publication Date |
---|---|
US4031519A true US4031519A (en) | 1977-06-21 |
Family
ID=24083246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US05/522,998 Expired - Lifetime US4031519A (en) | 1974-11-11 | 1974-11-11 | Printer |
Country Status (13)
Country | Link |
---|---|
US (1) | US4031519A (hr) |
JP (2) | JPS573988B2 (hr) |
AR (1) | AR245836A1 (hr) |
BE (1) | BE834406A (hr) |
BR (1) | BR7507445A (hr) |
CA (1) | CA1042354A (hr) |
CH (1) | CH600435A5 (hr) |
DE (1) | DE2550268C3 (hr) |
FR (1) | FR2290308A1 (hr) |
GB (1) | GB1477427A (hr) |
IT (1) | IT1042376B (hr) |
NL (1) | NL7512695A (hr) |
SE (1) | SE411491B (hr) |
Cited By (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4121196A (en) * | 1977-05-02 | 1978-10-17 | The United States Of America As Represented By The Secretary Of The Army | Data base update scheme |
US4132979A (en) * | 1976-12-15 | 1979-01-02 | Teletype Corporation | Method and apparatus for controlling a programmable logic array |
US4231096A (en) * | 1978-10-10 | 1980-10-28 | Eltra Corporation | Digital typesetter |
EP0027566A2 (en) * | 1979-10-19 | 1981-04-29 | International Business Machines Corporation | Font selection and compression device for a printer subsystem |
EP0048625A1 (en) * | 1980-09-22 | 1982-03-31 | Xerox Corporation | Printer interface unit with data transformation |
US4339805A (en) * | 1978-09-18 | 1982-07-13 | Tokyo Shibaura Denki Kabushiki Kaisha | Information recording system |
US4381553A (en) * | 1981-01-22 | 1983-04-26 | Mohawk Data Science Corp. | Programmable printer controller with multiline buffering and overstrike feature |
WO1983001521A1 (en) * | 1981-10-14 | 1983-04-28 | Disbrow, John, R. | A page modification method in a printer subsystem of the partial page buffer composing type |
US4439761A (en) * | 1981-05-19 | 1984-03-27 | Bell Telephone Laboratories, Incorporated | Terminal generation of dynamically redefinable character sets |
EP0115584A1 (en) * | 1983-01-10 | 1984-08-15 | International Business Machines Corporation | Image producing apparatus and methods of processing image-representing signals for use by such apparatus |
US4470129A (en) * | 1982-01-29 | 1984-09-04 | International Business Machines Corporation | Page modification method in a printer subsystem of the partial page buffer composing type |
EP0131966A2 (en) * | 1983-07-18 | 1985-01-23 | Kanzaki Paper Manufacturing Company Limited | Form overlay type printing apparatus |
US4527252A (en) * | 1981-06-05 | 1985-07-02 | Xerox Corporation | Character generator |
US4546449A (en) * | 1980-09-29 | 1985-10-08 | Canon Kabushiki Kaisha | Output device capable of automatically determining an output format |
US4553860A (en) * | 1982-09-10 | 1985-11-19 | Brother Kogyo Kabushiki Kaisha | Text processing method and apparatus |
EP0173285A2 (en) * | 1984-08-31 | 1986-03-05 | Kabushiki Kaisha Toshiba | Dot-matrix printer with font cartridge unit |
US4590585A (en) * | 1982-08-13 | 1986-05-20 | International Business Machines | Character generator for raster printer |
EP0209693A2 (en) * | 1985-07-22 | 1987-01-28 | International Business Machines Corporation | Method of maintaining compatibility with different I/O types |
US4648069A (en) * | 1983-03-07 | 1987-03-03 | International Business Machines Corporation | Character generator |
US4649513A (en) * | 1983-11-15 | 1987-03-10 | International Business Machines Corporation | Apparatus and method for processing system printing data records on a page printer |
EP0217449A1 (en) * | 1985-09-27 | 1987-04-08 | Océ-Nederland B.V. | Method for generating line segments |
EP0217447A1 (en) | 1985-09-27 | 1987-04-08 | Océ-Nederland B.V. | Raster image memory |
EP0217448A1 (en) * | 1985-09-27 | 1987-04-08 | Océ-Nederland B.V. | Raster image processor |
EP0229412A1 (en) * | 1985-12-17 | 1987-07-22 | Océ-Nederland B.V. | A method of generating line parts |
DE3707112A1 (de) * | 1986-03-05 | 1987-11-26 | Minolta Camera Kk | Zeichenbilderzeugungsschaltung |
US4719592A (en) * | 1982-11-20 | 1988-01-12 | International Computers Limited | Sequence generator |
WO1988001768A1 (en) * | 1986-08-25 | 1988-03-10 | Digital Equipment Corporation | Print engine drive interface |
WO1988001767A1 (en) * | 1986-08-25 | 1988-03-10 | Digital Equipment Corporation | Horizontal line processor of data to be printed out sequentially |
US4780711A (en) * | 1985-04-12 | 1988-10-25 | International Business Machines Corporation | Anti-aliasing of raster images using assumed boundary lines |
US4870611A (en) * | 1983-11-15 | 1989-09-26 | International Business Machines Corporation | Apparatus and method for system printing mode control |
EP0356076A2 (en) * | 1988-08-19 | 1990-02-28 | Canon Kabushiki Kaisha | Pattern output apparatus |
US4939670A (en) * | 1988-11-18 | 1990-07-03 | Unisys Corporation | PC driven print file utilities for mainframe computer printing |
US4942541A (en) * | 1988-01-22 | 1990-07-17 | Oms, Inc. | Patchification system |
US4987550A (en) * | 1987-09-22 | 1991-01-22 | International Business Machines Corporation | Selective processing of a data stream based on font format |
US4996649A (en) * | 1987-08-11 | 1991-02-26 | Minolta Camera Kabushiki Kaisha | Image processor capable of storing character images and graphic images in a memory and including a timer for ensuring image processing operations are carried out in a predetermined time period |
US5018081A (en) * | 1988-01-07 | 1991-05-21 | Minolta Camera Kabushiki Kaisha | Printer with automatic restart |
US5035521A (en) * | 1990-02-06 | 1991-07-30 | Addressease, Inc. | Envelope printing mechanism |
US5039234A (en) * | 1989-03-29 | 1991-08-13 | Canon Kabushiki Kaisha | Document processing equipment |
US5080509A (en) * | 1990-02-06 | 1992-01-14 | Addressease, Inc. | Envelope printing mechanism |
US5108206A (en) * | 1986-05-27 | 1992-04-28 | Canon Kabushiki Kaisha | Document outputting apparatus including means to randomly alter fonts |
US5140675A (en) * | 1987-10-30 | 1992-08-18 | Canon Kabushiki Kaisha | Printer controller apparatus interfacing with external data sources |
US5178063A (en) * | 1986-12-16 | 1993-01-12 | L & C Family Partnership | Method and apparatus for automatic numbering of forms on a rotary printing press |
US5178070A (en) * | 1991-10-15 | 1993-01-12 | Ncr Corporation | Apparatus and method for controlling print timing operations |
US5219234A (en) * | 1990-10-02 | 1993-06-15 | Sharp Kabushiki Kaisha | Thermal printing device including jam detection means |
US5282269A (en) * | 1985-09-27 | 1994-01-25 | Oce-Nederland B.V. | Raster image memory |
US5313577A (en) * | 1991-08-21 | 1994-05-17 | Digital Equipment Corporation | Translation of virtual addresses in a computer graphics system |
US5559530A (en) * | 1992-06-15 | 1996-09-24 | Matsushita Electric Industrial Co., Ltd. | Image data processing apparatus |
US5615316A (en) * | 1990-11-30 | 1997-03-25 | Hitachi, Ltd. | Printing control method and apparatus |
US5630032A (en) * | 1987-04-07 | 1997-05-13 | Minolta Camera Kabushiki Kaisha | Image generating apparatus having a memory for storing data and method of using same |
US5664117A (en) * | 1994-02-24 | 1997-09-02 | Intel Corporation | Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer |
US5897667A (en) * | 1993-11-16 | 1999-04-27 | Intel Corporation | Method and apparatus for transferring data received from a first bus in a non-burst manner to a second bus in a burst manner |
US5930812A (en) * | 1980-09-29 | 1999-07-27 | Canon Kabushiki Kaisha | Word processing apparatus which adjusts character output position |
US20040184102A1 (en) * | 2003-03-17 | 2004-09-23 | Toshiba Tec Kabushiki Kaisha | Image forming apparatus |
US20040216046A1 (en) * | 1995-06-07 | 2004-10-28 | R.R. Donnelley & Sons Company | Imposition process and apparatus for variable imaging system |
US20040233297A1 (en) * | 2003-05-21 | 2004-11-25 | Nec Corporation | Cellular phone, print system, and print method therefor |
US20050142468A1 (en) * | 2003-12-24 | 2005-06-30 | Eastman Kodak Company | Printing system, process, and product with a variable pantograph |
US7270918B2 (en) | 2003-12-24 | 2007-09-18 | Eastman Kodak Company | Printing system, process, and product with microprinting |
US20100313139A1 (en) * | 2009-06-03 | 2010-12-09 | Watfa Allie K | Binary interest vector for better audience targeting |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4279002A (en) * | 1978-04-24 | 1981-07-14 | Xerox Corporation | Adapter for raster output scanning printer |
JPS5636676A (en) * | 1979-09-03 | 1981-04-09 | Ricoh Co Ltd | Copying machine |
JPS5680462A (en) * | 1979-12-05 | 1981-07-01 | Dainippon Printing Co Ltd | Printed chinese character ocr device for making printing plate |
JPS57123064A (en) * | 1981-01-22 | 1982-07-31 | Nec Corp | Laser marker |
US4476542A (en) * | 1982-05-10 | 1984-10-09 | Xerox Corporation | Printing system |
JPH0640257B2 (ja) * | 1983-10-11 | 1994-05-25 | キヤノン株式会社 | 情報出力装置 |
JPS6083879U (ja) * | 1983-11-15 | 1985-06-10 | 東急車輌製造株式会社 | 冷凍コンテナの内部圧力調整装置 |
US4627749A (en) * | 1984-02-21 | 1986-12-09 | Pitney Bowes Inc. | Character generator system for dot matrix printers |
JPS63270168A (ja) * | 1987-04-30 | 1988-11-08 | Teraoka Seiko Co Ltd | プリンタ |
JPS63153143A (ja) * | 1987-11-20 | 1988-06-25 | Toshiba Corp | 情報記録装置 |
GB2221778A (en) * | 1988-08-09 | 1990-02-14 | Autonic Science Co Ltd | Converting system for Chinese character address codes |
JPH0738716A (ja) * | 1993-07-23 | 1995-02-07 | Ricoh Co Ltd | 画像処理システム |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3506779A (en) * | 1967-04-03 | 1970-04-14 | Bell Telephone Labor Inc | Laser beam typesetter |
US3622701A (en) * | 1968-08-15 | 1971-11-23 | Standard Telephones Cables Ltd | Character generation system |
US3624607A (en) * | 1969-08-25 | 1971-11-30 | Nippon Electric Co | Apparatus for the electronic selection and identification of characters |
US3634828A (en) * | 1970-08-26 | 1972-01-11 | United Aircraft Corp | Graphical data processing apparatus |
US3676852A (en) * | 1970-07-20 | 1972-07-11 | Ibm | Multiple program digital computer |
US3688033A (en) * | 1967-08-26 | 1972-08-29 | Kg Dr Ing Rudolf Hell | Method of composing half-tone pictures by means of electronic phototype setters |
US3696387A (en) * | 1969-06-25 | 1972-10-03 | Hans Georg Nussbaum | Circuit arrangement for controlling cathode-ray tubes for the display of alpha-numerical characters |
US3701999A (en) * | 1970-08-21 | 1972-10-31 | Ncr Co | Computer output laser microform recording system |
US3701972A (en) * | 1969-12-16 | 1972-10-31 | Computer Retrieval Systems Inc | Data processing system |
US3729714A (en) * | 1971-06-23 | 1973-04-24 | Ibm | Proportional space character display including uniform character expansion |
US3760376A (en) * | 1970-12-28 | 1973-09-18 | Ibm | System for controlling output lines with limited storage capacity |
US3768091A (en) * | 1970-09-07 | 1973-10-23 | Ise Electronics Corp | System for generating whole and composite patterns for a display device |
US3786429A (en) * | 1971-07-12 | 1974-01-15 | Lexitron Corp | Electronic text display system which simulates a typewriter |
US3815094A (en) * | 1970-12-15 | 1974-06-04 | Micro Bit Corp | Electron beam type computer output on microfilm printer |
US3815104A (en) * | 1973-01-18 | 1974-06-04 | Lexitron Corp | Information processing system |
US3820123A (en) * | 1973-04-04 | 1974-06-25 | Quantor Corp | Laser microfilm recorder |
US3848232A (en) * | 1973-07-12 | 1974-11-12 | Omnitext Inc | Interpretive display processor |
US3864697A (en) * | 1973-07-25 | 1975-02-04 | Eastman Kodak Co | Non-impact printer |
US3868673A (en) * | 1973-08-14 | 1975-02-25 | Teletype Corp | Display apparatus including character enhancement |
US3869571A (en) * | 1972-06-01 | 1975-03-04 | Cit Alcatel | Device for the use of a facsimile apparatus as a printing mechanism |
US3872462A (en) * | 1955-06-14 | 1975-03-18 | Jerome H Lemelson | Form filling system and method |
US3893075A (en) * | 1972-12-29 | 1975-07-01 | Richard Orban | Method and apparatus for digital scan conversion |
US3896428A (en) * | 1974-09-03 | 1975-07-22 | Gte Information Syst Inc | Display apparatus with selective character width multiplication |
US3955189A (en) * | 1974-07-24 | 1976-05-04 | Lear Siegler | Data display terminal having data storage and transfer apparatus employing matrix notation addressing |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL6802254A (hr) * | 1967-02-25 | 1968-08-26 |
-
1974
- 1974-11-11 AR AR74260537A patent/AR245836A1/es active
- 1974-11-11 US US05/522,998 patent/US4031519A/en not_active Expired - Lifetime
-
1975
- 1975-09-09 IT IT27029/75A patent/IT1042376B/it active
- 1975-09-18 CA CA235,830A patent/CA1042354A/en not_active Expired
- 1975-10-01 FR FR7530576A patent/FR2290308A1/fr active Granted
- 1975-10-10 BE BE160860A patent/BE834406A/xx not_active IP Right Cessation
- 1975-10-10 GB GB4157375A patent/GB1477427A/en not_active Expired
- 1975-10-30 NL NL7512695A patent/NL7512695A/xx not_active Application Discontinuation
- 1975-11-06 SE SE7512443A patent/SE411491B/xx not_active IP Right Cessation
- 1975-11-07 CH CH1440875A patent/CH600435A5/xx not_active IP Right Cessation
- 1975-11-08 DE DE2550268A patent/DE2550268C3/de not_active Expired
- 1975-11-11 BR BR7507445*A patent/BR7507445A/pt unknown
- 1975-11-11 JP JP13475075A patent/JPS573988B2/ja not_active Expired
-
1980
- 1980-12-12 JP JP55174815A patent/JPS5845051B2/ja not_active Expired
Patent Citations (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3872462A (en) * | 1955-06-14 | 1975-03-18 | Jerome H Lemelson | Form filling system and method |
US3872462B1 (hr) * | 1955-06-14 | 1990-04-10 | H Lemelson Jerome | |
US3506779A (en) * | 1967-04-03 | 1970-04-14 | Bell Telephone Labor Inc | Laser beam typesetter |
US3688033A (en) * | 1967-08-26 | 1972-08-29 | Kg Dr Ing Rudolf Hell | Method of composing half-tone pictures by means of electronic phototype setters |
US3622701A (en) * | 1968-08-15 | 1971-11-23 | Standard Telephones Cables Ltd | Character generation system |
US3696387A (en) * | 1969-06-25 | 1972-10-03 | Hans Georg Nussbaum | Circuit arrangement for controlling cathode-ray tubes for the display of alpha-numerical characters |
US3624607A (en) * | 1969-08-25 | 1971-11-30 | Nippon Electric Co | Apparatus for the electronic selection and identification of characters |
US3701972A (en) * | 1969-12-16 | 1972-10-31 | Computer Retrieval Systems Inc | Data processing system |
US3676852A (en) * | 1970-07-20 | 1972-07-11 | Ibm | Multiple program digital computer |
US3701999A (en) * | 1970-08-21 | 1972-10-31 | Ncr Co | Computer output laser microform recording system |
US3634828A (en) * | 1970-08-26 | 1972-01-11 | United Aircraft Corp | Graphical data processing apparatus |
US3768091A (en) * | 1970-09-07 | 1973-10-23 | Ise Electronics Corp | System for generating whole and composite patterns for a display device |
US3815094A (en) * | 1970-12-15 | 1974-06-04 | Micro Bit Corp | Electron beam type computer output on microfilm printer |
US3760376A (en) * | 1970-12-28 | 1973-09-18 | Ibm | System for controlling output lines with limited storage capacity |
US3729714A (en) * | 1971-06-23 | 1973-04-24 | Ibm | Proportional space character display including uniform character expansion |
US3786429A (en) * | 1971-07-12 | 1974-01-15 | Lexitron Corp | Electronic text display system which simulates a typewriter |
US3869571A (en) * | 1972-06-01 | 1975-03-04 | Cit Alcatel | Device for the use of a facsimile apparatus as a printing mechanism |
US3893075A (en) * | 1972-12-29 | 1975-07-01 | Richard Orban | Method and apparatus for digital scan conversion |
US3815104A (en) * | 1973-01-18 | 1974-06-04 | Lexitron Corp | Information processing system |
US3820123A (en) * | 1973-04-04 | 1974-06-25 | Quantor Corp | Laser microfilm recorder |
US3848232A (en) * | 1973-07-12 | 1974-11-12 | Omnitext Inc | Interpretive display processor |
US3864697A (en) * | 1973-07-25 | 1975-02-04 | Eastman Kodak Co | Non-impact printer |
US3868673A (en) * | 1973-08-14 | 1975-02-25 | Teletype Corp | Display apparatus including character enhancement |
US3955189A (en) * | 1974-07-24 | 1976-05-04 | Lear Siegler | Data display terminal having data storage and transfer apparatus employing matrix notation addressing |
US3896428A (en) * | 1974-09-03 | 1975-07-22 | Gte Information Syst Inc | Display apparatus with selective character width multiplication |
Cited By (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4132979A (en) * | 1976-12-15 | 1979-01-02 | Teletype Corporation | Method and apparatus for controlling a programmable logic array |
US4121196A (en) * | 1977-05-02 | 1978-10-17 | The United States Of America As Represented By The Secretary Of The Army | Data base update scheme |
US4339805A (en) * | 1978-09-18 | 1982-07-13 | Tokyo Shibaura Denki Kabushiki Kaisha | Information recording system |
US4231096A (en) * | 1978-10-10 | 1980-10-28 | Eltra Corporation | Digital typesetter |
EP0027566A2 (en) * | 1979-10-19 | 1981-04-29 | International Business Machines Corporation | Font selection and compression device for a printer subsystem |
US4353653A (en) * | 1979-10-19 | 1982-10-12 | International Business Machines Corporation | Font selection and compression for printer subsystem |
EP0027566A3 (en) * | 1979-10-19 | 1983-09-07 | International Business Machines Corporation | Font selection and compression device for a printer subsystem |
EP0048625A1 (en) * | 1980-09-22 | 1982-03-31 | Xerox Corporation | Printer interface unit with data transformation |
US4546449A (en) * | 1980-09-29 | 1985-10-08 | Canon Kabushiki Kaisha | Output device capable of automatically determining an output format |
US5930812A (en) * | 1980-09-29 | 1999-07-27 | Canon Kabushiki Kaisha | Word processing apparatus which adjusts character output position |
US4381553A (en) * | 1981-01-22 | 1983-04-26 | Mohawk Data Science Corp. | Programmable printer controller with multiline buffering and overstrike feature |
US4439761A (en) * | 1981-05-19 | 1984-03-27 | Bell Telephone Laboratories, Incorporated | Terminal generation of dynamically redefinable character sets |
US4527252A (en) * | 1981-06-05 | 1985-07-02 | Xerox Corporation | Character generator |
EP0090802A4 (en) * | 1981-10-14 | 1987-01-22 | Ibm | METHOD FOR MODIFYING PAGES IN A BUFFER-TYPE PRINTER SUBSYSTEM BY PARTIAL PAGES. |
EP0090802A1 (en) * | 1981-10-14 | 1983-10-12 | Ibm | METHOD FOR MODIFYING PAGES IN A BUFFER-TYPE PRINTER SUBSYSTEM BY PARTIAL PAGES. |
WO1983001521A1 (en) * | 1981-10-14 | 1983-04-28 | Disbrow, John, R. | A page modification method in a printer subsystem of the partial page buffer composing type |
US4470129A (en) * | 1982-01-29 | 1984-09-04 | International Business Machines Corporation | Page modification method in a printer subsystem of the partial page buffer composing type |
US4590585A (en) * | 1982-08-13 | 1986-05-20 | International Business Machines | Character generator for raster printer |
US4553860A (en) * | 1982-09-10 | 1985-11-19 | Brother Kogyo Kabushiki Kaisha | Text processing method and apparatus |
US4719592A (en) * | 1982-11-20 | 1988-01-12 | International Computers Limited | Sequence generator |
EP0115584A1 (en) * | 1983-01-10 | 1984-08-15 | International Business Machines Corporation | Image producing apparatus and methods of processing image-representing signals for use by such apparatus |
US4555802A (en) * | 1983-01-10 | 1985-11-26 | International Business Machines Corporation | Compaction and decompaction of non-coded information bearing signals |
US4648069A (en) * | 1983-03-07 | 1987-03-03 | International Business Machines Corporation | Character generator |
EP0131966A2 (en) * | 1983-07-18 | 1985-01-23 | Kanzaki Paper Manufacturing Company Limited | Form overlay type printing apparatus |
EP0131966A3 (en) * | 1983-07-18 | 1986-10-01 | Kanzaki Paper Manufacturing Company Limited | Form overlay type printing apparatus |
US4649513A (en) * | 1983-11-15 | 1987-03-10 | International Business Machines Corporation | Apparatus and method for processing system printing data records on a page printer |
US4870611A (en) * | 1983-11-15 | 1989-09-26 | International Business Machines Corporation | Apparatus and method for system printing mode control |
EP0173285A3 (en) * | 1984-08-31 | 1986-07-16 | Kabushiki Kaisha Toshiba | Dot-matrix printer with font cartridge unit |
EP0173285A2 (en) * | 1984-08-31 | 1986-03-05 | Kabushiki Kaisha Toshiba | Dot-matrix printer with font cartridge unit |
US4780711A (en) * | 1985-04-12 | 1988-10-25 | International Business Machines Corporation | Anti-aliasing of raster images using assumed boundary lines |
US4858114A (en) * | 1985-07-22 | 1989-08-15 | International Business Machines Corporation | Emulation system for automatically modifying I/O translation tables in programs designed to run on different types of computer |
EP0209693A3 (en) * | 1985-07-22 | 1988-06-15 | International Business Machines Corporation | Method of maintaining compatibility with different i/o types |
EP0209693A2 (en) * | 1985-07-22 | 1987-01-28 | International Business Machines Corporation | Method of maintaining compatibility with different I/O types |
EP0217449A1 (en) * | 1985-09-27 | 1987-04-08 | Océ-Nederland B.V. | Method for generating line segments |
US5282269A (en) * | 1985-09-27 | 1994-01-25 | Oce-Nederland B.V. | Raster image memory |
EP0217448A1 (en) * | 1985-09-27 | 1987-04-08 | Océ-Nederland B.V. | Raster image processor |
US4849910A (en) * | 1985-09-27 | 1989-07-18 | Oce-Nederland B.V. | Method for generating line segments |
EP0217447A1 (en) | 1985-09-27 | 1987-04-08 | Océ-Nederland B.V. | Raster image memory |
US4891768A (en) * | 1985-09-27 | 1990-01-02 | Oce-Nederland B.V. | Raster image processor |
EP0229412A1 (en) * | 1985-12-17 | 1987-07-22 | Océ-Nederland B.V. | A method of generating line parts |
US4905166A (en) * | 1985-12-17 | 1990-02-27 | Oce-Nederland B.V. | Method of generating line parts |
DE3707112C3 (de) * | 1986-03-05 | 1995-02-09 | Minolta Camera Kk | Zeichenbilderzeugungsschaltung |
DE3707112A1 (de) * | 1986-03-05 | 1987-11-26 | Minolta Camera Kk | Zeichenbilderzeugungsschaltung |
DE3707112C2 (hr) * | 1986-03-05 | 1990-03-08 | Minolta Camera K.K., Osaka, Jp | |
US5108206A (en) * | 1986-05-27 | 1992-04-28 | Canon Kabushiki Kaisha | Document outputting apparatus including means to randomly alter fonts |
US4825386A (en) * | 1986-08-25 | 1989-04-25 | Digital Equipment Corporation | Horizontal line processor of data to be printed dot sequentially |
AU609737B2 (en) * | 1986-08-25 | 1991-05-09 | Digital Equipment Corporation | Print engine drive interface |
WO1988001767A1 (en) * | 1986-08-25 | 1988-03-10 | Digital Equipment Corporation | Horizontal line processor of data to be printed out sequentially |
WO1988001768A1 (en) * | 1986-08-25 | 1988-03-10 | Digital Equipment Corporation | Print engine drive interface |
US5533453A (en) * | 1986-12-16 | 1996-07-09 | Advanced Licensing Limited Partnership | Method and apparatus for automatic numbering of forms on a rotary printing press |
US5178063A (en) * | 1986-12-16 | 1993-01-12 | L & C Family Partnership | Method and apparatus for automatic numbering of forms on a rotary printing press |
US5630032A (en) * | 1987-04-07 | 1997-05-13 | Minolta Camera Kabushiki Kaisha | Image generating apparatus having a memory for storing data and method of using same |
US4996649A (en) * | 1987-08-11 | 1991-02-26 | Minolta Camera Kabushiki Kaisha | Image processor capable of storing character images and graphic images in a memory and including a timer for ensuring image processing operations are carried out in a predetermined time period |
US4987550A (en) * | 1987-09-22 | 1991-01-22 | International Business Machines Corporation | Selective processing of a data stream based on font format |
US5140675A (en) * | 1987-10-30 | 1992-08-18 | Canon Kabushiki Kaisha | Printer controller apparatus interfacing with external data sources |
US5018081A (en) * | 1988-01-07 | 1991-05-21 | Minolta Camera Kabushiki Kaisha | Printer with automatic restart |
US4942541A (en) * | 1988-01-22 | 1990-07-17 | Oms, Inc. | Patchification system |
EP0356076A2 (en) * | 1988-08-19 | 1990-02-28 | Canon Kabushiki Kaisha | Pattern output apparatus |
US5675722A (en) * | 1988-08-19 | 1997-10-07 | Canon Kabushiki Kaisha | Pattern output apparatus |
EP0356076A3 (en) * | 1988-08-19 | 1990-12-27 | Canon Kabushiki Kaisha | Pattern output apparatus |
US4939670A (en) * | 1988-11-18 | 1990-07-03 | Unisys Corporation | PC driven print file utilities for mainframe computer printing |
US5039234A (en) * | 1989-03-29 | 1991-08-13 | Canon Kabushiki Kaisha | Document processing equipment |
US5035521A (en) * | 1990-02-06 | 1991-07-30 | Addressease, Inc. | Envelope printing mechanism |
US5080509A (en) * | 1990-02-06 | 1992-01-14 | Addressease, Inc. | Envelope printing mechanism |
US5219234A (en) * | 1990-10-02 | 1993-06-15 | Sharp Kabushiki Kaisha | Thermal printing device including jam detection means |
US5615316A (en) * | 1990-11-30 | 1997-03-25 | Hitachi, Ltd. | Printing control method and apparatus |
US5313577A (en) * | 1991-08-21 | 1994-05-17 | Digital Equipment Corporation | Translation of virtual addresses in a computer graphics system |
US5178070A (en) * | 1991-10-15 | 1993-01-12 | Ncr Corporation | Apparatus and method for controlling print timing operations |
US5559530A (en) * | 1992-06-15 | 1996-09-24 | Matsushita Electric Industrial Co., Ltd. | Image data processing apparatus |
US5941960A (en) * | 1993-11-16 | 1999-08-24 | Intel Corporation | Host initiated PCI burst writes utilizing posted write buffers |
US5897667A (en) * | 1993-11-16 | 1999-04-27 | Intel Corporation | Method and apparatus for transferring data received from a first bus in a non-burst manner to a second bus in a burst manner |
US5664117A (en) * | 1994-02-24 | 1997-09-02 | Intel Corporation | Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer |
US20040216046A1 (en) * | 1995-06-07 | 2004-10-28 | R.R. Donnelley & Sons Company | Imposition process and apparatus for variable imaging system |
US20040184102A1 (en) * | 2003-03-17 | 2004-09-23 | Toshiba Tec Kabushiki Kaisha | Image forming apparatus |
US20040233297A1 (en) * | 2003-05-21 | 2004-11-25 | Nec Corporation | Cellular phone, print system, and print method therefor |
US7542778B2 (en) * | 2003-05-21 | 2009-06-02 | Nec Corporation | Cellular phone, print system, and print method therefor |
US20050142468A1 (en) * | 2003-12-24 | 2005-06-30 | Eastman Kodak Company | Printing system, process, and product with a variable pantograph |
US7270918B2 (en) | 2003-12-24 | 2007-09-18 | Eastman Kodak Company | Printing system, process, and product with microprinting |
US20100313139A1 (en) * | 2009-06-03 | 2010-12-09 | Watfa Allie K | Binary interest vector for better audience targeting |
US8214390B2 (en) * | 2009-06-03 | 2012-07-03 | Yahoo! Inc. | Binary interest vector for better audience targeting |
Also Published As
Publication number | Publication date |
---|---|
JPS5696323A (en) | 1981-08-04 |
FR2290308A1 (fr) | 1976-06-04 |
BR7507445A (pt) | 1976-08-03 |
BE834406A (fr) | 1976-02-02 |
CH600435A5 (hr) | 1978-06-15 |
JPS5845051B2 (ja) | 1983-10-06 |
DE2550268B2 (de) | 1978-05-18 |
CA1042354A (en) | 1978-11-14 |
DE2550268C3 (de) | 1979-01-18 |
JPS573988B2 (hr) | 1982-01-23 |
SE7512443L (sv) | 1976-05-12 |
AR245836A1 (es) | 1994-02-28 |
IT1042376B (it) | 1980-01-30 |
FR2290308B1 (hr) | 1978-04-07 |
GB1477427A (en) | 1977-06-22 |
SE411491B (sv) | 1979-12-27 |
NL7512695A (nl) | 1976-05-13 |
JPS5171026A (hr) | 1976-06-19 |
DE2550268A1 (de) | 1976-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4031519A (en) | Printer | |
US4007442A (en) | Intermixed line heights and blank line formation in a buffered printer | |
CA1051349A (en) | Intermixed pitches in a buffered printer | |
US4079458A (en) | High resolution character generator | |
US4870611A (en) | Apparatus and method for system printing mode control | |
US4300206A (en) | Flexible text and image generator for a raster printer | |
US4476542A (en) | Printing system | |
US4470129A (en) | Page modification method in a printer subsystem of the partial page buffer composing type | |
US4005390A (en) | Merger and multiple translate tables in a buffered printer | |
US4359286A (en) | Character set expansion | |
US5136688A (en) | Print data processing apparatus for an image forming apparatus | |
JPS6280058A (ja) | 画像処理装置 | |
US4590585A (en) | Character generator for raster printer | |
EP0458612B1 (en) | Printing apparatus | |
EP0684546B1 (en) | Printing apparatus, printing system, and a method for acquiring character resources of the printing system | |
US4520455A (en) | Printing system | |
CA1180768A (en) | Raster image processor and method | |
US4475162A (en) | Output device for providing information by scan | |
EP0317996B1 (en) | Printer | |
US5360277A (en) | Label printer with selective memory update | |
JPS6035687B2 (ja) | プリントデ−タ制御装置 | |
CA1044609A (en) | Printer | |
US6002848A (en) | Band-based printing control system | |
US4490058A (en) | Line printer and type carrier for use therein | |
JP3107685B2 (ja) | 印刷データ送信方法 |