Adjusted stroke rendering
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 and having one or more strokes, including one or more horizontal or vertical strokes;
calculating an initial adjustment value for the glyph;
determining an offset amount based on the initial adjustment value such that a minimum number of device pixels will be marked by the one or more horizontal or vertical strokes after adjusting the density values of one or more device pixels representing the glyph;
rendering a high resolution representation of the glyph so that one or more edges of at least one stroke is offset from a device resolution grid by the offset amount, the high resolution representation representing a set of device pixels each having an initial density value;
for one or more of the device pixels in the set of device pixels, calculating a length of an edge of a stroke that passes through the device pixel; and
adjusting the density values of the one or more device pixels by a final adjustment value based on the initial adjustment value and the length of an edge of a stroke passing through the device pixel.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus implementing and using techniques for rendering a stroke (e.g., a line or glyph). An initial adjustment value can be calculated for the stroke, and an offset amount calculated based on the initial adjustment value, such that a minimum number of device pixels will be marked by the stroke after adjusting density values of device pixels representing the stroke. A high resolution representation of the stroke (e.g., a set of device pixels each having an initial density value) is rendered so that one or more edges of the stroke is offset from a device resolution grid by the offset amount. A length of an edge of the stroke that passes through a device pixel can be calculated, and the density value of the device pixel adjusted by a final adjustment value based on the initial adjustment value and the length of the edge of the stroke.
74 Citations
24 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 and having one or more strokes, including one or more horizontal or vertical strokes; calculating an initial adjustment value for the glyph; determining an offset amount based on the initial adjustment value such that a minimum number of device pixels will be marked by the one or more horizontal or vertical strokes after adjusting the density values of one or more device pixels representing the glyph; rendering a high resolution representation of the glyph so that one or more edges of at least one stroke is offset from a device resolution grid by the offset amount, the high resolution representation representing a set of device pixels each having an initial density value; for one or more of the device pixels in the set of device pixels, calculating a length of an edge of a stroke that passes through the device pixel; and adjusting the density values of the one or more device pixels by a final adjustment value based on the initial adjustment value and the length of an edge of a stroke passing through the device pixel. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of rendering a stroke, comprising:
-
receiving a path representing a stroke, the stroke to be rendered at a size; calculating an initial adjustment value for the stroke; determining an offset amount based on the initial adjustment value such that a minimum number of device pixels will be marked by the stroke after adjusting density values of one or more device pixels representing the stroke; rendering a high resolution representation of the stroke so that one or more edges of the stroke is offset from a device resolution grid by the offset amount, the high resolution representation representing a set of device pixels each having an initial density value; 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 adjusting the density values of the one or more device pixels by a final adjustment value based on the initial adjustment value and the length of an edge of the stroke passing through the device pixel.
-
-
9. 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 and having one or more strokes, including one or more horizontal or vertical strokes; calculate an initial adjustment value for the glyph; determine an offset amount based on the initial adjustment value such that a minimum number of device pixels will be marked by the one or more horizontal or vertical strokes after adjusting the density values of one or more device pixels representing the glyph; render a high resolution representation of the glyph so that one or more edges of at least one stroke is offset from a device resolution grid by the offset amount, the high resolution representation representing a set of device pixels each having an initial density value; for one or more of the device pixels in the set of device pixels, calculate a length of an edge of a stroke that passes through the device pixel; and adjust the density values of the one or more device pixels by a final adjustment value based on the initial adjustment value and the length of an edge of a stroke passing through the device pixel. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. 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, the stroke to be rendered at a size; calculate an initial adjustment value for the stroke; determine an offset amount based on the initial adjustment value such that a minimum number of device pixels will be marked by the stroke after adjusting density values of one or more device pixels representing the stroke; render a high resolution representation of the stroke so that one or more edges of the stroke is offset from a device resolution grid by the offset amount, the high resolution representation representing a set of device pixels each having an initial density value; 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 adjust the density values of the one or more device pixels by a final adjustment value based on the initial adjustment value and the length of an edge of the stroke passing through the device pixel.
-
-
17. A system for rendering a glyph to make the glyph more readable, comprising:
-
means for receiving a glyph associated with a font, the glyph to be rendered at a size and having one or more strokes, including one or more horizontal or vertical strokes; means for calculating an initial adjustment value for the glyph; means for determining an offset amount based on the initial adjustment value such that a minimum number of device pixels will be marked by the one or more horizontal or vertical strokes after adjusting the density values of one or more device pixels representing the glyph; means for rendering a high resolution representation of the glyph so that one or more edges of at least one stroke is offset from a device resolution grid by the offset amount, the high resolution representation representing a set of device pixels each having an initial density value; for one or more of the device pixels in the set of device pixels, means for calculating a length of an edge of a stroke that passes through the device pixel; and means for adjusting the density values of the one or more device pixels by a final adjustment value based on the initial adjustment value and the length of an edge of a stroke passing through the device pixel. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A system for rendering a stroke, comprising:
-
means for receiving a path representing a stroke, the stroke to be rendered at a size; means for calculating an initial adjustment value for the stroke; means for determining an offset amount based on the initial adjustment value such that a minimum number of device pixels will be marked by the stroke after adjusting density values of one or more device pixels representing the stroke; means for rendering a high resolution representation of the stroke so that one or more edges of the stroke is offset from a device resolution grid by the offset amount, the high resolution representation representing a set of device pixels each having an initial density value; 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 means for adjusting the density values of the one or more device pixels by a final adjustment value based on the initial adjustment value and the length of an edge of the stroke. passing through the device pixel.
-
Specification