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

Glyph adjustment in high resolution raster while rendering

Assignee: Adobe Inc
•
Filing: 2006-08-15
•
Granted: 2010-05-18
•
Expires: 2026-08-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods and apparatus, including computer program products, that implement a method for glyph adjustment in high resolution raster while rendering. In one aspect, a method includes the actions of receiving a glyph for display at a size on a raster output device; receiving a grid ratio specifying an integer number of fine pixels of a high resolution grid that correspond to a device pixel of the output device; rendering the glyph at the size on the high resolution grid; determining for each line of pixels of the high resolution grid, a line-specific, per-transition adjustment number; and in each line of pixels, marking or erasing the line-specific, per-transition adjustment number of fine pixels in the high resolution grid at each transition from a marked fine pixel to an unmarked fine pixel in a particular direction of the line of pixels.

Inventors

  • 👤 Terence S. Dowling
  • 👤 R. David Arnold

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 11:47
CPC Classifications
G; G09; G09G; G09G5/00; G09G5/22; G09G5/24; G06; G06T; G06T11/00; G06T11/20; G06T11/23; G09G5/28; G09G2340/00; G09G2340/04; G09G2340/0457; G09G2340/10

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 166 words
A method comprising: receiving a glyph for display at a size on a raster output device; receiving a grid ratio, the grid ratio specifying an integer number of fine pixels of a high resolution grid that correspond to a device pixel of a raster of the output device; rendering, with one or more computers, the glyph at the size on the high resolution grid, the high resolution grid including fine pixels marked to represent the glyph and fine pixels that are unmarked; determining, with the one or more computers, for each line of pixels of the high resolution grid in a particular direction, a line-specific, per-transition adjustment number, the line-specific, per-transition adjustment number determined from a scaled stem width for the glyph; and in each line of pixels of the high resolution grid, marking or erasing the line-specific, per-transition adjustment number of fine pixels in the high resolution grid at each transition from a marked fine pixel to an unmarked fine pixel in the particular direction.
Claim 2
Independent Claim 166 words
A method comprising: receiving a glyph for display at a size on a raster output device; receiving a grid ratio, the grid ratio specifying an integer number of fine pixels of a high resolution grid that correspond to a device pixel of a raster of the output device; rendering, with one or more computers, the glyph at the size on the high resolution grid, the high resolution grid including fine pixels marked to represent the glyph and fine pixels that are unmarked; determining, with the one or more computers, for each line of pixels of the high resolution grid in a particular direction, a line-specific, per-transition adjustment number, the line-specific, per-transition adjustment number determined from a scaled stem width for the glyph; and in each line of pixels of the high resolution grid, marking or erasing the line-specific, per-transition adjustment number of fine pixels in the high resolution grid at each transition from a marked fine pixel to an unmarked fine pixel in the particular direction.
Claim 3
Dependent Claim 88 words
The method of claim 1 , wherein the glyph is associated with a font, and wherein determining the line-specific, per-transition adjustment number includes: obtaining a standard stem width of the font; calculating the scaled stem width for the glyph by scaling the standard stem width to the size at which the glyph is to be displayed on the raster output device; calculating an adjustment number from the scaled stem width; and determining the integer line-specific, per-transition adjustment number, the determining being based at least on the adjustment number.
Claim 4
Dependent Claim 86 words
The method of claim 2 , wherein determining the integer line-specific, per-transition adjustment number includes: defining a pattern of the adjustment number of fine pixels for distribution among lines of fine pixels of the high resolution grid; and using the pattern to select, for each line of fine pixels of the high resolution grid in the particular direction, the integer number of fine pixels to be marked or erased at each transition from a marked fine pixel to an unmarked fine pixel in a particular direction.
Claim 5
Dependent Claim 43 words
The method of claim 3 , wherein: the pattern is a form of dithering in which the line-specific, per-transition adjustment number does not vary by more than one fine pixel from one line of fine pixels to a next line of fine pixels.
Claim 6
Dependent Claim 37 words
The method of claim 2 , wherein: the calculating of the adjustment number is based on one of a function for providing synthetic bold, a function for providing synthetic light, or a function for providing optical compensation.
Claim 7
Dependent Claim 50 words
The method of claim 5 , wherein: the function for providing synthetic bold and the function for providing synthetic light each defines a linear relationship between adjustment number and scaled stem width; and the function for optical compensation defines an inversely proportional relationship between adjustment number and scaled stem width.
Claim 8
Dependent Claim 61 words
The method of claim 2 , wherein calculating an adjustment number includes: calculating a component for producing a synthetic bold appearance or a synthetic light appearance; calculating a component for optical compensation, the calculating of the component for optical compensation accounting for the component for producing a bold appearance or the component for producing the synthetic light; and combining the components.
Claim 9
Dependent Claim 171 words
The method of claim 2 , wherein the grid ratio specifies a number of rows of fine pixels that correspond to a height of the device pixel, wherein the line of fine pixels is a row in the high resolution grid, and wherein the adjustment number determined based on the scaled stem width is a first adjustment number, the method further comprising: calculating a second adjustment number by dividing the first adjustment number by the number of rows of fine pixels corresponding to the height of the device pixel; when the second adjustment number is not an integer, selecting two integers that delimit the second adjustment number; defining a pattern of a number of instances of the two integers, a sum of values of the instances in the pattern equaling the first adjustment number, the number of instances equaling the number of rows of fine pixels corresponding to the height of the device pixel; and selecting, based on the pattern, one of the two integers as the line-specific, per-transition adjustment number.
Claim 10
Dependent Claim 58 words
The method of claim 1 , wherein obtaining the integer number includes: calculating an adjustment number from the size at which the glyph is to be displayed, wherein the size is expressed as either points per em or pixels per em; and determining the line-specific, per-transition adjustment number, the determining being based at least on the adjustment number.
Claim 11
Dependent Claim 20 words
The method of claim 1 , wherein: the high resolution grid is stored in a digital memory as a bitmap.
Claim 12
Dependent Claim 28 words
The method of claim 10 , wherein rendering the glyph includes: adding unmarked fine pixels to an edge of the bitmap to allow for the marking or erasing.
Claim 13
Dependent Claim 17 words
The method of claim 10 , further comprising: adjusting a bitmap metric after the marking or erasing.
Claim 14
Dependent Claim 27 words
The method of claim 1 , wherein: the marking or erasing are performed by a rasterizer during rendering, the rasterizer being a first component of a renderer.
Claim 15
Dependent Claim 18 words
The method of claim 13 , further comprising: downsampling the bitmap representing the adjusted version of the glyph.
Claim 16
Dependent Claim 22 words
The method of claim 13 , wherein: the downsampling is performed by a downsampler that is a second component of the renderer.
Claim 17
Dependent Claim 17 words
The method of claim 1 , where the particular direction of the line of pixels is vertical.
Claim 18
Dependent Claim 181 words
A computer-program product, tangibly stored on machine-readable storage medium, the product comprising instructions operable to cause a computing device to perform a method comprising: receiving a glyph for display at a size on a raster output device; receiving a grid ratio, the grid ratio specifying an integer number of fine pixels of a high resolution grid that correspond to a device pixel of a raster of the output device; rendering the glyph at the size on the high resolution grid, the high resolution grid including fine pixels marked to represent the glyph and fine pixels that are unmarked; determining for each line of pixels of the high resolution grid in a particular direction, a line-specific, per-transition adjustment number, the line-specific, per-transition adjustment number determined from a scaled stem width for the glyph; and in each line of pixels of the high resolution grid, marking or erasing the line-specific, per-transition adjustment number of fine pixels in the high resolution grid at each transition from a marked fine pixel to an unmarked fine pixel in a particular direction of the line of pixels.
Claim 19
Dependent Claim 181 words
A computer-program product, tangibly stored on machine-readable storage medium, the product comprising instructions operable to cause a computing device to perform a method comprising: receiving a glyph for display at a size on a raster output device; receiving a grid ratio, the grid ratio specifying an integer number of fine pixels of a high resolution grid that correspond to a device pixel of a raster of the output device; rendering the glyph at the size on the high resolution grid, the high resolution grid including fine pixels marked to represent the glyph and fine pixels that are unmarked; determining for each line of pixels of the high resolution grid in a particular direction, a line-specific, per-transition adjustment number, the line-specific, per-transition adjustment number determined from a scaled stem width for the glyph; and in each line of pixels of the high resolution grid, marking or erasing the line-specific, per-transition adjustment number of fine pixels in the high resolution grid at each transition from a marked fine pixel to an unmarked fine pixel in a particular direction of the line of pixels.
Claim 20
Dependent Claim 88 words
The product of claim 17 , wherein the glyph is associated with a font, and wherein determining the line-specific, per-transition adjustment number includes: obtaining a standard stem width of the font; calculating the scaled stem width for the glyph by scaling the standard stem width to the size at which the glyph is to be displayed on the raster output device; calculating an adjustment number from the scaled stem width; and determining the integer line-specific, per-transition adjustment number, the determining being based at least on the adjustment number.
Claim 21
Dependent Claim 86 words
The product of claim 18 , wherein determining the integer line-specific, per-transition adjustment number includes: defining a pattern of the adjustment number of fine pixels for distribution among lines of fine pixels of the high resolution grid; and using the pattern to select, for each line of fine pixels of the high resolution grid in the particular direction, the integer number of fine pixels to be marked or erased at each transition from a marked fine pixel to an unmarked fine pixel in a particular direction.
Claim 22
Dependent Claim 43 words
The product of claim 19 , wherein: the pattern is a form of dithering in which the line-specific, per-transition adjustment number does not vary by more than one fine pixel from one line of fine pixels to a next line of fine pixels.
Claim 23
Dependent Claim 37 words
The product of claim 18 , wherein: the calculating of the adjustment number is based on one of a function for providing synthetic bold, a function for providing synthetic light, or a function for providing optical compensation.
Claim 24
Dependent Claim 50 words
The product of claim 21 , wherein: the function for providing synthetic bold and the function for providing synthetic light each defines a linear relationship between adjustment number and scaled stem width; and the function for optical compensation defines an inversely proportional relationship between adjustment number and scaled stem width.
Claim 25
Dependent Claim 61 words
The product of claim 18 , wherein calculating an adjustment number includes: calculating a component for producing a synthetic bold appearance or a synthetic light appearance; calculating a component for optical compensation, the calculating of the component for optical compensation accounting for the component for producing a bold appearance or the component for producing the synthetic light; and combining the components.
Claim 26
Dependent Claim 172 words
The product of claim 18 , wherein the grid ratio specifies a number of rows of fine pixels that correspond to a height of the device pixel, wherein the line of fine pixels is a row in the high resolution grid, wherein the adjustment number determined based on the scaled stem width is a first adjustment number, and wherein the method further comprises: calculating a second adjustment number by dividing the first adjustment number by the number of rows of fine pixels corresponding to the height of the device pixel; when the second adjustment number is not an integer, selecting two integers that delimit the second adjustment number; defining a pattern of a number of instances of the two integers, a sum of values of the instances in the pattern equaling the first adjustment number, the number of instances equaling the number of rows of fine pixels corresponding to the height of the device pixel; and selecting, based on the pattern, one of the two integers as the line-specific, per-transition adjustment number.
Claim 27
Dependent Claim 57 words
The product of claim 17 , wherein obtaining the integer number includes: calculating an adjustment number from the size at which the glyph is to be displayed, wherein the size is expressed as either points pattern or pixels per em; and determining the line-specific, per-transition adjustment number, the determining being based at least on the adjustment number.
Claim 28
Dependent Claim 20 words
The product of claim 17 , wherein: the high resolution grid is stored in a digital memory as a bitmap.
Claim 29
Dependent Claim 28 words
The product of claim 26 , wherein rendering the glyph includes: adding unmarked fine pixels to an edge of the bitmap to allow for the marking or erasing.
Claim 30
Dependent Claim 20 words
The product of claim 26 , wherein the method further comprises: adjusting a bitmap metric after the marking or erasing.
Claim 31
Dependent Claim 28 words
The product of claim 17 , wherein: the marking or erasing are performed by a rasterizer during rendering, the rasterizer being a first component of a rendering engine.
Claim 32
Dependent Claim 21 words
The product of claim 29 , wherein the method further comprises: downsampling the bitmap representing the adjusted version of the glyph.
Claim 33
Dependent Claim 23 words
The product of claim 29 , wherein: the downsampling is performed by a downsampler that is a second component of the rendering engine.
Claim 34
Dependent Claim 17 words
The product of claim 17 , where the particular direction of the line of pixels is vertical.
Claim 35
Independent Claim 162 words
A system comprising: one or more computers configured to perform operations comprising: receiving a glyph for display at a size on a raster output device; receiving a grid ratio, the grid ratio specifying an integer number of fine pixels of a high resolution grid that correspond to a device pixel of a raster of the output device; rendering the glyph at the size on the high resolution grid, the high resolution grid including fine pixels marked to represent the glyph and fine pixels that are unmarked; determining, for each line of pixels of the high resolution grid in a particular direction, a line-specific, per-transition adjustment number, the adjustment number determined from a scaled stem width for the glyph; and in each line of pixels of the high resolution grid, marking or erasing the line-specific, per-transition adjustment number of fine pixels in the high resolution grid at each transition from a marked fine pixel to an unmarked fine pixel in the particular direction.
Claim 36
Independent Claim 162 words
A system comprising: one or more computers configured to perform operations comprising: receiving a glyph for display at a size on a raster output device; receiving a grid ratio, the grid ratio specifying an integer number of fine pixels of a high resolution grid that correspond to a device pixel of a raster of the output device; rendering the glyph at the size on the high resolution grid, the high resolution grid including fine pixels marked to represent the glyph and fine pixels that are unmarked; determining, for each line of pixels of the high resolution grid in a particular direction, a line-specific, per-transition adjustment number, the adjustment number determined from a scaled stem width for the glyph; and in each line of pixels of the high resolution grid, marking or erasing the line-specific, per-transition adjustment number of fine pixels in the high resolution grid at each transition from a marked fine pixel to an unmarked fine pixel in the particular direction.

