Edge detection based stroke adjustment
First Claim
1. A method of rendering a glyph to make the glyph more readable, comprising:
- receiving a glyph associated with a font, the glyph to be rendered at a size;
calculating a set of initial density values to provide one density value for each of a set of device pixels to represent the glyph;
calculating an initial adjustment value for the glyph;
for one or more of the device pixels in the set of device pixels, calculating a length of an edge of the glyph that passes through the device pixel; and
for one or more of the device pixels, adjusting the initial density value of the device pixel by a final adjustment value, the final adjustment value based upon the initial adjustment value and the length of the edge of the glyph passing through the device pixel.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus, including computer program products, implementing and using techniques for rendering a glyph to make it more readable. In an implementation, a glyph associated with a font to be rendered at a size is received, and a set of initial density values is calculated to provide one density value for each of a set of device pixels to represent the glyph. An initial adjustment value is calculated for the glyph. For one or more of the device pixels in the set of device pixels, a length of an edge of the glyph that passes through the device pixel is calculated. For one or more of the device pixels, the initial density value is adjusted by a final adjustment value, the final adjustment value based upon the initial adjustment value and the length of the edge of the glyph passing through the device pixel.
96 Citations
36 Claims
-
1. A method of rendering a glyph to make the glyph more readable, comprising:
-
receiving a glyph associated with a font, the glyph to be rendered at a size;
calculating a set of initial density values to provide one density value for each of a set of device pixels to represent the glyph;
calculating an initial adjustment value for the glyph;
for one or more of the device pixels in the set of device pixels, calculating a length of an edge of the glyph that passes through the device pixel; and
for one or more of the device pixels, adjusting the initial density value of the device pixel by a final adjustment value, the final adjustment value based upon the initial adjustment value and the length of the edge of the glyph passing through the device pixel. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of rendering a stroke, comprising:
-
receiving a path representing a stroke to be rendered at a given stroke width;
calculating a set of initial density values to provide one density value for each of a set of device pixels to represent the stroke;
calculating an initial adjustment value for the stroke;
for one or more of the device pixels in the set of device pixels, calculating a length of an edge of the stroke that passes through the device pixel; and
for one or more of the device pixels, adjusting the initial density value of the device pixel by a final adjustment value, the final adjustment value based upon the initial adjustment value and the length of the edge of the stroke passing through the device pixel.
-
-
11. A computer-implemented method, comprising:
-
receiving a plurality of glyphs to be rendered; and
for each glyph, before rasterizing a representation of the glyph, using a scaled stem width of the glyph to select a rendering policy for rendering the glyph. - View Dependent Claims (12)
-
-
13. A computer program product, tangibly stored on a computer-readable medium, for rendering a glyph to make the glyph more readable, comprising instructions operable to cause a programmable processor to:
-
receive a glyph associated with a font, the glyph to be rendered at a size;
calculate a set of initial density values to provide one density value for each of a set of device pixels to represent the glyph;
calculate an initial adjustment value for the glyph;
for one or more of the device pixels in the set of device pixels, calculate a length of an edge of the glyph that passes through the device pixel; and
for one or more of the device pixels, adjust the initial density value of the device pixel by a final adjustment value, the final adjustment value based upon the initial adjustment value and the length of the edge of the glyph passing through the device pixel. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer program product, tangibly stored on a computer-readable medium, for rendering a stroke, comprising instructions operable to cause a programmable processor to:
-
receive a path representing a stroke to be rendered at a given stroke width;
calculate a set of initial density values to provide one density value for each of a set of device pixels to represent the stroke;
calculate an initial adjustment value for the stroke;
for one or more of the device pixels in the set of device pixels, calculate a length of an edge of the stroke that passes through the device pixel; and
for one or more of the device pixels, adjust the initial density value of the device pixel by a final adjustment value, the final adjustment value based upon the initial adjustment value and the length of the edge of the stroke passing through the device pixel.
-
-
23. A computer program product, tangibly stored on a computer-readable medium, for rendering a stroke, comprising instructions operable to cause a programmable processor to:
-
receive a plurality of glyphs to be rendered; and
for each glyph, before rasterizing a representation of the glyph, use a scaled stem width of the glyph to select a rendering policy for rendering the glyph. - View Dependent Claims (24)
-
-
25. A system for rendering a glyph, the system comprising:
-
means for receiving a glyph associated with a font, the glyph to be rendered at a size;
means for calculating a set of initial density values to provide one density value for each of a set of device pixels to represent the glyph;
means for calculating an initial adjustment value for the glyph;
for one or more of the device pixels in the set of device pixels, means for calculating a length of an edge of the glyph that passes through the device pixel; and
for one or more of the device pixels, means for adjusting the initial density value of the device pixel by a final adjustment value, the final adjustment value based upon the initial adjustment value and the length of the edge of the glyph passing through the device pixel. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A system of rendering a stroke, comprising:
-
means for receiving a path representing a stroke to be rendered at a given stroke width;
means for calculating a set of initial density values to provide one density value for each of a set of device pixels to represent the stroke;
means for calculating an initial adjustment value for the stroke;
for one or more of the device pixels in the set of device pixels, means for calculating a length of an edge of the stroke that passes through the device pixel; and
for one or more of the device pixels, means for adjusting the initial density value of the device pixel by a final adjustment value, the final adjustment value based upon the initial adjustment value and the length of the edge of the stroke passing through the device pixel.
-
-
35. A system comprising:
-
means for receiving a plurality of glyphs to be rendered; and
for each glyph, before rasterizing a representation of the glyph, means for using a scaled stem width of the glyph to select a rendering policy for rendering the glyph.
-
-
36. The system of claim 36, wherein a rendered glyph is represented by a plurality of device pixels, and wherein a selected rendering policy includes an initial adjustment value for adjusting density values of one or more of the plurality of device pixels.
Specification