← Back to Patent Explorer
US5684510A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of font rendering employing grayscale processing of grid fitted fonts

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1994-07-19
•
Granted: 1997-11-04
•
Expires: 2014-07-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of displaying characters on a pixel oriented grayscale display device having a predetermined pixel resolution employing parametric, geometric glyph descriptors is disclosed. The process supports a client process that passes a request for a particular font and a physical character height for the displayed characters as well as the physical resolution expressed in pixels for unit length. A character space height value in pixels is determined and compared to selected values to determine whether the character space height in physical pixels falls into one of three distinct ranges. If within the smallest range, no hinting or grid fitting is performed and the physical pixel coordinates of a scaled glyph descriptor are scan converted using subpixel coordinates. The on subpixels within each pixel are counted to provide a grayscale value for illuminating that particular pixel. If the character space height is in the highest range, the same process is performed after the scaled glyph descriptor is hinted to physical pixel boundaries. Character space heights in the mid range are hinted to the physical pixel boundary but scan converted using a conventional scan converter for the physical pixel space. The on pixels that result from this scan conversion are then illuminated to the maximum grayscale value while off pixels from the conversion are left off. The values of the variables that define the ranges are user selectable and may be varied in response to other parameters.

Inventors

  • 👤 Lenox H. Brassell
  • 👤 Peter D. Pathe
  • 👤 Eliyezer Kohen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 17:56