References Cited (Backward Citations)

US4200861A Cited
US4580231A Cited
US4331955A Cited
US4486785A Cited
US4591844A Cited
US4667247A Cited
US4672369A Cited
US4675830A Cited
US4780711A Cited
US4827255A Cited
US4720705A Cited
EP0214547B1 Cited
US4907282A Cited
US4783652A Cited
US4851825A Cited
EP0304509B1 Cited
US5132674A Cited
US5280577A Cited
US4945351A Cited
US4908780A Cited
US5304989A Cited
US5099435A Cited
US5325479A Cited
EP0397299B1 Cited
GB2236463B Cited
EP0428356B1 Cited
EP0435391B1 Cited
US5299308A Cited
US5386509A Cited
US5241653A Cited
EP0468652B1 Cited
US5459828A Cited
US5278678A Cited
US5301269A Cited
US5857067A Cited
US5301267A Cited
US5771048A Cited
US5416898A Cited
US5808600A Cited
US5398306A Cited
EP0590923B1 Cited
US5673371A Cited
US5664086A Cited
US5568597A Cited
US5633991A Cited
EP0654778B1 Cited
US5959634A Cited
US5544294A Cited
EP0667596A1 Cited
US5519824A Cited
JP3243370B2 Cited
US5754187A Cited
US5734388A Cited
US5684510A Cited
EP0693740B1 Cited
US5995086A Cited
US5517601A Cited
US5909221A Cited
DE69622961T2 Cited
US5943063A Cited
EP0772144B1 Cited
US5825370A Cited
US6104833A Cited
US5910805A Cited
US5929866A Cited
US6128415A Cited
US5940080A Cited
US5852448A Cited
US6408109B1 Cited
US6266444B1 Cited
US6005588A Cited
US6950986B1 Cited
US6288725B1 Cited
US6229521B1 Cited
US6288726B1 Cited
US6369902B1 Cited
US6323879B1 Cited
US6088644A Cited
US6459431B1 Cited
US6141441A Cited
US6356278B1 Cited
US6236390B1 Cited
US20020093476A1 Cited
US20010048764A1 Cited
US6342890B1 Cited
US6438576B1 Cited
US6614432B1 Cited
US6377262B1 Cited
US6282327B1 Cited
US6330003B1 Cited
US20040212620A1 Cited
US6563502B1 Cited
EP1077445B1 Cited
US6384839B1 Cited
US20020108521A1 Cited
US20020105515A1 Cited
US20020093502A1 Cited
US20020173947A1 Cited
US20030080969A1 Cited
US6897879B2 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2013-05-17 2013-11-16 2014-05-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2017-05-17 2017-11-16 2018-05-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2021-05-17 2021-11-16 2022-05-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag