CA1100644A - Raster printer with sufficient printing flexibility - Google Patents

Raster printer with sufficient printing flexibility

Info

Publication number
CA1100644A
CA1100644A CA300,169A CA300169A CA1100644A CA 1100644 A CA1100644 A CA 1100644A CA 300169 A CA300169 A CA 300169A CA 1100644 A CA1100644 A CA 1100644A
Authority
CA
Canada
Prior art keywords
data
character
page
scan
pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA300,169A
Other languages
French (fr)
Inventor
James G. Belleson
John R. Disbrow
Everett T. Eiselen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of CA1100644A publication Critical patent/CA1100644A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/004Generic data transformation
    • G06K2215/0042Rasterisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Dot-Matrix Printers And Others (AREA)

Abstract

RASTER PRINTER WITH SUFFICIENT PRINTING FLEXIBILITY
Abstract of the Disclosure A raster printer is provided with sufficient flexibility so that text data and image data of any size and orientation can be placed at any position on a page. Input data comprises a succession of coded character data long with control data which specifies information con-cerning font selection and the placement of the characters on the page.
Control means is provided to process the input data, one character at a time, and generate for each of the characters, data relating to the position of the character on the page, the size of the character and the address in storage of the graphic pattern for the character. The data is utilized by pattern move control means to access the graphic pattern in the order the characters are to be printed and move the graphic data to a strip buffer means. Data is read out of the strip buffer to ener-gize imaging apparatus to print a page corresponding to the graphic pattern of the input character data. Accumulator means are provided as a temporary storage for parts of the graphic pattern data and this data is logically ORed with later data so that a page of unlimited complexity can be printed.

Description

Background of the Inventio_ The present invention relates to raster printers of the type which print text and image data in response to coded digital input data and more particularly to such printers which have the ability ~o place variable sized characters anywhere on a printed page, irrespective of the order in which the characters are received at the printer.
Printers of the type which print graphic characters in response to coded character data in binary form have -found widesprPad use in many data processing operations and systems. Such printers respond ~o the incoming coded character data to physically print the graphic characters represented by the character data as defined by the code thereof. The printing operation can assume various different forms including the well known impact printer _.. ___ ._~ . ~, , .. _~, _ .. __ _ _ . .... .... . -- .. _ ___ .. , ~: v , .

~, ` .

:

1 in which the graphic character is produced by the selection of a piece
2 of type which strikes the paper or other printable medium to produce the
3 desired graphic character. There has also been in the prior art different
4 non-impact printers in which the graphic character data is produced on the printable medium by the deposition of some marking medium on the paper 6 without physical impact of a piece of type or other similar device.
7 Prior art printers of the ~ype described suffer from a number of 8 disadvantages which often limit their usefulness. One limitation of such g printers relates to the limitation of the number of fonts they could pro-duce and a restriction in their flexibility of placing characters on the 11 printed page. For example, it has not been possible in prior art printers 12 to print a sequence of characters that can proceed in any direction, up, 13 down, left or right, and a printer in which the character size can be 14 chanyed at any time.
~rief Description of the Invention 16 The present invention provides for a raster printer with sufficient 17 flexibility so that characters of any size can be placed at any position on 18 the page comprising means for receiving input data in the form of a succes-1g sion of coded character data with control data and processing the character data in response to the control data coded characters one at a time to 21 translate the characters into data which defines the size of the graphic 22 coded characters, the position in storage of the graphic coded pattern and 23 the position on the page where the pattern is to be printed. The data is assembl~d in a strip buffer means which has the capacity to store a part of a page, second control means are operable in response to the position 26 indicating group of data for accessing the character data from storage and 27 moving it into the position in the strip buffer means defined by the loca-28 tion specifying part of the data. The data is removed from the buffer 29 means and coupled to an imaging device to print the graphic data repre-sented by the input data.
- 5~9760~l -2-1 Brief Description of the Drawin~s 2 FIGURE l is a basic block diagram showiny the manner in which printers 3 according to the invention are coupled to a data processing unit via a main 4 channel, FIGURE 2 is a block diagram of the basic components comprising the
6 printer shown in Figure l;
7 FIGURE 3 is a diagram showing the printing flexibility of the printer
8 according to the invention;
g FIGURE 4 is a block diagram of the basic components comprising the 1~ raster image generator of Figure 2;
11 FIGURE 5 is a block diagram of the data flow for the control means for12 the printer;
13 FIGURE 6 is a diagram showing a conceptual operation of the strip .l4 buffer, FIGURES 7A and 7B are diagrams illustrating the pattern shifter opera-16 tion;
17 FIGURE 8 shows a diagram of a specific embodiment of the sorting 18 arrangement for printing text data along the scan line direction;
19 FIGURE 9 is a diagram of a page printed along the scan line direction;FIGURE lO shows a diagram of the specific embodiment of the arrange-21 ment for sorting the characters for printing text dataacross the scan l~ine22 direction.
23 FIGURE ll is a diagram of a page printed across the scan line direction;
24 FIGURE l2 is a diagram showing an example of the use of text data along with embedded control data;
26 FIGURE l3 is a diagram showing the layout of the scan line storage in 27 the strip buffer;
28 Detailed Description of the Preferred Embodiment 29 Figure l illustrates a data processing system lO which includes a printer in accordance with the invention coupled to a main channel l~ of a data processing 4~1 .
1 unit or computer 16. The printer 12 comprises an input/output device and 2 the main channel 14 may be and is typically coupled to other input/output 3 devices illustrated as 18 in Figure 1.
~ The general operation of the data processing system 10 in conjunction with the printer 12 may be as described in IBM System/370 Principles of 6 Operations, form GA 22-700, published by International Business Machines 7 Corporation. As described in that publication, the data processing unlt 16 8 which typically includes a central processing unit and a main store, communi-g cates with a printer and other input/output devices 18 via the main channel 14. Character code bytes, each of which represents a different character or 11 image to be printed by the printer 12, are originated in the data processing 12 unit 16 and are communicated to the printer 12 under control of a channel 13 command word sent to the main channel 14. Some control data is also included L4 with the character data. Other channel command words originating in the data processing unit 16 include certain operating constants used in the 16 printer 12 and certain instructions for the operation of the printer 12.
17 Figure 2 shows the basic arrangement of the printer 12 of Figure 1 18 according to the invention. The printer 12 includes a system adapter 20 19 which is coupled to the main channel 14 via a channel attachment providing appropriate interface between the main channel 14 and the printer 12. Data 21 from the data processing unit 16 is communicated over the main channel to 22 the channel attachment where it is carried by the external registers 22 to 23 microprocessor 24 on its way from the channel to the control store 26. The24 printer can handle a data record from the channel of up to 2,000 bytes of ~5 data. The external registers 22 also provide data to the raster pattern 26 memory 38, the raster image generator 28 and to imaging apparatus 32 by 27 means of the process control adapter 34.
2~ The imaging apparatus 32 in a preferred embodiment comprises apparatus29 responsive to a modulated laser scan for coating toner on the areas of a print drum discharged by the laser and transferring the toner onto paper, but SA976041 ~4~

i4~

1 the imaging apparatus may comprise any appropriate raster printer apparatus 2 which prints the desired character graphics in response to the character data.
3 The microprocessor 24 stores the data from the data processing unit 4 and executes the instructions provided by the various micro routines of microprograms loaded by the printer's user from a disk storage device 36.
6 The printer is controlled by the microprocessor by the use of the external 7 registers as the interface for controlling the devices associated with it, 8 and these devices include the attachment 20 to the host system. It will be g recognized by those skilled in the art that the printer could also be con-trolled by hard wired logic circuits. The process control ad`apter 34 is the 11 interface to the imaging apparatus, and the microprocessor controls the 12 printing through this interface. The adapter 34 provides control of the 1l paper, signals for starting of the printing process and it alerts the micro-14 processor relative to the status signals from the imaging apparatus. In addition, the adapter transfers to the microprocessor signals representing 16 all actions that occur at the operator's panel and passes back to the 17 adapter signals to control the appropriate lights on the control panel.
18 The raster image generator 28 creates the page being printed. The 19 microprocessor interprets the controls passed from the host system and prepares the page for printing. The microprocessor then takes an active 21 part in the process of printing the page. The character patterns used 22 during printing are held in the raster pattern memory (RPM~ 38 which must 23 have been loaded by the microprocessor before printing can take place. The24 auxiliary storage device 36 is used for the initial microprogram load operation and also for storage of diagnostics programs and error logs.
26 The microprocessor controls all seeks and data flow in the auxiliary 27 storage device.
2B The way in which the raster image generator creates the page to be 29 printed can be understood by referring to Figure 4. The microprocessor controls the raster image generator through a set of the external registers.

~L~q3¢~6 ~ ~

1 These registers permit the microprocessor to be loading the control parameters 2 for the next pattern while the current pattern is being moved from the 3 raster pattern memory 38 into the strip buffer 40. After the microprocessor4 has loaded all the control parameters, it sets a synchronization bit that s permits the pattern moving process to begin. After a pattern has been 6 moved, the raster image generator alerts the microprocessor so that the 7 parameter registers can be reloaded. The data available from the micro-8 processor includes the starting scan and the starting pel parameters, the
9 scans per pattern and the pels per scan give the size of the pattern. The pattern address tells where the pattern to be placed on the page can be 11 found in the raster pattern memory 38. The synchronization control keeps 12 the microprocessor program and the pattern moving process in step with each13 other.
14 There are four major elements in the raster image generator as shown in Figure 4. The raster pattern memory 38 holds the raster patterns that 1~ are to be placed on the page. It contains character patterns, raster image17 fields and patterns used for generating rules or lines. The user can view 18 the printer as providing a full page raster buffer into which the page is 19 created. In reality, the raster imaye generator has a buffer that covers 20 only a small fraction of the page. The page is created in this strip 21 buffer 40, and at the same time, sent to the imaging apparatus or to the 22 accumulator~disk. The pattern shifter 42 properly positions each scan line23 of pattern along the scan relative to the word structure of the strip 24 buFfer. the pattern move control 44 causes the transfer of the pattern 25 from the raster pattern memory 38 through the pattern shifter 42 and into 26 the strip buffer 40. The data is then printed from the strip buffer.
27 Thus, the printer is capable of printing a page with a very flexible 28 format. A page layout showing the variety of formats is shown in Figure 3.
29 For example, a line of data 50 at the top of the page is printed across the scan direction, whereas this same line of printing 5l is shown printed 64~

1 along the scan direction. In addition to the text data~ the printer is 2 capable of printing raster lmage data at any place on the page~ such as the 3 `image data ~2 and line segment patterns that are used for drawing rules 4 such as vertical rule 54 or horizontal rule 56 can also be printed with this printer. The patterns are formed by a series of scans along the page, 6 and successive scans are displaced so that the entire page can be printed by7 successive scans. The size of the characters is defined from a particular 8 place such as the starting scan and starting pel which are located at the 9 corner 58 of the "A" in Figure 3. The dimension of the pattern along the scan direction is defined in terms o-f picture elements ~pels), whereas 11 orthogonal to the scan direction the dimension of the character is defined 12 in terms of the number of scans. Character patterns can be either 32 or l613 pels per scan, and if the character requires more than 32 pels then it is 14 made up of multiple subpatterns which are treated by the hardware as mul-tiple separate characters. Any pattern can have a maximum number of scan 16 lines which is a limitation imposed by the size of the strip buffer. For 17 example, for a strip buffer which has storage for l28 scan lines, the 18 pattern can have a maximum of 64 scan lines, so that one pattern is being 19 printed out of the strip buffer while the next pattern is being loaded into the strip buffer.
21 Character patterns are stored in groups of related characters of the 22 same size and style called a font. Fonts are stored in 2,000-byte blocks 23 Of storage and the patterns may not span the boundaries between 2,000-byte 24 blocks. There is a font index associated with each font, and this index ~5 contains information that pertains to all the characters in the font, such 26 as baseline offset, for example, and information that is unique to each 27 character. The microprogram which prepares the page for printing uses the 28 index for converting from EBCDIC codes to pattern addresses and for the 1 other controls required to build the page. The index consists of 256 2 entries, although only 254 codes can be used for printable patterns because 3 one code is reserved for an escape to a control sequence and a second code 4 is used for designating a blank. A font index is held in control store for each font that is active in the current page.
6 Raster images are broken down into square subarrays and these subarrays7 can then be handled by the hardware just like character patterns, and the 8 normal image subarray is 32 pels by 32 scans. The patterns used for drawingg rules are created in 32 by 32 squares, and the patterns are used for drawingboth rules along the scans and rules across the scans. The first pattern 11 has one black pel per scan line. Each subsequent pattern increases by one 12 the number of black pels per scan. The last pattern has all 32 pels per 13 scan black. A complete set of rule patterns consists oF 32 patterns and 14 requires 4,000 bytes of raster pattern memory storage.
The raster image to be printed is created in the strip buffer. In the 16 embodiment described, the strip buffer covers only a small fraction of the 17 page, since it contains only 128 scan lines. Depending on the resolution, 18 this strip buffer capabity would normally provide data for printing only a 19 fraction of an inch of the page. The conceptual operation of the strip buffer is illustrated in Figure 6 as a cylinder 70 ~here scan line 127 21 wraps back to scan line 0. The printing takes place from those scan lines Z2 76 filled and ready for printing as the strip buffer rolls across the plane23 of the page being printed. The data on the scan line at the contact point 24 is sent to the imaging apparatus. As each scan line is printed, the cylinder, in effect, rolls one scan line position. Since each scan line 26 position in the strip buffer is used several times during the printing of 27 the page, after sending data to the imaging apparatus, that position in the28 scan line is set to zero. The entire character patterns such as the A 80 29 are loaded into the scan lines 74 that have been cleared after printing.
The loading process begins at the current starting scan line (depicted by 1 dotted line 78) and moves into the cleared area 74 toward the place where 2 data is being sent to the printer (as depicted by arrow 72~. The current 3 starting scan line 78 is prevented from moving closer than 64 scan lines ~ From the printing scan so that the largest character pattern can be lbaded without interfering with the printing process. If the distribution of the 6 data on the page would cause the starting scan to move into the 64 scan 7 work area, it must pause and wait for the printer to finish with enough a scan lines so that the 64 scan line work area can be preserved. On the 9 other hand~ the printer must not be permitted to catch up to the starting scan. If the distribution of the data on the page would causè the printer 11 to catch up with the starting scan, then an overrun condition would exist.
1~. Overrun must be avoided, because, in a synchronous printer such as an 13 electrophotographic printer, it would result in a bad page being printed.
14 Overrun can be avoided by sending the raster image to the accumulator means go before printing.
16 The strip buffer accesses a pair of 32-bit words at a time. The 17 pattern can have either 16 or 32 bits per scan and can be positioned to an 18 arbitrary pel within a scan. The purpose of the pattern shifter is to 19 properly position patterns with respect to the 32-bit word structure of the strip buffer. Before explaining the operation of the pattern shifter, it 21 is necessary to understand the organization of the strip buffer. The strip ~2 buffer 40 is divided into two halves, each one word wide as shown in the 23 specific embodiment of Figure 5. Both section A 60 and B 62 are accessed ~4 each time the strip buffer is read or written, hence the input and output registers can be treated as single units. The two sectlons have separate, 26 but coordinated, address registers 64, 66 where the address of Section A 64 27 is either equal to the address of section B 66 or is one greater than the 28 address of Section B. The pels in a scan line are arranged into 32-bit 29 words which alternate between Sections A and B of the strip buffer as shown in Figure 13.

1 The input to the pattern shifter 42 is 32 bits wide and the output of 2 the pattern shifter is 64 bits wide. Pel zero of the input can be posi-3 tioned to any of the 64 pel positions oF the output as shown in the two 4 cases illustrated in Figures 7A and 7B. The following 3l pels of the input will then fall in the following 3l pel positions of the output. All other 6 pel positions of the output are set to zero. If pel zero of the input is 7 shifted less than 32 positions as shown in Figure 7A, then the following 8 pels fall in contiguous positions of the output from the pattern shi~ter g and will be written correctly into the strip buffer by setting the address for Section A equal to the address for Section B. If pel zero of the input 11 is shifted 32 or more positions, but less than 64 positions, as shown in 12 Figure 7B, then instead of letting some of the following pels fall off the 13 end of the pattern shifter they are wrapped around the low order output pel~4 positions as though positioned modulo 64. ~n this case, pels from the 1~ pattern shifter are written correctly into the strip buffer by setting the 16 address for Section A to one greater than the address for Section B. The 17 lowest six bits of the starting pel parameter specify the output pel posi~
18 tion into which pel zero of the input is placed. The presence of a bit in 19 posi~ion with a weight of 32 in the starting pel parameter spec;fies that the address for section A is one greater than the address for section B.
21 Whenever data is written in to the strip buffer, the contents of the strip ~2 buffer in that position is read out and logically ORed by ORs 46, 48 with 23 the new data before being written back into the strip buffer. This process24 is required to avoid destroying patterns previously positioned w;thin the span of the eiyht bytes accessed in the strip buffer, and also gives the 26 automatic overstrike capability for characters such as 59 in Figure 3 and 27 the kerning function for characters such as 49 in Figure 3.
28 The data from the strip buffer goes to parallel to serial converter 69 29 where it is converted to a serial bit stream on line 71. By means of switching means 82 and 8~, the serial bit stream can be directed either SA976041 -lO-1 on line $9 to control the imaging apparatus 32 for printing or to accu-2 mulator means 90 for temporary storage.
3 Accumulator means 90 comprises any suitable memory having the capacity 4 to store a full bit image of a page so that a page of unlimited complexity 5 can be printed. In the preferred embodiment, accumulator means 90 is a 6 monolythic memory. As shown by the chart below, the data can be written 7 into the accumulator through OR circuit 86 by placing switch ~2 in position 8 a and switch 84 in position b. Additional data can be ORed into the accu-g mulator means by placing both switches 82, 84 in position a. To OR, by means of OR circuit 88, the accumulator data with new data on line 71 and 11 print, switch 82 is placed in position b and switch 84 is in position c.
12 When both switches are in position b, the data from line 71 is directed to 13 olltpUt line 89 and the accumulator means is not used.
14 Modes Switch 82 Switch 84 Operation -I a b Write Data into Accumulator 16 II a a OR additional Data into Accumulator 17 III b c OR Accumulator Data with Ncw Data 18 and Print 19 IV b b Accumulator not used The pattern move control 44 causes the proper number of scans for a 21 pattern to be moved from the raster pattern memory throl~gh the pattern ~2 shifter to get them properly positioned along the scan line and placed into 23 the strip buffer. The pattern move control is concerned with the ~hree ~4 hardware data types. In the first type, each 32-bit word of the RPM holdsone scan line of a 32 pel pattern. The scan lines are taken one at a time and passed directly to the pattern shifter. The RPM address is incremented 27 as each scan line of the pattern is handled. In the second data type, each 28 word of the RPM holds two scan lines of a 16-pel character. The first 16 29 pels are passed to the shifter left justified and the remaining pels to the ~ .

G~

l shifter input are set to zero. After these pels have been written into the 2 strip buffer, the pattern move control takes the second 16 pels in the RPM
3 word, left Justifies them, blanks the remaining input pels and writes these 4 into the next scan line in the strip buffer. The RPM address is incrementedas each pair of scan lines in the pattern is handled. In the third data 6 type, each word of the RPM holds two scans of the subarray for low resolu-7 tion raster image data. The first 16 pels are handled first. Each pel is 8 doubled which expands this data to the full 32-pel width of the pattern 9 shifter input. These 32 pels are then written twice into the strip buffer on sequential scan lines. Having completed the size doubling` of the first ll halfword from the RPM, the pattern move control performs the same operation12 on the second halfword. The RPM address is incremented as each pair of 13 scan lines of the low resolution pattern is handled. The pattern move 14 control adjusts the offset in the pattern shiFter to properly position the scan line of the pattern with respect to the word structure of the strip 16 buffer. The pattern move control selects the proper word along the scan 17 line in the strip buffer for placing the output of the shifter. When 18 necessary, it causes the address in the two sections of the strip buffer tol9 be offset from each other. The pattern move control increments the scan position in the strip buffer as each scan is placed into it. It also 21 decrements the scan counter as each scan line is transferred to the strip 22 buffer and terminates the pattern transfer when the scan count equals zero.23 The pattern move control also handles the movement of data from the strip 24 buffer to the imaging apparatus.
In the embodiment shown, the pattern move contro1 44 comprises a 26 number of registers and data is loaded into each of these registers by the 27 microprocessor as a preparatory step in each character move operation. The28 starting scan is loaded into register 91 from the scan table. The pattern29 address table supplies the data for starting pel for register 92, scans per for register 93, pels per for register 94, some data for the mode control 6~

1 register 95 and the RPM address for register 96. The mode control provides 2 the control signal to actuate double dot control 97 if required.
3 The raster image of the page is generated in the 128 scan line range 4 of the strip bufFer at the same time the page is being printed. This dynamic process dictates that all the raster patterns that start on the 6 same scan line must be placed in the strip buffer before moving on to the 7 raster patterns that star~ on the next scan line. This means that as the 8 page is printed, the raster patterns must be handled in starting scan line 9 sequence. There is no guarantee that the data generated by the host appli-cation program will be in the sequence of ascending starting scan. In 11 some cases the data from the host processor will be in order and, if so, a 12 bit in the associated channel control word will indicate this to the printer.
13 In this case, the printer does not process the data to put it in order, but14 merely prints the data in the sequence the data was transmitted over the channel. However, in most cases, the data will not be sorted in this order.
16 For example, in line 51 of the text in Figure 3, the first character 17 to be printed is the H. ~owever, the sixth character box 53 in the line 18 represents a character having a superscript. Although this character is 19 the sixth character in the line, it is printed second since it starts at a scan line prior to characters 55 which all start at the same scan line.
21 Character box 57 represents a character having a subscript and consequently22 starts at a later scan line and smaller character boxes 61 also start at 23 this scan line.
24 The printer provides an efficient and flexible means for assuring 25 that raster patterns will be handled in starting scan line sequence when 26 the page is being printed. Flexibility of the technique used makes it a 27 matter of total indifference in which sequence the data arrives. This 28 flexibility makes it possible for the printer to print data in two direc-29 tions on a page and to shift the baseline at any time. The technique developed for the printer makes use of linked lists with one list for each SA976041 l 3 r 1 scan line in the page. The collection of list heads is called a scan 2 table. The list head for each scan line points to one of two places, it 3 can point to the list head for the next scan line if there are no raster 4 patterns to be printed starting on that scan line, or it can point to a table entry for the most recently received pattern to start on that scan 6 line. There is a second table used in the printer sorting process. This 7 table contains an entry for each character to be printed on a page, for - 8 each segment of a rule, and for each subarray of a raster image. This g table is called the pattern address table. Examples showing the pattern 1~ address table entries for the page formats shown in Figures 9 and 11 are 11 shown below:
12Fixed or Proportional Latin Across 13j ooO01 START PEL ¦ SCANS ¦PEL i Do character table next 14RPM ADDR I _ NEXT CHAR ADDR
16 I ooo~I START PEL I SCANS ¦PEL Do Scan table next 17 ¦ RPM ADDR

19 Proportional Latin Along I ~oooI START PEL I SCANS ¦PE~
. , .. _ ...... . . ..
21 RpM ADDR
22 The position of the character along the scan is defined by the starting 23 pel, the size of the character is defined by the number of scans and by the 2~ pel count, and the address of the graphic character pattern is provided by the RPM addressO
26 In certain implementations it might be more efficién-t to include an additional scan line field for each character in the pattern address table r 28 and then to reorder this pattern address table into print sequence. Re-29 ordering could be achieved by a traditional arithmetic sort using the corresponding scan line fields or by associative memory using the scan line :, 1 field as the search argument.
2 Pattern address tab1e entries can also be prepared for other types of 3 data to be printed such as the single pel and the double pel raster data.
4 In addition, foreign language data such as Kanji can be processed in this mannerO Entries are added at the end of the pattern address table as they 6 are encountered in the input stream. Each entry contains all the infor-7 mation necessary to place the associated pattern in the proper place on the8 page~ that is, starting location, size and address of the pattern. When a g request for a pattern is encountered in the input data streami the first task is to determine on which scan line it starts. The entry for it is 11 then linked to the list head for that scan line. The entry is next linked 12 to one of two places - it can point to the previous member of the list that 13 contains all the raster patterns that start on the current scan line, or lt14 can point to the list head for the next scan line, when this is the first entry to be encountered for the current scan line. The process of prepar-16 ing the page for printing consists of building the pattern address table, 17 updating the scan table and loading into the raster pattern memory any new 18 fonts and any image subarrays required for that page. The result of the 19 page preparation process is linked lists that permit all the patterns on the page to be handled in starting scan line sequence. When printing be-21 gins, the characters are taken a list at a time and their patterns are 22 shifted into the correct position in the strip buffer.
23 Two tables of instructions are built and placed in the control store, 24 and these two tables are linked together by branch operations. The first table is called the scan table. There is one entry for each scan line.
26 All of the characters which are to begin on that scan line are linked into 27 this ent.^y. The manner in which the pattern address table is built is 2~ determined by the orientation of the printing. One example is shown in 29 Figure 8 for the "along scan line" printing in which text runs parallel to the scan line as shown in the page layout in Figure 9 SA9760~1 -15-1 First of all, the scan table is prepared which defines the characters ~ which start at that particular scan line. Scan lines 0 and l are blank, 3 and on scan line 2 there is a branch to address P+0. At address P+0 a 4 proportional along (PAL) instruction is encountered. This instruction s causes the printing of a letter A. The pel displacement along that scan 6 line comes as a parameter of the instruction. The processor then goes to 7 the next sequential instruction at address P+l. This instruction causes 8 the printing of the letter L. The operation is similar for the letters 0, 9 N and G. Next a branch (BR) instruction is encountered which returns to the next line in the scan table. This process is continued uhtil the lines 11 of text are printed. Generally, text data will require a large number of 12 scan lines, but small numbers have been used here for ease of illustration.L3 The across scan line example in Figure lO begins in the same manner asL4 the other example; however, at scan line 2, a branch to address P+lO is encountered, and this is an ;nstruction to print the letter E from the word 16 "example." The implicit branch links back to an instruction to print the 17 letter S from the word "scan" and a further branch links back to an instruc-18 tion to print the letter A from the word "across.l' The final implicit 19 branch links back to the next scan line in the scan table. The ACR~SS
IrlSTRUCTION (AC) has a branch address field which provides the implicit 21 branch.
, .
22 Thus, it can be seen that by using this two-table str~cture, both 23 orientations of text data can be combined upon the same page. As each ~ -^
24 character in a text stream is received, it is placed at the end of the pattern address table. Its scan line number is computed, and it is linked 26 into the appropriate list. If this is "across" scan text, then linking 27 involves a change to an address in the Scan Table and the addition of the 28 implicit branch address. Howe~er, if this is "along" scan text, then only 29 the initial character in each line requires a scan table modification, the inte~mediate characters are linked by their sequence in the Character SA9760~1 -l6-1 Table, and the final character requires the additional branch instruction.
2 Both orientations of text use essentially the same linking mechanism, and 3 both can be done in the same scan and pattern address tables.
~ The microprocessor is intimately involved in the process of printing the page. The microprocessor loads the external registers that control the 6 placement of each pattern on the page. Then, based on the parame~ers 7 loaded into the control registers, the hardware moves the pattern from the 8 RPM into the strip buffer. The control reigsters specify the starting 9 scan, the starting pel, the number of scans in the pattern and whether l6 or 32 pels per scan and, if l6 p~els, whether size doubling is re~uired, the 11 RPM address where the pattern is stored and synchronization signals. The 12 synchronization signals keep the pattern-moving hardware and the micro-13 program in step with each other. There is a two-level stack of control 14 registers so that while one pattern is being moved from the RP~ to the strip buffer, the microprocessor can be loading the other set of registers 16 with the move parameters for the next character. The last step performed 17 by the microprocessor in the loading of the registers is to turn on a 18 "ready to print" synchronization signal. Before the hardware starts to 19 move the next pattern it checks the ready to print indicator to make sure all the parameters have been loaded. It is quite possible that on small 21 characters and lines the pattern move can be completed before the micro-22 progra~ has 'loaded the next set of parameters. If the hardware must wait 23 for a ready to print signal, the pattern move process will begin as soon as24 the signal is received. When the pattern move process is completed, the processor is alerted to the fact that the pattern move control registers ~6 are ready for reloading. While the page is being printed, the microprocessor 27 is also signaled after the printer completes each scan line. In this way 28 t~le microprocessor keeps track of where the printer is in printing the 29 page. The microprocessor can then force a pause in the character moving process, if necessary, to keep from overrunning the position of the printer.

SA976041 l7 1 Wnen a pause is initiated to prevent overrun, the pause is terminated when 2 the signal indicates that the printer is far enough ahead to permit the 3 pattern moving to resume. If the raster image accumulator is used to merge 4 data with the print data, then the microprocessor is signaled at the end of each data transfer from the accumulator and the microprocessor controls the 6 next data transfer. The microprocessor also controls the processes of 7 loading print data into the raster ;mage accumulator and the combining of 8 print data with data already stored in the accumulator. Loading the accumu-lator is just like printing except that data goes to the accumulator in-11 stead of to the imaging apparatus using the options shown in Figure 5.
12 The printer attaches to a System/370 channel. It is controlled by the13 host system through an extensive set of channel commands. There are four 14 different types of channel commands which include write commands, load and delete commands, status commands and control commands. The write commands 16 are provided for transferring data to the printer l2 from the data proces-17 sing unit l6. The printer utilizes four ~rite channel commands - two are 18 for text printing and two are for imaging. A write text control command 19 prepares the printer to receive anywhere from a few characters of text dataup to an entire data set. Text data is transmitted by a succession of 21 write text commands. Each write text command can transmit a block of text 22 data and imbedded control codes.
23 A write image control command prepares the printer to receive one 24 image rectangle. The imag~ data is transmitted by a series of write image commands, which immediately follo~ the write image control. For either 26 text or image9 the control command orients the data on the page. Data is 27 oriented using an XY coordinate system and, in the case of normal printing, 2S such as this page, the ori~in of the XY coordinates would have been at the 29 upper left hand corner o~ the logical page constructed by the channel commands.

SA976041 -l8-1 Before the printer accepts a Write Text command, it must know the 2 orientation of the text upon the printed page, the units in which movement 3 along and between lines has been expressed and the characters that are used 4 for making a blank space and escaping to a control sequence. These parameters ~ are defined by the write text control channel command. This channel 6 command transmits an eight-byte control record. The first two bytes es-7 tablish text orientation, next four bytes establish the units of measure 8 and the final two bytes establish the two special character codes. The 9 purpose of the two orientation bytes is to establish the line direction and the line sequence of the text to be provided with subsequent write text 11 channel commands. The printer defines two combinations of line direction 12 and line sequence. One of these is defined as upright and the other is 13 defined as sideways. The first byte defines line direction and a line can 14 be thought of as growing in the direction along which successive charactersare added. This is called the line direction. The second byte determines 1~ the line seouence. A page of text can be thought of as growing in the 17 direction in which successi~e lines of text are normally being added. This18 direction is called the line sequence. Line sequence is always orthogonal 19 to line direction. Each of the two orientation bytes contains an encoding of one of the four directions +X, +Y, -X or -Y. These directions are 21 represented by 0, 60, 120 and 180 and are encoded as Hex 00, Hex 3C, Hex 7822 and Hex B4; Thus, for upright pages, such as the one you are now reading, 23 the control bytes are Hex 00, Hex 3C for +X and +Y. In the case of the 24 sideways page sample, the line direction is -Y and the line sequence is +X.
In this case, the control bytes are Hex B4 and Hex 00. The user of the 26 write text channel command is not concerned about X and Y. In the upright 27 case, the line direction is +X, while in the sideways case it is -Y. Thus,28 by the setting of the first two bytes of the write text control channel 29 command, the user establishes how the "as oriented for reading" text is tsoe printed by the printer with its X and Y coordinate system. The embedded SA97604l lg 69L~

1 controls of the write -text command will be defined later. These embedded 2 controls give text positioning in~ormation measured along the two directions3 defined in the control bytes described above. In the preferred embodiment 4 of this printer, these directions are the customary directions on a page oriented for reading. The line direction is horizontal with new characters 6 being added on the right. The line sequence is vertical with new lines 7 being added successively lower down the page. Positioning information 8 along the line direction is given in in-line units (I units). The purpose g o~ the control bytes below is to define how many picture elements (pels) lQ will constitute one I unit. A picture element is a single bl`ack or white 11 dot. The printer prints at the rate of 240 pels per inch in both the X and12 Y direction. The in-line unit may be defined to be one pel or two pels or 13 any number up to 255 pels. Byte three of the write text control channel 14 command specifies the number of pels in an in-line unit in binary notation.Byte 5 specifies the number of pels in a baseline unit in binary notation.
16 A text stream is made up of a sequence of eight-bit character codes. Two 17 of the 256 possible character codes are reserved for special purposes.
18 They cannot be used to print a character. One is the character code re-19 served for making a blank space (SP) and the other is the character code used to escape to a control sequence (ESC). In an EBCDIC text stream a Hex 21 40 is interpreted to be a blank space; however, other codes can be used as 22 the space character in this printer, and this one-byte code is included in 23 byte 6 of the channel command. Byte 7 includes the one-byte parameter that2~ w111 cause an escape to a control sequence. The contents of byte 7 cannot be the same as the contents of byte 6. In the example shown in Figure ll, ~6 the blank space code is Hex 40 and the escape character (ESC) is Hex 27.
27 Most curren~ printers transfer a line of printing for each channel ?8 command word used; however, the channel com~and word in this printer will 29 accept whole blocks of text. The text can consist of any string of eight-bit characters~ All Hex patterns, except those for SP and -for ESC, are 4~

1 translated for printing by the font index table for the font previously ~ selected by a control code. A control code is a sequence of two or more 3 Hex bytes. The first byte is the escape character ESC which, in our example, 4 is Hex 27. The second byte defines the particular control code.
There are several control codes that can be transmitted with text data 6 by a write text command as an embedded command. These controls can be 7 broken into three groups as follows: in-line codes which control the move-8 ment of characters along a text line; codes for controlling the movement of g the baseline down the page; and miscellaneous codes.
The in-line control group includes codes which control in-line movement.
11 In-line refers to movement in or along the line of text, thus, a space ~2 action is an in-line movement. In-line displacements are measured from the13 edge where each successive character recedes. In the two orientations 14 utilized by this printer, the in-line reference edge is the left edge of the page when the page is oriented for reading. The control Set In-Line 16 Margin specifies the location of the left margin. This is a two-byte 17 parameter and the first line bf text and each new line following an End of 18 Line control will start at the current left margin. This group of codes 19 includes the following: the Set Letter Space is a con~rol which alters thenumber of pels to be skipped after each printed character. The Set Blank 21 Value control specifies the number of units to be skipped when a blank 22 space character is found. The control Absolute Move In Line is used to move to a particular horizontal position in a line as measured from the 2~ left edge of the page. The Relative Move In Line (RMI) control is used to move move to a new horizontal position in a line. The End-Of-Line control marks 2~ the end of a line of text. The printer presumes that the text which follows 27 is to begin at the left margin on a new line.
28 The next group includes codes relating to baseline movement. The 29 baseline is usually defined as the imaginary line upon which characters andwords appear to rest. Thus, the letter s just rests upon the baseline, SA97~041 -2l-1 whereas the round part of the letter p appears to rest on the baseline 2 while its descender projects below the baseline. Displacements in the 3 baseline are measured from the edge of the paper from which successive 4 lines of text ordinarily recede, that is, in the line sequence direction.
This group of codes includes the following: the Set Baseline Margin control ~ specifies the location of the first baseline on the page. This-control is 7 a two-byte parameter which defines the first line of text on each new page 8 or write text command control will start on this baseline. The command Set g Baseline Spacing determines the amount of space an end-of line control causes to occur between printed lines. The Absolute MoYe Baseline control 11 is used to move the base line to a particular location as measured from the12 top edge of the page. The Relative Move Baseline control is used to move 13 the base line a specified distance from the current baseline location.
L4 These values move the baseline up or down the page. The Temporary Move Baseline is a control which causes a temporary shift up or down of the base 16 line on which the following characters are to be printedO
17 The final group of the embedded control codes includes facilities for 18 drawing rules, and selecting fonts. Rules are horizontal or vertical lines19 of any height or width. They are use~ul, for example, in formatting tables w;th columns of numbers separated by heavy lines.
21 As an exa~ple of the usa~e of the text data with embedded control 22 codes, refer to Figure 12. The text stream consists of the E3CDIC encoding 23 for the word "FLEXIBLE" followed by the standard space co~e of Hex 40 followed 24 by an encoding of the word "PRINTER" followed by the escape character Hex 27.~5 The two-byte control code Hex 27C6 represents the end of line embedded con-26 trol. While it marks the end of a printed line, the text stream continues 27 with data for the next line. Immediately following is a Hex 27C500E0. The28 two bytes Hex 27C5 indicates that-the first character on the next line is 29 to be indented some distance from the current left margin~ The Hex number OOE0 which converts to 240 in decimal, indicates that the indention is to 1 be of 240 pels, that is, one inch. The data stream continues to the end 2 of the second line. Below it appears the two sample lines as they would 3 be printed. The example would look better if the word "FORMAT" were centered 4 under the phrase "FLEXIBLE PRINTER". Changing the RMI parameter from 240 to l60, that is, from Hex OOEO to Hex OOAO, would result in a displacement 6 from the margin of only two-thirds of an inch instead of the one inch shown 7 in the figure. When this corrected data stream is printed, it will have the- 8 word "FORMAT" centered under the words "FLEXIBLE PRINTER".
g A font is a collection bf character patterns From which characters to be printed are selected. A 96-character font might consist o`f 26 upper 11 case letters, 26 lower case letter, lO digits and 34 special symbols includ-12 ing all the punctuation marks. Each font normally consists of one size, 13 style and weight of character and has a traditional name, such as l4 POINT
14 (size) Press Roman (style) and bold (weight).
The printer is designed to print images as well as text data. The 16 images may be scanned or computer generated in various ways; however, they 17 are transmitted to the printer as binary bit image data, that is, as black 18 and white dots in scan line sequence. Image control information is con-19 tained in a 30-byte image control record which is transmitted to the printer by the write image control channel command. The image itself, which may 21 require do~ens of 2,048 byte data transmissions, is transmitted by subsequent . . . ~
22 write image commands.
23 The write image data received by the printer is interpreted to be a 24 sequence of compressed or uncompressed scan lines. It is assumed that-each 25 scan line will be equal in uncompressed length. The sequence of scan 26 lines, when taken together, are assumed to form an image rec~angle. The 27 first dimension of the rectangle is measured in pels; the second dimension 28 is measured in scan lines. The first two b~tes provide a scan line length 29 as a count of the number of pels in a scan line, and this information is written as a binary number. Scan lines which are transmitted uncompressed SA976041 -~3 1 by a write image channel command are required to be an even number of double2 bytes long, that is, the binary coded pel count must end with Hex 0. Bytes 3 2 and 3 define the image rectangle width as a count of the number of scan 4 lines in the image defined as a binary number. Byte 5 is the decompression selector. A code of Hex 00 defines no compression in the image data, 6 whereas the code of ~ex Ol selects the printer decompression feature 7 algorithm. Scanner products are deviees which create a digital electronic 8 image of whatever their electronic eye scans. A full 8 l/2 by ll inch page g encoded as black and white dots has a 673,200 byte electronic ;mage. To reduce this number, some scanner products offer electronic image compres-11 sion. Compressed images can often be represented with a fraction of the 12 original data. Smaller data size reduces the host system data storage and 13 data transmission requirements. Storage and transmission economics are the14 primary reason for image compression and decompression. There is much white space on most of the pages people read. When an ordinary sheet is 16 scanned, long strings of white dots are encoded. Many bits can be saved by17 a compression scheme that represents a long scan line of white dots by a 18 special white dot code and a count of the number of dots. This scheme~ run19 length coding, is only one of many such schemes that could be used.
Trim. Input images can be trimmed to make a smaller rectangle for 21 printing. Bytes 6 and 7 define as counts coded in binary the starting pel 22 trim count which defines the number of pels to be deleted from the beginning 23 of each s~an line, whereas bytes 8 and 9 define in binary code the ending 24 pel trim count which defines the number of pels to be deleted from the end of each scan line. Bytes lO and ll are utilized as starting scan trim 26 count for image data, whereas bytes 12 and l3 define the ending scan trim 27 count for image data. The pel count scale factor is included in byte l4.
28 On each square inch of paper the printer ha~dware prints 240 scan lines 29 with 240 bits of data in each scan line. That is, 57,600 bits of data per square inch. Some applications do not require or cannot afford such high , ~ .

1 resolution. For these applications, the printer provides a low resolution 2 image with only one-quarter the number of bits per square inch; that is, 3 120 scan lines and 120 bits per scan line for each square inch. The actual 4 printing hardware still prints 240 pels. It implements the 120 pel case by repeating each low resolution data bit twice. Si~ilarly, each scan line 6 which has just had its data bits doubled, is itself printed two times. The 7 two scale factors can be used to specify that an image is to be printed as 8 is, or is to be enlarged in scale. Byte 14 can be coded Hex 01 for no g scaling, or Hex 02 to double the number af pels. This makes each scan line twice as long as it would have been without the scale factor ~f 2.
11 While the invention has been particularly shown and described with 12 reference to preferred embodiments thereof, it will be understood by those 13 skilled in the art that various changes in the form and details may be made14 therein without departiny from the spirit and scope of the invention.
- ;
1~
}7 ~ 4 SA976041 ~25-

Claims (12)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A system for printing data in response to input data comprising:
means for providing input data comprising character data and control data in the form of successively occurring groups of data of like size;
first control means for processing said input character data in response to said control data, said first control means operable to trans-late each group of character data into position data specifying the position of the character on the page to be printed, size data defining the size of the graphic character defined by the character data and address data to define the position in storage of the graphic coded data which defines the character represented by the groups of character data;
strip buffer means for assembling the graphic data for a part of the page to be printed;
storage means for storing graphic coded data for the characters represented by said character data;
second control means responsive to said position data, said size data and said address data for sequentially moving from said storage means to said buffer means graphic coded data in the sequence the data is to be printed; and third control means responsive to the graphic coded data in the buffer means for sequentially printing on a print medium the characters repre-sented by the character data.
2. The invention of Claim 1 additionally comprising:
accumulator means;
means for transferring successive groups of character data out of the buffer means to the accumulator means for temporary storage of said data;
means for combining said stored data in synchronism with subsequent data to be printed at a corresponding place on the print medium; and means responsive to the combined data for printing on the print medium the graphic data represented by the combined data.
3. The invention according to Claim 1 wherein said means for sequentially printing on a print medium comprises imaging apparatus including means for repetitively recording in successive scans, each such scan being displaced from the immediately preceding scan line along the length of the medium.
4. The invention according to Claim 3 additionally comprising means for generating scan data defining the position of the character on the page to be printed.
5. The invention according to Claim 4 wherein said scan data defining the position of the character on the page to be printed com-prises arranging all graphic patterns which start on the same scan line into a linked list and preparing a list for each scan line.
6. The invention according to Claim 1 wherein said strip buffer means comprises a word organized memory and pattern shifter means for positioning patterns in said strip buffer means aligned with respect to the word structure of the strip buffer means.
7. The invention according to Claim 6 wherein said pattern shifter means comprises an end around shifter, said strip buffer means comprising two separately addressable sections, and addressing means for addressing the same section in said strip buffer means when there is no end around carry and addressing the next successive address for one section when there is an end around carry.
8. The invention according to Claim 2 wherein said means for sequentially printing on a print medium comprises imaging apparatus including means for repetitively recording in successive scans, each such scan being displaced from the immediately preceding scan line along the length of the medium.
9. The invention according to Claim 8 additionally comprising means for generating scan data defining the position of the character on the page to be printed.
10. The invention according to Claim 9 wherein said scan data defining the position of the character on the page to be printed comprises arranging all graphic patterns which start on the same scan line into a linked list and preparing a list for each scan line.
11. The invention according to Claim 2 wherein said strip buffer means comprises a word organized memory and pattern shifter means for positioning patterns in said strip buffer means aligned with respect to the word structure of the strip buffer means.
12. The invention according to Claim 11 wherein said pattern shifter means comprises an end around shifter, said strip buffer means comprising two separately addressable sections, and addressing means for addressing the same section in said strip buffer means when there is no end around carry and addressing the next successive address for one section when there is an end around carry.
CA300,169A 1977-06-30 1978-03-31 Raster printer with sufficient printing flexibility Expired CA1100644A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US81191177A 1977-06-30 1977-06-30
US811,911 1977-06-30

Publications (1)

Publication Number Publication Date
CA1100644A true CA1100644A (en) 1981-05-05

Family

ID=25207926

Family Applications (1)

Application Number Title Priority Date Filing Date
CA300,169A Expired CA1100644A (en) 1977-06-30 1978-03-31 Raster printer with sufficient printing flexibility

Country Status (12)

Country Link
JP (1) JPS5936778B2 (en)
AU (1) AU515184B2 (en)
BE (1) BE867592A (en)
BR (1) BR7804204A (en)
CA (1) CA1100644A (en)
DE (1) DE2825321C3 (en)
ES (1) ES471253A1 (en)
FR (1) FR2395840B1 (en)
GB (1) GB1558458A (en)
IT (1) IT1112642B (en)
NL (1) NL7804442A (en)
SE (1) SE438213B (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5671137A (en) * 1979-11-14 1981-06-13 Mitsubishi Electric Corp Print system
US4364024A (en) * 1979-12-07 1982-12-14 International Business Machines Corporation Signature presentation method and apparatus
DD149725A1 (en) * 1980-03-28 1981-07-22 Lothar Schlegel MOSAIC PRINTING DEVICE FOR TEL
GB2089165B (en) * 1980-10-30 1985-10-09 Canon Kk Character and image processing
US4493049A (en) * 1981-06-05 1985-01-08 Xerox Corporation Shared resource clustered printing system
JPS58501694A (en) * 1981-10-14 1983-10-06 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン Page correction method in partial page buffer editing type printer subsystem
JPS5887622A (en) * 1981-11-20 1983-05-25 Hitachi Ltd Controller for printer
EP0096079B1 (en) * 1982-05-24 1986-08-20 Ibm Deutschland Gmbh Process for preparing dot screen data for character and/or picture representations
DE3302094A1 (en) * 1982-12-08 1984-07-26 Loewe Opta Gmbh, 8640 Kronach Method and circuit arrangement for presenting characters of different size in a picture-element raster by means of a dot matrix printer
DE3245342A1 (en) * 1982-12-08 1984-06-14 Loewe Opta Gmbh, 8640 Kronach Method and circuit arrangement for representing characters of different size in a dot matrix by means of a dot matrix printer
JPS59202867A (en) * 1983-05-04 1984-11-16 Sanyo Electric Co Ltd Printing control apparatus
JPS59202869A (en) * 1983-05-04 1984-11-16 Sanyo Electric Co Ltd Printing control apparatus
JPS59202870A (en) * 1983-05-04 1984-11-16 Sanyo Electric Co Ltd Printing controller
FR2560412B1 (en) * 1984-02-24 1993-12-31 Canon Kk DATA PROCESSING APPARATUS
US4729107A (en) * 1984-09-17 1988-03-01 Casio Computer Co., Ltd. Pattern data conversion processing system
JPH0632954B2 (en) * 1986-09-29 1994-05-02 日本電気株式会社 Print information editing device
JP2832710B2 (en) * 1987-01-07 1998-12-09 沖電気工業 株式会社 Printer
US5194899A (en) * 1992-03-24 1993-03-16 Lexmark International, Inc. Complex page bit map composition

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3568178A (en) * 1967-12-08 1971-03-02 Rca Corp Electronic photocomposition system
DE2447464C3 (en) * 1973-10-23 1978-06-01 International Business Machines Corp., Armonk, N.Y. (V.St.A.) Character generator control circuit for an optical printer
US3898627A (en) * 1974-03-22 1975-08-05 Ibm Optical printer having serializing buffer for use with variable length binary words
US4007442A (en) * 1974-11-11 1977-02-08 International Business Machines Corporation Intermixed line heights and blank line formation in a buffered printer
FR2360144A1 (en) * 1976-07-27 1978-02-24 Cii DEVICE FOR REGISTRATION OF GRAPHIC AND / OR ALPHANUMERIC SYMBOLS, ESPECIALLY FOR PLOTTING TABLE, AND PLOTTING TABLE INCLUDING SUCH A DEVICE

Also Published As

Publication number Publication date
SE438213B (en) 1985-04-01
IT1112642B (en) 1986-01-20
FR2395840B1 (en) 1985-10-18
BE867592A (en) 1978-09-18
AU3488478A (en) 1979-10-11
DE2825321C3 (en) 1981-07-30
BR7804204A (en) 1979-04-10
DE2825321A1 (en) 1979-01-04
DE2825321B2 (en) 1980-12-11
JPS5936778B2 (en) 1984-09-05
GB1558458A (en) 1980-01-03
JPS5413224A (en) 1979-01-31
IT7825057A0 (en) 1978-06-28
FR2395840A1 (en) 1979-01-26
ES471253A1 (en) 1979-01-16
NL7804442A (en) 1979-01-03
AU515184B2 (en) 1981-03-19
SE7807314L (en) 1978-12-31

Similar Documents

Publication Publication Date Title
US4300206A (en) Flexible text and image generator for a raster printer
CA1100644A (en) Raster printer with sufficient printing flexibility
US4470129A (en) Page modification method in a printer subsystem of the partial page buffer composing type
TW399179B (en) Method and apparatus for compressing slice-oriented bitmaps
JP2790285B2 (en) Full page graphics image display data compression method and apparatus
CN1105369C (en) Display list architecture having two dimensional array of zones
US5615316A (en) Printing control method and apparatus
JPH0352713B2 (en)
US5136688A (en) Print data processing apparatus for an image forming apparatus
US6317217B1 (en) Printing system and printing control method
WO1993021605A1 (en) A system and method of transferring a bit-mapped image using raster columns
EP0481787B1 (en) Output method and apparatus
US6310693B1 (en) Printing control apparatus and method, and printing system for reducing processing overhead
JPH05338277A (en) Printer
US5007002A (en) Serial or line printer adapted for use with page describing language
EP0090802B1 (en) A page modification method in a printer subsystem of the partial page buffer composing type
US5345518A (en) Pattern generator
JP2783601B2 (en) Information processing device
JPH0755572B2 (en) Printer
JPS6145325A (en) Printer
JP2854344B2 (en) How to display mixed mode documents
JP3118310B2 (en) Print processing method of page printer
JPS59201870A (en) Printer
JP2715475B2 (en) Graphic output device
JPH01160665A (en) Printer

Legal Events

Date Code Title Description
MKEX Expiry