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

Intelligent font rendering co-processor

Assignee: Adobe Inc
•
Filing: 1992-09-01
•
Granted: —
•
Expires: 2012-09-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides an apparatus and method for converting font outlines to rasterized bit maps. The method accesses stored outline data representing the object in a first coordinate space and transforms the outline data to corresponding data representing the object in a second coordinate space, maintaining regional relationship information in both coordinate spaces, through a non-linear transformation expressed as a plurality of linear transformation matrices, to generate a bit map suitable for displaying the object. The present invention includes an apparatus to analyze Bezier curves and subdivide them as necessary until each portion is sufficiently flat to be approximated as a straight line, and then to calculate where line segments cross pixel midlines in order to fill the outline and generate the bit map. From another perspective, the method takes an outline of an object in a first coordinate space, scales the outline to a second coordinate space, identifies the coordinates of one or more select points in the second coordinate space and compares those coordinates with desired coordinates in the second coordinate space, calculates the difference in device space for the desired versus the actual coordinate in the second coordinate space, derives a plurality of piecewise linear transformation matrices to approximate a non-linear transformation, applies an appropriate linear transformation matrix to map essentially any point on the outline in the first coordinate space to corresponding coordinates in the second coordinate space, and fills and stores the outline of the object in a form suitable for display on a raster device.

Inventors

  • 👤 Christopher R. Hassett
  • 👤 John W. Nogrady
  • 👤 Harry J. Collins

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-10-28 16:09
CPC Classifications
G; G06; G06T; G06T11/00; G06T11/20; G06T11/23

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 210 words
A method for displaying rasterized objects comprising: accessing outline data from a computer memory or storage medium, said outline data representing said object in a first coordinate space, deriving from said outline data representing said object in a first coordinate space the corresponding data representing said object in a second coordinate space, said outline data in said first coordinate space processing regional relationships desired to be maintained in said second coordinate space said relationships being contained in regional relationship information which is a part of said outline data, including the steps of: (a) transforming said regional relationship information into said second coordinate space using a linear transformation; (b) using the transformed regional relationship information, deriving a non-linear transformation matrix expressed as a plurality of linear transformation matrices; (c) applying said non-linear transformation matrix to said outline data representing said object in said first coordinate space to derive a second representation of said object in said second coordinate space; (d) converting said second representation of said object to raster data describing said object in a form suitable for display; and (e) storing said second representation of said object in computer memory for subsequent display or displaying said second representation of said object on a raster printing or a raster display device.
Claim 2
Independent Claim 198 words
A method for rasterizing an object defined by outline data representing said object in a first coordinate space containing regional relationship information, comprising: accessing said outline data from a computer memory or storage medium; scaling said regional relationship information in said first coordinate space to derive scaled regional relationship information in a second coordinate space; identifying a point defined by a pair of coordinates of said scaled regional relationship information one coordinate of which does not lie on a predetermined coordinate in said second coordinate space; measuring in said second coordinate space the distance between said one coordinate of said point and said predetermined coordinate; deriving from said distance a non-linear transformation matrix approximated by a plurality of piecewise linear transformation matrices; applying said non-linear transformation matrix to said outline data of said object in said first coordinate space to convert said outline data to said second coordinate space; rasterizing the converted outline data to derive a form of said object suitable for display on a raster device; and storing the rasterized form of said object for subsequent display or displaying said rasterized form of said object on a raster display device or on a raster printing device.
Claim 3
Dependent Claim 91 words
The method of claim 2 wherein said outline data defines stems and counters in a character, further comprising: applying said regional relationship information in said second coordinate space to adjust coordinates of a point on one of said stems in said first coordinate space before identifying that stem point in said second coordinate space, and applying said regional relationship information in said second coordinate space to adjust coordinates of a point on one of said counters in said first coordinate space before identifying that counter point in said second coordinate space.
Claim 4
Dependent Claim 169 words
The method of claim 2 wherein said outline data contains information defining counters, further comprising after retrieving said information defining counters and prior to applying said non-linear transformation matrix to said outline data, grouping said counters with adjacent counters of approximately similar size; rounding the average size of each group of counters to an integer value; summing the total dimension of all counters as rounded. if the total dimension is too large or too small for the available space, adjusting the dimension of one or more of said groups of counters by adding or subtracting, as needed, from the dimension of a group of counters and repeating this step with one or more additional groups of counters until the total dimension of the groups of counters is within a predetermined total dimension, or by dividing a group of counters into smaller groups and rounding the average size of each divided group and repeating this step until the total dimension of the averaged groups is within a predeterminable total dimension.
Claim 5
Independent Claim 239 words
A method of determining the flatness of a first cubic Bezier curve having a first set of four control points having coordinates, two of said control points being endpoints and the remaining control points being internal, in preparation for displaying the cubic Bezier curve on a raster display, comprising: determining whether said first cubic Bezier curve can be approximated by a straight line segment, such approximation being possible if the distance between a selected one of said internal control points and a selected endpoint is within 1/3 of the distance between said two endpoints plus a flatness factor, if so, outputting said straight line segment, if not, dividing said first cubic Bezier curve approximately at its midpoint into second and third cubic Bezier curves and calculating a second and third set of control points for each of said second and third cubic Bezier curves, wherein at least one control point of each of said second and third sets of control points is essentially identical to one control point of said first cubic Bezier curve; determining whether said second and third cubic Bezier curves can be approximated by straight line segments, if not, repeating the process of subdividing and determining for either of said second and third cubic Bezier curves which cannot be so approximated, continuing iteratively until all cubic Bezier curves can be approximated by straight line segments; and displaying the approximated straight line segments on said raster display.
Claim 6
Independent Claim 157 words
A method for displaying rasterized objects comprising: accessing outline data from a computer memory or storage medium, said outline data representing said object in a first coordinate space, deriving from said outline data representing said object in a first coordinate space the corresponding data representing said object in a second coordinate space; flattening any curved portions of said outline data representing said object in said second coordinate space into a plurality of straight lines; generating a plurality of line segments from said straight lines; determining which of said plurality of line segments cross a pixel midline; selecting the pixels to be used to display said object using the identity of the pixels whose midlines were determined to have crossed one of said plurality of line segments; and storing the selected pixels to be used to display said object in computer memory for subsequent display or displaying said pixels on a raster printing or a raster display device.
Claim 7
Dependent Claim 220 words
Apparatus for displaying rasterized objects comprising: means for accessing outline data from a computer memory or storage medium, said outline data representing said object in a first coordinate space, means for deriving from said outline data representing said object in a first coordinate space the corresponding data representing said object in a second coordinate space, said outline data in said first coordinate space possessing regional relationships desired to be maintained in said second coordinate space, said relationships being contained in regional relationship information which is a part of said outline data, including: (a) means for transforming said regional relationship information into said second coordinate space using a linear transformation; (b) means for deriving a non-linear transformation matrix expressed as a plurality of linear transformation matrices using the transformed regional relationship information; (c) means for applying said non-linear transformation matrix to said outline data representing said object in said first coordinate space to derive a second representation of said object in said second coordinate space; (d) means for converting said second representation of said object to raster data describing said object in a form suitable for display; and (e) means for storing said second representation of said object in computer memory for subsequent display or displaying said second representation of said object on a raster printing or a raster display device.
Claim 8
Dependent Claim 213 words
Apparatus for rasterizing an object defined by outline data representing said object in a first coordinate space containing regional relationship information, comprising: means for accessing said outline data from a computer memory or storage medium; means for scaling said regional relationship information in said first coordinate space to derive scaled regional relationship information in a second coordinate space; means for identifying a point defined by a pair of coordinates of said scaled regional relationship information, one coordinate of which does not lie on a predetermined coordinate in said second coordinate space; means for measuring in said second coordinate space the distance between said one coordinate of said point and said predetermined coordinate; means for deriving from said distance a non-linear transformation matrix approximated by a plurality of piecewise linear transformation matrices; means for applying said non-linear transformation matrix to said outline data of said object in said first coordinate space to convert said outline data to said second coordinate space; means for rasterizing the converted outline data to derive a form of said object suitable for display on a raster device; and means for storing the rasterized form of said object for subsequent display or displaying said rasterized form of said object on a raster display device or on a raster printing device.
Claim 9
Dependent Claim 244 words
Apparatus for determining the flatness of a first cubic Bezier curve having a first set of four control points having coordinates, two of said control points being endpoints and the remaining control points being internal, in preparation for displaying the cubic Bezier curve on a raster display, comprising: means for determining whether said first cubic Bezier curve can be approximated by a straight line segment, such approximation being possible if the distance between a sleeted one of said internal control points and a selected endpoint is within 1/3 of the distance between said two endpoints plus a flatness factor, if so, outputting said straight line segment, if not, dividing said first cubic Bezier curve approximately at its midpoint into second and third cubic Bezier curves and calculating a second and third set of control points for each of said second and third cubic Bezier curves, wherein at least one control point of each of said second and third sets of control points is essentially identical to one control point of said first cubic Bezier curve; means for determining whether said second and third cubic Bezier curves can be approximated by straight line segments, if not, repeating the process of subdividing and determining for either of said second and third cubic Bezier curves which cannot be so approximated, continuing iteratively until all cubic Bezier curves can be approximated by straight line segments; and means for displaying the approximated straight line segments on said raster display.
Claim 10
Dependent Claim 170 words
Apparatus for displaying rasterized objects comprising: means for accessing outline data from a computer memory or storage medium, said outline data representing said object in a first coordinate space, means for deriving from said outline data representing said object in a first coordinate space the corresponding data representing said object in a second coordinate space; means for flattening any curved portions of said outline data representing said object in said second coordinate space into a plurality of straight lines; means for generating a plurality of line segments from said straight lines; means for determining which of said plurality of line segments cross a pixel midline; means for selecting the pixels to be used to display said object using the identity of the pixels whose midlines were determined to have crossed one of said plurality of line segments; and means for storing the selected pixels to be used to display said object in computer memory for subsequent display or displaying said pixels on a raster printing or a raster display device.

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