CPC Classifications
G; G06; G06T; G06T11/00; G06T11/20; G06T11/23; G09; G09G; G09G5/00; G09G5/22; G09G5/24

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 169 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device having a predetermined resolution by constructing a pixel map of grayscale values comprising the steps of: providing a geometric descriptor for said character; providing a hinted geometric descriptor by hinting said geometric descriptor so that boundaries of serifs and stems lie on boundaries of physical pixels; subdividing at least all of said physical pixels that are at least partially within a stroke of said hinted geometric descriptor into N sub-pixels, N being an integer; performing a scan conversion on said hinted geometric descriptor with respect to said subpixels to provide a binary subpixel bit map of on-subpixels and off-subpixels; for each said physical pixel that is at least partially within a stroke of said hinted geometric descriptor, assigning a grayscale value as a function of the number of said on-subpixels it contains raised to a power greater than one; and displaying said physical pixel on said display device using said grayscale value.
Claim 2
Independent Claim 169 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device having a predetermined resolution by constructing a pixel map of grayscale values comprising the steps of: providing a geometric descriptor for said character; providing a hinted geometric descriptor by hinting said geometric descriptor so that boundaries of serifs and stems lie on boundaries of physical pixels; subdividing at least all of said physical pixels that are at least partially within a stroke of said hinted geometric descriptor into N sub-pixels, N being an integer; performing a scan conversion on said hinted geometric descriptor with respect to said subpixels to provide a binary subpixel bit map of on-subpixels and off-subpixels; for each said physical pixel that is at least partially within a stroke of said hinted geometric descriptor, assigning a grayscale value as a function of the number of said on-subpixels it contains raised to a power greater than one; and displaying said physical pixel on said display device using said grayscale value.
Claim 3
Independent Claim 163 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device having a predetermined resolution by constructing a pixel map comprising the steps of: providing a geometric descriptor for said character; receiving from an application a requested character space height and data specifying said predetermined resolution; determining a character space height value P, in physical pixel units, from said requested character space height and said data specifying said predetermined resolution; in response to said value P, rendering said character using a rendering method selected from a group of three rendering methods based on said value P, consisting of: (a) grayscale rendering employing a subpixel level scan conversion; (b) grid fitting said geometric descriptor for said character to physical boundaries and employing a physical pixel level scan conversion to provide a bilevel rendering; and (c) grid fitting said geometric descriptor for said character to physical boundaries and employing a subpixel level scan conversion to provide a grayscale rendering.
Claim 4
Independent Claim 163 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device having a predetermined resolution by constructing a pixel map comprising the steps of: providing a geometric descriptor for said character; receiving from an application a requested character space height and data specifying said predetermined resolution; determining a character space height value P, in physical pixel units, from said requested character space height and said data specifying said predetermined resolution; in response to said value P, rendering said character using a rendering method selected from a group of three rendering methods based on said value P, consisting of: (a) grayscale rendering employing a subpixel level scan conversion; (b) grid fitting said geometric descriptor for said character to physical boundaries and employing a physical pixel level scan conversion to provide a bilevel rendering; and (c) grid fitting said geometric descriptor for said character to physical boundaries and employing a subpixel level scan conversion to provide a grayscale rendering.
Claim 5
Independent Claim 405 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device having a predetermined resolution by constructing a pixel map comprising the steps of: providing a geometric descriptor in a normalized character space for said character; receiving from an application a requested character space height and data specifying said predetermined resolution; scaling said geometric descriptor to provide a scaled geometric descriptor in physical pixel coordinates as a function of said predetermined resolution and said requested character space height; determining a character space height value P, in physical pixel units, from said requested character space height and said data specifying said predetermined resolution; comparing said character space height value P to selected values J and K, J and K each being positive integers and J being less than K; and (a) if P is less than J, performing a grayscale rendering of said character by: subdividing at least all physical pixels that are at least partially within a stroke of said scaled geometric descriptor into N sub-pixels, N being an integer; performing a scan conversion on said scaled geometric descriptor with respect to said subpixels to provide a binary subpixel bit map of on-subpixels and off-subpixels; for each said physical pixel that is at least partially within a stroke of said scaled geometric descriptor, assigning a grayscale value in accordance with the number of said on-subpixels it contains; and displaying said physical pixel on said display device using said grayscale value; and alternately (b) if P is greater than or equal to J and less than or equal to K: providing a hinted scaled geometric descriptor by hinting said scaled geometric descriptor so that boundaries of serifs and stems lie on boundaries of physical pixels; performing a scan conversion on said hinted scaled geometric descriptor to provide a binary pixel bit map of on-pixels and off-pixels; displaying each said physical pixel on said display device using a maximum grayscale value for pixels corresponding to said on-pixels in said binary pixel bit map and using a minimum grayscale value for pixels corresponding to said off-pixels in said binary pixel bit map; and alternately (c) if P is greater than K: providing said hinted scaled geometric descriptor by hinting said scaled geometric descriptor so that boundaries of serifs and stems lie on boundaries of physical pixels; and performing said grayscale rendering of said character with respect to said hinted scaled geometric descriptor.
Claim 6
Independent Claim 405 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device having a predetermined resolution by constructing a pixel map comprising the steps of: providing a geometric descriptor in a normalized character space for said character; receiving from an application a requested character space height and data specifying said predetermined resolution; scaling said geometric descriptor to provide a scaled geometric descriptor in physical pixel coordinates as a function of said predetermined resolution and said requested character space height; determining a character space height value P, in physical pixel units, from said requested character space height and said data specifying said predetermined resolution; comparing said character space height value P to selected values J and K, J and K each being positive integers and J being less than K; and (a) if P is less than J, performing a grayscale rendering of said character by: subdividing at least all physical pixels that are at least partially within a stroke of said scaled geometric descriptor into N sub-pixels, N being an integer; performing a scan conversion on said scaled geometric descriptor with respect to said subpixels to provide a binary subpixel bit map of on-subpixels and off-subpixels; for each said physical pixel that is at least partially within a stroke of said scaled geometric descriptor, assigning a grayscale value in accordance with the number of said on-subpixels it contains; and displaying said physical pixel on said display device using said grayscale value; and alternately (b) if P is greater than or equal to J and less than or equal to K: providing a hinted scaled geometric descriptor by hinting said scaled geometric descriptor so that boundaries of serifs and stems lie on boundaries of physical pixels; performing a scan conversion on said hinted scaled geometric descriptor to provide a binary pixel bit map of on-pixels and off-pixels; displaying each said physical pixel on said display device using a maximum grayscale value for pixels corresponding to said on-pixels in said binary pixel bit map and using a minimum grayscale value for pixels corresponding to said off-pixels in said binary pixel bit map; and alternately (c) if P is greater than K: providing said hinted scaled geometric descriptor by hinting said scaled geometric descriptor so that boundaries of serifs and stems lie on boundaries of physical pixels; and performing said grayscale rendering of said character with respect to said hinted scaled geometric descriptor.
Claim 7
Dependent Claim 36 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device as recited in claim 3 wherein said selected value J is six and said selected value K is twenty-four.
Claim 8
Dependent Claim 42 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device as recited in claim 3 wherein said selected value J is in a range 6,7! and said selected value K is in a range 18,24!.
Claim 9
Dependent Claim 89 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device as recited in claim 3 wherein said step of comparing said character space height value P to selected values J and K is preceded by a step of: reading a font specification stored in said computer to retrieve, if present, said selected values J and K; and providing default values for both said selected value J and said selected value K if said selected values are not found in said font specification.
Claim 10
Independent Claim 334 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device having a predetermined resolution by constructing a pixel map comprising the steps of: providing a geometric descriptor in a normalized character space for said character; receiving from an application a requested character space height and data specifying said predetermined resolution; scaling said geometric descriptor to provide a scaled geometric descriptor in physical pixel coordinates as a function of said predetermined resolution and said requested character space height; determining a character space height value P, in physical pixel units, from said requested character space height and said data specifying said predetermined resolution; providing a hinted scaled geometric descriptor by hinting said scaled geometric descriptor so that boundaries of serifs and stems lie on boundaries of physical pixels; comparing said character space height value P to a selected value K being a positive integer; and (a) if P is less than K: performing a scan conversion on said hinted scaled geometric descriptor to provide a binary pixel bit map of on-pixels and off-pixels; displaying each said physical pixel on said display device using a maximum grayscale value for pixels corresponding to said on-pixels in said binary pixel bit map and using a minimum grayscale value for pixels corresponding to said off-pixels in said binary pixel bitmap; and alternately (b) if P is greater than or equal to K: subdividing at least all of said physical pixels that are at least partially within a stroke of said hinted scaled geometric descriptor into N sub-pixels, N being an integer; performing a scan conversion on said hinted scaled geometric descriptor with respect to said subpixels to provide a binary subpixel bit map of on-subpixels and off-subpixels; for each said physical pixel that is at least partially within a stroke of said hinted scaled geometric descriptor, assigning a grayscale value in accordance with the number of said on-subpixels it contains; and displaying said physical pixel on said display device using said grayscale value.
Claim 11
Independent Claim 334 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device having a predetermined resolution by constructing a pixel map comprising the steps of: providing a geometric descriptor in a normalized character space for said character; receiving from an application a requested character space height and data specifying said predetermined resolution; scaling said geometric descriptor to provide a scaled geometric descriptor in physical pixel coordinates as a function of said predetermined resolution and said requested character space height; determining a character space height value P, in physical pixel units, from said requested character space height and said data specifying said predetermined resolution; providing a hinted scaled geometric descriptor by hinting said scaled geometric descriptor so that boundaries of serifs and stems lie on boundaries of physical pixels; comparing said character space height value P to a selected value K being a positive integer; and (a) if P is less than K: performing a scan conversion on said hinted scaled geometric descriptor to provide a binary pixel bit map of on-pixels and off-pixels; displaying each said physical pixel on said display device using a maximum grayscale value for pixels corresponding to said on-pixels in said binary pixel bit map and using a minimum grayscale value for pixels corresponding to said off-pixels in said binary pixel bitmap; and alternately (b) if P is greater than or equal to K: subdividing at least all of said physical pixels that are at least partially within a stroke of said hinted scaled geometric descriptor into N sub-pixels, N being an integer; performing a scan conversion on said hinted scaled geometric descriptor with respect to said subpixels to provide a binary subpixel bit map of on-subpixels and off-subpixels; for each said physical pixel that is at least partially within a stroke of said hinted scaled geometric descriptor, assigning a grayscale value in accordance with the number of said on-subpixels it contains; and displaying said physical pixel on said display device using said grayscale value.
Claim 12
Dependent Claim 32 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device as recited in claim 7 wherein said selected value K is in a range 18,24!.
Claim 13
Dependent Claim 80 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device as recited in claim 7 wherein said step of comparing said character space height value P to selected value K is preceded by a step of: reading a font specification stored in said computer to retrieve, if present, said selected value K; and providing a default value for said selected value K if said selected value is not found in said font specification.
Claim 14
Independent Claim 355 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device having a predetermined resolution by constructing a pixel map comprising the steps of: providing a geometric descriptor in a normalized character space for said character; receiving from an application a requested character space height and data specifying said predetermined resolution; scaling said geometric descriptor to provide a scaled geometric descriptor in physical pixel coordinates as a function of said predetermined resolution and said requested character space height; determining a character space height value P, in physical pixel units, from said requested character space height and said data specifying said predetermined resolution; comparing said character space height value P to selected values J and K, J and K each being positive integers and J being less than K; and (a) if P is less than J, performing a grayscale rendering of said character by determining a covered fraction of each said physical pixel that is at least partially within a stroke of said scaled geometric descriptor and assigning a grayscale value in accordance with said covered fraction; and displaying said physical pixel on said display device using said grayscale value; and alternately (b) if P is greater than or equal to J and less than or equal to K: providing a hinted scaled geometric descriptor by hinting said scaled geometric descriptor so that boundaries of serifs and stems lie on boundaries of physical pixels; performing a scan conversion on said hinted scaled geometric descriptor to provide a binary pixel bit map of on-pixels and off-pixels; displaying each said physical pixel on said display device using a maximum grayscale value for pixels corresponding to said on-pixels in said binary pixel bit map and using a minimum grayscale value for pixels corresponding to said off-pixels in said binary pixel bit map; and alternately (c) if P is greater than K: providing said hinted scaled geometric descriptor by hinting said scaled geometric descriptor so that boundaries of serifs and stems lie on boundaries of physical pixels; and performing said grayscale rendering of said character with respect to said hinted scaled geometric descriptor.
Claim 15
Independent Claim 355 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device having a predetermined resolution by constructing a pixel map comprising the steps of: providing a geometric descriptor in a normalized character space for said character; receiving from an application a requested character space height and data specifying said predetermined resolution; scaling said geometric descriptor to provide a scaled geometric descriptor in physical pixel coordinates as a function of said predetermined resolution and said requested character space height; determining a character space height value P, in physical pixel units, from said requested character space height and said data specifying said predetermined resolution; comparing said character space height value P to selected values J and K, J and K each being positive integers and J being less than K; and (a) if P is less than J, performing a grayscale rendering of said character by determining a covered fraction of each said physical pixel that is at least partially within a stroke of said scaled geometric descriptor and assigning a grayscale value in accordance with said covered fraction; and displaying said physical pixel on said display device using said grayscale value; and alternately (b) if P is greater than or equal to J and less than or equal to K: providing a hinted scaled geometric descriptor by hinting said scaled geometric descriptor so that boundaries of serifs and stems lie on boundaries of physical pixels; performing a scan conversion on said hinted scaled geometric descriptor to provide a binary pixel bit map of on-pixels and off-pixels; displaying each said physical pixel on said display device using a maximum grayscale value for pixels corresponding to said on-pixels in said binary pixel bit map and using a minimum grayscale value for pixels corresponding to said off-pixels in said binary pixel bit map; and alternately (c) if P is greater than K: providing said hinted scaled geometric descriptor by hinting said scaled geometric descriptor so that boundaries of serifs and stems lie on boundaries of physical pixels; and performing said grayscale rendering of said character with respect to said hinted scaled geometric descriptor.
Claim 16
Dependent Claim 36 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device as recited in claim 10 wherein said selected value J is six and said selected value K is twenty-four.
Claim 17
Dependent Claim 42 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device as recited in claim 10 wherein said selected value J is in a range 6,7! and said selected value K is in a range 18,24!.
Claim 18
Dependent Claim 89 words
A method in a computer system of displaying a character on a pixel oriented grayscale display device as recited in claim 10 wherein said step of comparing said character space height value P to selected values J and K is preceded by a step of: reading a font specification stored in said computer to retrieve, if present, said selected values J and K; and providing default values for both said selected value J and said selected value K if said selected values are not found in said font specification.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-11-03 2001-05-05 2001-11-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-11-03 2005-05-05 2005-11-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-11-03 2009-05-05 2009-11-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag