Browse Prior Art Database

Advanced Function Printing with Efficient Storage Utilization

IP.com Disclosure Number: IPCOM000051189D
Original Publication Date: 1982-Aug-01
Included in the Prior Art Database: 2005-Feb-10
Document File: 3 page(s) / 23K

Publishing Venue

IBM

Related People

Fedak, JF: AUTHOR [+2]

Abstract

An internal data organization for a printer which receives unordered data from the host system comprises a single entry for each character which is generated as the data is received from the host system and this entry format completely describes a character for all print orientations.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 57% of the total text.

Page 1 of 3

Advanced Function Printing with Efficient Storage Utilization

An internal data organization for a printer which receives unordered data from the host system comprises a single entry for each character which is generated as the data is received from the host system and this entry format completely describes a character for all print orientations.

At some later time, the generated data is passed through hardware logic which interprets the data and causes the printing to take place. Major components of the print hardware include a Raster Pattern Storage (RPS) where font character patterns are stored and a strip buffer to which the character raster patterns for a part of a page are transferred immediately before printing. The format for each character (called a 'build') is as follows: Format Row Column Start RPS Address Size

Bit.

The mechanism used to order these builds is as follows: Data for a page is partitioned based on its vertical location (Y coordinate) on the physical sheet. This results in a table, called the row index table, which contains pointers, each pointing to a linked list of data buckets which share the same starting Y coordinates on the page. Each bucket list represents two rows; hence, the row index table must contain a halfword entry for each two vertical pels (picture elements) on a page. The data itself contains information regarding its column location and which of the two row pels it starts on. When the table is created ('Begin Page' time), each entry is initialized as X'FFFF', indicating that no data has been received. When data is encountered, it is mapped to a particular entry in the table based on its vertical position on the page. This entry may contain one of three values: X'FFFF': Initialized state-- no data received

Action: A new bucket is created to store data for

this row and the data stored in the bucket.

The row entry is updated to point to the next

available location in the bucket.

X'XXX0: (X ' Storage Address) ' Bucket Full

The actual number of zero low-order bits depends on

the bucket size.

Action: This bucket is full of data, and a new one

must be created and linked back to this one. If the buckets are physically adjacent in memory, they may be com...