Computer implemented method for wrapping data to an arbitrary path defined by a page description language
DCFirst Claim
1. A computer implemented method for wrapping data to an arbitrary path defined by a page description language, comprising the steps of:
- identifying a path defined in a page description language specification as a data-wrapping path, the data-wrapping path having a path boundary;
associating a data block with the data-wrapping path; and
generating a bitmap representation of the data block according to the path boundary and according to a pre-defined flow rule;
the identifying step including a step of associating a graphics state with the path;
the generating step including a step of applying the graphics state to the data block;
the identifying step including a step of interpreting the page description code specification to produce a rendering command display list for static data defined in the page description code specification, and the computer implemented method further comprises a step of storing the display list in memory; and
the identifying step including a step of storing the graphics state associated with the path in memory, whereby the generating step can be repeated for multiple data blocks to generate multiple bitmap representations.
8 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method for flowing data, such as text data, into an arbitrary path defined by a page description language specification (“PDL specification”) generally comprises the steps of: identifying a path defined in the PDL specification as a data-wrapping path; associating a data block with the data-wrapping path; and generating a bitmap representation of the data block according to the path boundary and according to a pre-defined flow rule. Preferably, the identifying step includes the steps of associating a graphics state with the path and storing the graphics state in memory, and the generating step includes the step of applying the stored graphics state to the data block. Therefore, the generating step can be repeated for multiple data blocks to generate multiple bit map representations. The text wrapping path is preferably identified in the PDL specification by an attribute string associated with the path. Therefore, when the wrapping path is identified, the graphic states of the attribute string are saved in memory and are then subsequently applied to the data blocks when the bitmap representations of the data blocks are generated.
-
Citations
20 Claims
-
1. A computer implemented method for wrapping data to an arbitrary path defined by a page description language, comprising the steps of:
-
identifying a path defined in a page description language specification as a data-wrapping path, the data-wrapping path having a path boundary;
associating a data block with the data-wrapping path; and
generating a bitmap representation of the data block according to the path boundary and according to a pre-defined flow rule;
the identifying step including a step of associating a graphics state with the path;
the generating step including a step of applying the graphics state to the data block;
the identifying step including a step of interpreting the page description code specification to produce a rendering command display list for static data defined in the page description code specification, and the computer implemented method further comprises a step of storing the display list in memory; and
the identifying step including a step of storing the graphics state associated with the path in memory, whereby the generating step can be repeated for multiple data blocks to generate multiple bitmap representations.
-
-
2. A computer implemented method for wrapping data to an arbitrary path defined by a page description language, comprising the steps of:
-
identifying a path defined in a page description language specification as a data-wrapping path, the data-wrapping path having a path boundary;
associating a data block with the data-wrapping path; and
generating a bitmap representation of the data block according to the path boundary and according to a pre-defined flow rule; and
conditioning the path boundary prior to the generating step;
the conditioning step including the step of breaking down a complex path into a plurality of straight-line definitions.
-
-
3. A computer implemented method for wrapping data to an arbitrary path defined by a page description language, comprising the steps of:
-
identifying a path defined in a page description language specification as a data-wrapping path, the data-wrapping path having a path boundary;
associating a data block with the data-wrapping path; and
generating a bitmap representation of the data block according to the path boundary and according to a pre-defined flow rule; and
conditioning the path boundary prior to the generating step;
wherein the conditioning step includes the steps of;
designating a data-flow direction with respect to the path;
designating a coordinate system with respect to the path boundary, the coordinate system having a horizontal axis and a vertical axis; and
rotating the coordinate system to align the horizontal axis with the data-flow direction.
-
-
4. A computer implemented method for wrapping data to an arbitrary path defined by a page description language, comprising the steps of:
-
identifying a path defined in a page description language specification as a data-wrapping path, the data-wrapping path having a path boundary;
associating a data block with the data-wrapping path; and
generating a bitmap representation of the data block according to the path boundary and according to a pre-defined flow rule; and
conditioning the path boundary prior to the generating step;
wherein the conditioning step includes the step of referring to a file containing boundary conditioning commands. - View Dependent Claims (5, 6)
-
-
7. A computer implemented method for wrapping data to an arbitrary path defined by a page description language, comprising the steps of:
-
identifying a path defined in a page description language specification as a data-wrapping path, the data-wrapping path having a path boundary;
associating a data block with the data-wrapping path; and
generating a bitmap representation of the data block according to the path boundary and according to a pre-defined flow rule;
wherein the generating step includes the steps of;
establishing a rectangular insertion area, the insertion area having a vertical height;
overlying the insertion area on a first portion of the path boundary to establish at least one intersection point of the boundary and the insertion area; and
positioning the bitmap representation of the data block in the insertion area between adjacent intersection points. - View Dependent Claims (8, 9)
calculating a first horizontal length of a bitmap representation of a first defined portion of the data block;
calculating a horizontal placement width between adjacent intersection points;
comparing the first horizontal length with the placement width; and
positioning a bitmap representation of the first defined portion of the data block in the insertion area if the first horizontal length is not greater than the placement width.
-
-
9. The computer implemented method of claim 8, wherein the generating step includes the steps of:
-
decreasing the placement width by at least the first horizontal length;
determining a next horizontal length of a bitmap representation of a next defined portion of the data block;
comparing the next horizontal length with the decreased placement width; and
positioning a bitmap representation of the next defined portion of the data block in the insertion area if the next horizontal length is not greater than the decreased placement width.
-
-
10. A computer implemented method for wrapping data to an arbitrary path defined by a page description language, comprising the steps of:
-
identifying a path defined in a page description language specification as a data-wrapping path, the data-wrapping path having a path boundary;
associating a data block with the data-wrapping path; and
generating a bitmap representation of the data block according to the path boundary and according to a pre-defined flow rule;
the identifying step including the steps of, associating a graphics state with the path, and storing the graphics state in memory; and
the generating step including the step of applying the graphics state to the data block;
whereby, the generating step can be repeated for multiple data blocks to generate multiple bitmap representations.
-
-
11. A computer implemented method for wrapping data to an arbitrary path defined by a page description language, comprising the steps of:
-
identifying a path defined in a page description language specification as a data-wrapping path, the data-wrapping path having a path boundary;
associating a data block with the data-wrapping path; and
generating a bitmap representation of the data block according to the path boundary and according to a pre-defined flow rule;
wherein the associating step includes the steps of;
monitoring a text string defined by a text command in the page description language specification for a special character or a special string of characters; and
responsive to a detection of the special character or the special string of characters in the text string, designating a path, which is defined by a path command that has a predetermined relationship with the text command in the page description language specification, as the wrapping path. - View Dependent Claims (12, 13, 14)
the identifying step includes the step of saving a graphics corresponding to the text command in memory; and
the generating step includes the step of applying the graphics state to the data block.
-
-
15. A method for wrapping data to an arbitrary path defined by a page description language, comprising the steps of:
-
(a) designating a path defined in a page description language specification as a wrapping path, the wrapping path having a wrapping-path boundary;
(b) defining a graphics state for the path;
(c) processing the specification to produce a template representation of a template image defined by the specification, the template representation being one of a bitmap representation, a raster-data representation and a display list representation;
(d) saving the template representation in memory;
(e) associating a block of text with the wrapping path;
(f) creating bitmap representations of the block of text by applying the graphics state to the block of text;
(g) retrieving a copy of the template representation from memory;
(h) merging the bitmap representations of the block of text, according to the boundary and according to the predefined flow rule, with a template bitmap generated from copy of the template representation to generate a merged bitmap; and
(i) dispatching the merged bitmap to a print engine. - View Dependent Claims (16, 17, 18)
(j) associating a next block of text with the wrapping path;
(k) creating bitmap representations of the next block of text by applying the graphics state to the next block of text;
(l) retrieving a next copy of the template representation from memory;
(m) merging the bitmap representations of the next block of text, according to the boundary and according to a predefined flow rule, with a next template bitmap generated from the next copy of the template representation to generate a next merged bitmap; and
(n) dispatching the next merged bitmap to the print engine.
-
-
17. The method of claim 16, further comprising the steps of:
-
providing a merge file containing a plurality of blocks of text; and
repeating steps (j) through (m) for the plurality of blocks of text in the merge file.
-
-
18. The method of claim 15, wherein the merging step includes the step of flowing the bitmap representations of the block of text into the boundary.
-
19. A method for generating a plurality of bitmaps, comprising the steps of:
-
(a) providing a page description language specification, the specification including at least one path command defining a path and at least one print attribute defining how a particular graphic or alphanumeric data provided in the specification is to appear on a printed page;
(b) designating the path defined by the path command as a data wrapping path, the data wrapping path having a wrapping-path boundary;
(c) associating the print attribute with the data wrapping path;
(d) processing the specification to produce a template representation of a template image defined by the specification, the template representation being one of a bitmap representation, a raster-data representation and a display list representation;
(e) saving the template representation in memory;
(f) associating a first block of text, external to the specification, with the data wrapping path;
(g) creating bitmap representations of the first block of text by applying the attribute to the block of text;
(h) retrieving a copy of the template representation from memory;
(i) merging the bitmap representations of the first block of text, according to the boundary and according to a predefined flow rule, with a template bitmap generated from the copy of the template representation to generate a merged bitmap;
(j) associating a next block of text, external to the specification, with the data wrapping path;
(k) creating bitmap representations of the next block of text by applying the attribute to the next block of text;
(l) retrieving a next copy of the template representation from memory; and
(m) merging the bitmap representations of the next block of text, according to the boundary and according to the predefined flow rule, with a next template bitmap generated from the next copy of the template representation to generate a next merged bitmap. - View Dependent Claims (20)
providing a merge file, external to the specification, containing a plurality of blocks of text, including the first and next blocks of text; and
repeating steps (l) and (m) for the remaining plurality of blocks of text in the merge file.
-
Specification