← Back to Patent Explorer
EP0772144A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Method and apparatus for rendering characters

Assignee: Adobe Inc
•
Filing: 1996-10-23
•
Granted: —
•
Expires: 2016-10-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for creating anti-aliased characters on a computer output device includes the steps of generating a call from a client process for a character to be rendered, rendering the character at a high resolution, and aligning stems of the character with a coarse grid corresponding to the resolution of an output device. The step of aligning the high resolution rendered stems to the coarse grid provides for an anti-aliased output with balanced stems. A method for rendering a character includes the steps of determining a device resolution and a number of greyscales to be displayed by a digital output device, determining a coarse grid and a high-resolution grid, developing character information concerning a character to be rendered, creating an initial bitmap of the character from the character information at the resolution of the high-resolution grid, and aligning stems of the initial bitmap with the coarse grid to create a coarse grid aligned high-resolution bitmap.

Inventors

  • 👤 Terence S. Dowling

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-09 12:23
CPC Classifications
G; G09; G09G; G09G5/00; G09G5/22; G09G5/24; G09G5/28; G06; G06T; G06T11/00; G06T11/20; G06T11/23

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 179 words
A method creating anti-aliased characters on a computer output device comprising the steps of: generating a call from a client process executing on a computer system for a character to be rendered, said client process providing, as a minimum, an identification of the character to be rendered, the size of said character, and the number of greyscales to be used to display said character; rendering said character by retrieving a character program for said character and aligning stems of said character with a coarse grid corresponding to a device resolution of an output device of said computer system, said step of aligning stems being based, at least, upon a high-resolution grid defined by said number of greyscales specified by said client process, and resulting in a high-resolution bitmap of said character corresponding to said high-resolution grid; creating an anti-aliased greyscale pixel map at said device resolution in said client process from said high-resolution bitmap of said character; and creating an image of said character on said output device at said device resolution based upon said anti-aliased greyscale pixel map.
Claim 2
Dependent Claim 77 words
A method for creating anti-aliased characters as recited in claim 1 wherein said step of rendering a character comprises: calling a parsed font program to retrieve a character program, font values, and font family values corresponding to said character to be rendered; executing said character program to determine the locations of stem edges of said character with respect to said coarse grid and to determine the stem widths; and aligning said stem edges with said coarse grid.
Claim 3
Dependent Claim 52 words
A method for creating anti-aliased characters as recited in claim 2 wherein said client process is further operative to provide a policy including, at least, a hard edge policy and a soft edge policy, and wherein step of aligning said stem edges is determined by said policy provided by said client process.
Claim 4
Dependent Claim 51 words
A method for creating anti-aliased characters as recited in claim 3 wherein said step of aligning said stems in accordance with a hard edge policy comprises the steps of rounding said stem widths to the closest multiple of said coarse grid, and centering each of said stems to said coarse grid.
Claim 5
Dependent Claim 49 words
A method for creating anti-aliased characters as recited in claim 3 wherein said step of aligning said stems in accordance with a soft-edge policy comprises the steps of rounding said stem widths to the closest multiple of said high-resolution grid, and aligning said stem widths with said coarse grid.
Claim 6
Dependent Claim 37 words
A method for creating anti-aliased characters as recited in claim 5 wherein said step of aligning said stems in accordance with a soft-edge policy is further dependent upon at least one of proximity and ghost stem information.
Claim 7
Dependent Claim 72 words
A method for creating anti-aliased characters as recited in claim 6 wherein if a stem is a ghost stem, said step of aligning stem widths with said coarse grid comprises the steps of: for a left/ bottom ghost stem, aligning the left/ bottom of such stem to a left/bottom coarse grid edge; and for a right/ top ghost stem, aligning the right/ top of such stem to a right/bottom coarse grid edge.
Claim 8
Dependent Claim 86 words
A method for creating anti-aliased characters as recited in claim 6 wherein if a stem is not a ghost stem, said step of aligning stem widths with said coarse grid comprises the steps of: determining a proximity of said stem to be either a left/ bottom proximity, or a right/top proximity; for a left/ bottom proximity, aligning the left/bottom of such stem to a left/bottom coarse grid edge; and for a right/ top proximity, aligning the right/top of such stem to a right/bottom coarse grid edge.
Claim 9
Independent Claim 150 words
A method for rendering a character comprising the steps of: determining a device resolution and a number of greyscales to be displayed by a digital output device; determining a coarse grid having a matrix of cells, where each cell is about the same resolution as said device resolution and therefore corresponds to a device pixel of said output device: determining a high-resolution grid having a matrix of high-resolution pixels, said high-resolution grid being aligned with said coarse grid such that each cell of said coarse grid includes an integral number of high-resolution pixels, the number of high-resolution pixels per cell being determined by said number of greyscales; developing character information concerning a character to be rendered; creating an initial bitmap of said character from said character information at said resolution of said high-resolution grid; and aligning stems of said initial bitmap with said coarse grid to create a high-resolution bitmap.
Claim 10
Dependent Claim 69 words
A method for rendering a character as recited in claim 9 wherein said step of developing character information comprises: calling a parsed font program to retrieve a character program, font values, and font family values corresponding to said character to be rendered; and executing said character program to determine the locations of stem edges of said character with respect to said coarse grid and to determine the stem widths.
Claim 11
Dependent Claim 34 words
A method for creating anti-aliased characters as recited in claim 10 wherein said step of aligning said stem edges is determined by a policy including at least a hard-edge policy and a soft-edge policy.
Claim 12
Dependent Claim 51 words
A method for creating anti-aliased characters as recited in claim 11 wherein said step of aligning said stems in accordance with a hard edge policy comprises the steps of rounding said stem widths to the closest multiple of said coarse grid, and centering each of said stems to said coarse grid.
Claim 13
Dependent Claim 49 words
A method for creating anti-aliased characters as recited in claim 11 wherein said step of aligning said stems in accordance with a soft-edge policy comprises the steps of rounding said stem widths to the closest multiple of said high-resolution grid, and aligning said stem widths with said coarse grid.
Claim 14
Dependent Claim 37 words
A method for creating anti-aliased characters as recited in claim 13 wherein said step of aligning said stems in accordance with a soft-edge policy is further dependent upon at least one of proximity and ghost stem information.
Claim 15
Dependent Claim 71 words
A method for creating anti-aliased characters as recited in claim 14 wherein if a stem is a ghost stem, said step of aligning stem widths with said coarse grid comprises the steps of: for a left/bottom ghost stem, aligning the left/ bottom of such stern to a left/bottom coarse grid edge; and for a right/ top ghost stem, aligning the right/ top of such stem to a right/bottom coarse grid edge.
Claim 16
Dependent Claim 85 words
A method for creating anti-aliased characters as recited in claim 14 wherein if a stem is not a ghost stem, said step of aligning stem widths with said coarse grid comprises the steps of: determining a proximity of said stem to be either a left/bottom proximity, or a right/top proximity; for a left/ bottom proximity, aligning the left/bottom of such stem to a left/bottom coarse grid edge; and for a right/ top proximity, aligning the right/top of such stem to a right/bottom coarse grid edge.
Claim 17
Dependent Claim 188 words
A digital system having anti-aliased greyscale output comprising: a computer system including an output device; client process means executing on said computer system for generating a call from a client process for a character to be rendered, said client process means providing, as a minimum, an identification of the character to be rendered, the size of said character, and the number of greyscales to be used to display said character; means executing on said computer system for rendering said character by retrieving a character program for said character and aligning stems of said character with a coarse grid corresponding to a device resolution of said output device, said step of aligning stems being based, at least, upon a high-resolution grid defined by said number of greyscales specified by said client process, and resulting in a high-resolution bitmap of said character corresponding to said high-resolution grid; creating an anti-aliased greyscale pixel map at said device resolution in said client process from said high-resolution bitmap of said character; and creating an image of said character on said output device at said device resolution based upon said anti-aliased greyscale pixel map.
Claim 18
Dependent Claim 84 words
A digital system as recited in claim 17 wherein said means for rendering a character comprises: means for calling a parsed font program to retrieve a character program, font values, and font family values corresponding to said character to be rendered; means for executing said character program on said computer system to determine the locations of stem edges of said character with respect to said coarse grid and to determine the stem widths; and means for aligning said stem edges with said coarse grid.
Claim 19
Dependent Claim 50 words
A digital system as recited in claim 18 wherein said client process means is further operative to provide a policy including, at least, a hard edge policy and a soft edge policy, and wherein step of aligning said stem edges is determined by said policy provided by said client process.
Claim 20
Dependent Claim 49 words
A digital system as recited in claim 19 wherein said means for aligning said stems in accordance with a hard edge policy comprises means for rounding said stem widths to the closest multiple of said coarse grid, and means for centering each of said stems to said coarse grid.
Claim 21
Dependent Claim 48 words
A digital system as recited in claim 19 wherein said means for aligning said stems in accordance with a soft-edge policy comprises means for rounding said stem widths to the closest integer multiple of said high-resolution grid, and means for aligning said stem widths with said coarse grid.
Claim 22
Dependent Claim 33 words
A digital system as recited in claim 21 wherein said means for aligning said sterns in accordance with a soft-edge policy is dependent upon at least one of proximity and ghost stem information.
Claim 23
Dependent Claim 68 words
A digital system as recited in claim 22 wherein if a stem is a ghost stem, said means for aligning stem widths with said coarse includes: means for aligning the left/bottom of such stem to a left/bottom coarse grid edge for a left/ bottom ghost stem; and means for aligning the right/ top of such stem to a right/bottom coarse grid edge for a right/ top ghost stem.
Claim 24
Dependent Claim 86 words
A digital system as recited in claim 22 wherein if a stem is not a ghost stem, said means for aligning stem widths with said coarse includes: means for determining a proximity of said stem to be either a left/bottom proximity, or a right/top proximity; means for aligning the left/bottom of such stem to a left/ bottom coarse grid edge for a left/ bottom proximity; and means for aligning the right/ top of such stem to a right/bottom coarse grid edge for a right/ top proximity.
Claim 25
Dependent Claim 176 words
A character renderer for generating a high-resolution bitmap useful for displaying a character in greyscale on an output device, said character renderer comprising: a grid generator for generating a coarse grid having a matrix of cells, where each cell is about the same resolution as an output device resolution, and for generating a high-resolution grid having a matrix of high-resolution pixels, said high-resolution grid being aligned with said coarse grid such that each cell of said coarse grid includes an integral number of high-resolution pixels, the number of high-resolution pixels per cell being determined by a number of greyscales associated with said output device; a character information developer for developing character information concerning of a character to be displayed on said output device; a bitmap generator that operates on said character information to create an initial bitmap of said character from said character information at said resolution of said high-resolution grid; and a stem aligner that aligning stems of said initial bitmap with said coarse grid to create a high-resolution bitmap by utilizing said character information.
Claim 26
Dependent Claim 41 words
A character renderer as recited in claim 25 wherein said character information developer includes a routine caller that calls a parsed font provider to retrieve a character program, font values, and font family values corresponding to said character to be rendered
Claim 27
Dependent Claim 25 words
A character renderer as recited in claim 26 wherein stem aligner is capable of operating with at least a hard-edge policy and a soft-edge policy.
Claim 28
Dependent Claim 48 words
A character renderer as recited in claim 27 wherein when said stem aligner aligns said stems in accordance with a hard edge policy said stem aligner rounds said stem widths to the closest multiple of said coarse grid, and centers each of said stems to said coarse grid.
Claim 29
Dependent Claim 45 words
A character renderer as recited in claim 27 when said stem aligner aligns said stem in accordance with a soft-edge policy said stem aligner rounds said stem widths to the closest multiple of said high-resolution grid, and aligns said stem widths with said coarse grid.
Claim 30
Dependent Claim 30 words
A character renderer as recited in claim 29 wherein said stem aligner further operates in accordance with proximity and ghost stem information when operating in accordance with a soft-edge policy.
Claim 31
Dependent Claim 55 words
A character renderer as recited in claim 30 wherein if a stem is a ghost stem, said stem aligner aligns the left/bottom of such stem to a left/bottom coarse grid edge for a left/bottom ghost stem, and aligns the right/top of such stem to a right/bottom coarse grid edge for a right/ top ghost stem.
Claim 32
Dependent Claim 73 words
A character renderer as recited in claim 30 wherein if a stem is not a ghost stem, said stem aligner determines a proximity of said stem to be either a left/bottom proximity, or a right/top proximity, aligns the left/bottom of such stem to a left/ bottom coarse grid edge for a left/ bottom proximity, and aligns the right/ top of such stem to a right/bottom coarse grid edge for a right/ top proximity.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag