Patent US4942390A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4942390A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for generating a character image

Assignee: IBM Information Products Corp
•
Filing: 1987-04-01
•
Granted: 1990-07-17
•
Expires: 2007-04-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract This invention relates to a method for generating character images using a font compression algorithm that reduces the storage requirements associated with low-cost, high resolution printers. An expanded character image has original print slices and duplicate print slices identical to one or more of the original print slices where the duplicate print slices are eliminated in the compressed character image. The compressed character is expanded using a repetition mask that identifies the number and location of the duplicate print slices. The technique for expanding the compressed character is such that printing can be performed in real time, in either a forward or reverse direction with only minimal effects on processing. This invention also provides a means for supporting multiple pitches, such as 10 CPI, 12 CPI and Proportional Space Mode (PSM), within those storage constraints. The technique of this invention is efficient enoughh to be performed by microcode in real time, yet provides for significant reduction in the overall memory required for storing the font data.

Inventors

  • 👤 Phuc K. Do
  • 👤 Karen K. Kellam
  • 👤 Ronnie Chi-on Tong
  • 👤 Ronald W. Willis
  • 👤 Carol E. Wyke

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 18:11
CPC Classifications
G; G06; G06K; G06K15/00; G06K15/02

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 214 words
A method of constructing a fully formed character out of print slices for a matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (c) selecting a mask, associated with said compressed character, from a plurality of said masks, each of said masks having a plurality of bits in either a first state or second state, each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (d) testing each bit of said mask, to detect for either said first state or said second state; (e) fetching a new one of said first or unique print slices, when said first state is detected; (f) omitting the previous step when said second state is detected; and (g) printing the fetched print slices.
Claim 2
Independent Claim 214 words
A method of constructing a fully formed character out of print slices for a matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (c) selecting a mask, associated with said compressed character, from a plurality of said masks, each of said masks having a plurality of bits in either a first state or second state, each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (d) testing each bit of said mask, to detect for either said first state or said second state; (e) fetching a new one of said first or unique print slices, when said first state is detected; (f) omitting the previous step when said second state is detected; and (g) printing the fetched print slices.
Claim 3
Independent Claim 236 words
A method of constructing a fully formed character out of print slices for a matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a pitch, for said character to be printed, from a plurality of pitches; (c) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (d) selecting a mask, determined by said selected character to be printed and said selected pitch, from a plurality of said masks, each of said masks having a plurality of bits in either a first state or second state, each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (e) testing each bit of said mask, to detect for either said first state or said second state; (f) fetching a new one of said first or unique print slices, when said first state is detected; (g) omitting the previous step when said second state is detected; and (h) printing the fetched print slices.
Claim 4
Independent Claim 236 words
A method of constructing a fully formed character out of print slices for a matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a pitch, for said character to be printed, from a plurality of pitches; (c) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (d) selecting a mask, determined by said selected character to be printed and said selected pitch, from a plurality of said masks, each of said masks having a plurality of bits in either a first state or second state, each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (e) testing each bit of said mask, to detect for either said first state or said second state; (f) fetching a new one of said first or unique print slices, when said first state is detected; (g) omitting the previous step when said second state is detected; and (h) printing the fetched print slices.
Claim 5
Independent Claim 263 words
A method of constructing a fully formed character out of print slices for a bidirectional matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character, (c) selecting a mask, associated with said character to be printed, from a plurality of said masks, each of said masks having a plurality of bits in either a first state or second state, each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (d) determining whether said selected character is to be printed in either a forward direction or a reverse direction; (e) testing a first bit of said mask and thereafter testing the remaining bits of said mask in a forward order for said forward direction and in a reverse order for said reverse direction to detect for either said first state or said second state; (f) fetching a new one of said first or unique print slices, when said first state is detected; (g) omitting the previous step then said second state is detected; and (h) printing the fetched print slices.
Claim 6
Independent Claim 263 words
A method of constructing a fully formed character out of print slices for a bidirectional matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character, (c) selecting a mask, associated with said character to be printed, from a plurality of said masks, each of said masks having a plurality of bits in either a first state or second state, each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (d) determining whether said selected character is to be printed in either a forward direction or a reverse direction; (e) testing a first bit of said mask and thereafter testing the remaining bits of said mask in a forward order for said forward direction and in a reverse order for said reverse direction to detect for either said first state or said second state; (f) fetching a new one of said first or unique print slices, when said first state is detected; (g) omitting the previous step then said second state is detected; and (h) printing the fetched print slices.
Claim 7
Independent Claim 283 words
A method of constructing a fully formed character out of print slices for a bidirectional matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a pitch, for said character to be printed, from a plurality of pitches; (c) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (d) selecting a mask, associated with said character to be printed and said selected pitch, from a plurality of said masks, each of said mask having a plurality of bits in either a first condition or a second condition each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (e) determining whether said selected character is to be printed in either a forward direction or a reverse direction; (f) testing a first bit of said mask and thereafter testing the remaining bits of said mask in a forward order for said forward direction and in a reverse order for said reverse direction to detect for either said first condition or said second condition; (g) fetching a new one of said first or unique print slices when said first condition is detected; (h) omitting the previous step when said second state is detected; and (i) printing the fetched print slices.
Claim 8
Independent Claim 283 words
A method of constructing a fully formed character out of print slices for a bidirectional matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a pitch, for said character to be printed, from a plurality of pitches; (c) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (d) selecting a mask, associated with said character to be printed and said selected pitch, from a plurality of said masks, each of said mask having a plurality of bits in either a first condition or a second condition each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (e) determining whether said selected character is to be printed in either a forward direction or a reverse direction; (f) testing a first bit of said mask and thereafter testing the remaining bits of said mask in a forward order for said forward direction and in a reverse order for said reverse direction to detect for either said first condition or said second condition; (g) fetching a new one of said first or unique print slices when said first condition is detected; (h) omitting the previous step when said second state is detected; and (i) printing the fetched print slices.
Claim 9
Independent Claim 246 words
A method for constructing a full formed character out of print slices for a matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (c) selecting a mask, associated with said character to be printed, from a plurality of said masks, each of said masks having a plurality of bits in either a first state or second state, each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (d) testing each bit of said mask, to detect for either said first state or said second state; (e) fetching a new one of said first or unique print slices, when said first state is detected; (f) storing the fetched print slices in a print slice buffer; (g) duplicating the fetched print slice and storing said duplicated print slice in said print slice buffer when said second state is detected; and (h) printing said print slice buffer, when said print slice buffer is full.
Claim 10
Independent Claim 246 words
A method for constructing a full formed character out of print slices for a matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (c) selecting a mask, associated with said character to be printed, from a plurality of said masks, each of said masks having a plurality of bits in either a first state or second state, each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (d) testing each bit of said mask, to detect for either said first state or said second state; (e) fetching a new one of said first or unique print slices, when said first state is detected; (f) storing the fetched print slices in a print slice buffer; (g) duplicating the fetched print slice and storing said duplicated print slice in said print slice buffer when said second state is detected; and (h) printing said print slice buffer, when said print slice buffer is full.
Claim 11
Independent Claim 260 words
A method for constructing a full formed character out of print slices for a matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of character; (b) selecting a pitch, for said characters to be printed, from a plurality of pitches; (c) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (d) selecting a mask, determined by said selected character to be printed and said selected pitch, from a plurality of said masks, each of said masks having a plurality of bits in either a first state or a second state each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (e) testing each bit of said mask, to detect for either said first state or second state; (f) fetching a new one of said first or unique print slices, when said first state is detected; (g) storing the fetched print slice in a print slice buffer; (h) duplicating and storing the fetched print slice in said print slice buffer when said second state is detected; and (i) printing said print slice buffer when said buffer is full.
Claim 12
Independent Claim 260 words
A method for constructing a full formed character out of print slices for a matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of character; (b) selecting a pitch, for said characters to be printed, from a plurality of pitches; (c) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (d) selecting a mask, determined by said selected character to be printed and said selected pitch, from a plurality of said masks, each of said masks having a plurality of bits in either a first state or a second state each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (e) testing each bit of said mask, to detect for either said first state or second state; (f) fetching a new one of said first or unique print slices, when said first state is detected; (g) storing the fetched print slice in a print slice buffer; (h) duplicating and storing the fetched print slice in said print slice buffer when said second state is detected; and (i) printing said print slice buffer when said buffer is full.
Claim 13
Independent Claim 288 words
A method for constructing a fully formed character out of print slices for a bidirectional matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (c) selecting a mask, associated with said character to be printed, from a plurality of said masks each of said masks having a plurality of bits in either a first state or a second state each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bit of said mask and the number of slices of said fully formed character; (d) determining whether said selected character is to be printed in either a forward direction or a reverse direction; (e) testing a first bit of said mask and thereafter testing the remaining bits of said mask in a forward order for said first direction and in a reverse order for said second direction to detect for either said first state or said second state; (f) fetching a new one of said first or unique print slices, when said first state is detected; (g) storing the fetched print slice in a print slice buffer; (h) duplicating and storing the fetched print slice in said print slice buffer when said second state is detected; and (i) printing said print slice buffer when said buffer is full.
Claim 14
Independent Claim 288 words
A method for constructing a fully formed character out of print slices for a bidirectional matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (c) selecting a mask, associated with said character to be printed, from a plurality of said masks each of said masks having a plurality of bits in either a first state or a second state each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bit of said mask and the number of slices of said fully formed character; (d) determining whether said selected character is to be printed in either a forward direction or a reverse direction; (e) testing a first bit of said mask and thereafter testing the remaining bits of said mask in a forward order for said first direction and in a reverse order for said second direction to detect for either said first state or said second state; (f) fetching a new one of said first or unique print slices, when said first state is detected; (g) storing the fetched print slice in a print slice buffer; (h) duplicating and storing the fetched print slice in said print slice buffer when said second state is detected; and (i) printing said print slice buffer when said buffer is full.
Claim 15
Independent Claim 321 words
A method for constructing a full formed character out of print slices for a bidirectional matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a pitch, for said character to be printed, from a plurality of pitches; (c) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (d) selecting a mask, determined by said selected character to be printed and said selected pitch, from a plurality of said masks, each of said masks having a plurality of bits in either a first state or a second state each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (e) determining whether said selected character is to be printed in either a forward direction or a reverse direction; (f) testing a first bit of said mask and thereafter testing the remaining bits of said mask in a forward order for said forward direction and in a reverse order for said reverse direction to detect for either said first state or said second state; (g) fetching a new one of said first or unique print slices, from a group of print slices associated with said character to be printed, when said first state is detected; (h) storing the fetched print slice in a print slice buffer; (i) duplicating and storing the fetched print slice in said print slice buffer when said second state is detected; and (j) printing said print slice buffer when said buffer is full.
Claim 16
Independent Claim 321 words
A method for constructing a full formed character out of print slices for a bidirectional matrix printer comprising the steps of: (a) selecting a character to be printed from a plurality of characters; (b) selecting a pitch, for said character to be printed, from a plurality of pitches; (c) selecting a compressed character, associated with said selected character, containing a set of only the first print slice of a series of repetitive print slices and any unique print slices of said fully formed character wherein said set of print slices of said compressed character are fewer in number than said print slices of said fully formed character; (d) selecting a mask, determined by said selected character to be printed and said selected pitch, from a plurality of said masks, each of said masks having a plurality of bits in either a first state or a second state each of said bits being associated with one of said print slices so that there is a one-to-one correspondence between the number of bits of said mask and the number of slices of said fully formed character; (e) determining whether said selected character is to be printed in either a forward direction or a reverse direction; (f) testing a first bit of said mask and thereafter testing the remaining bits of said mask in a forward order for said forward direction and in a reverse order for said reverse direction to detect for either said first state or said second state; (g) fetching a new one of said first or unique print slices, from a group of print slices associated with said character to be printed, when said first state is detected; (h) storing the fetched print slice in a print slice buffer; (i) duplicating and storing the fetched print slice in said print slice buffer when said second state is detected; and (j) printing said print slice buffer when said buffer is full.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1993-07-16 1994-01-15 1994-07-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1997-07-16 1998-01-15 1998-07-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2001-07-16 2002-01-15 2002-07-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag