Appropriately rendering a graphical object when a corresponding outline has exact or inexact control points
Abstract
The principles of the present invention relate to appropriately rendering a graphical object when a corresponding outline has exact or inexact control points. Based on the positions of control points on an outline it is calculated, that between a first parent control point and a second parent control point, the outline passes approximately though the center of a grid location. The positions of the first and second parent control points are adjusted by a first and second fraction of the size of a grid location respectively. The position of the child control point is realigned along a second axis of the grid space based on the positions of the first and second parent control points. The child control point position is rounded by a fraction of the size of a grid location based on the positions of the first and second parent control points.
Claims
exact text as granted — not AI-modified1 . In a computing system that has access to sets of related graphical objects, each set of related graphical objects including outlines representing individual graphical objects from the related set of graphical objects, a method for dynamically altering the outline of a graphical object when the outline lacks control points, the method comprising
an act of calculating a target width for a feature of the graphical object; an act of calculating the position of center line corresponding to the feature; an act of rounding the calculated position of the center line to a grid position based on the calculated target width for the feature; and an act of adjusting the position of control points of the feature to comply with the grid position of the center line.
2 . The method as recited in claim 1 , wherein the act of calculating target width for a feature of the graphical object comprises an act of processing instructions to calculate the width of a stroke of the graphical object.
3 . The method as recited in claim 2 , wherein the act of processing instructions to calculate the width of a stroke of the graphical object comprises an act of processing instructions to calculate the width of one of a horizontal stroke, a vertical stroke, and a diagonal stroke.
4 . The method as recited in claim 1 , wherein the act of calculating target width for a feature of the graphical object comprises an act of calculating the distance between a first control point on a first side of a stroke and a second control point on a second opposite side of the stroke.
5 . The method as recited in claim 4 , wherein the act of calculating the position of center line corresponding to the feature comprises an act of calculating the position of a line that is equidistant from the first control point and the second control point.
6 . The method as recited in claim 5 , wherein the act of calculating the position of a line that is equidistant from the first control point and the second control point comprises an act of calculating the position of one of a horizontal center line, a vertical center line, and a diagonal center line.
7 . The method as recited in claim 1 , wherein the act of rounding the calculated position of the center line to a grid position based on the calculated target width for the feature comprises an act of rounding the calculated position of the center line to a full grid position.
8 . The method as recited in claim 1 , wherein the act of rounding the calculated position of the center line to a grid position based on the calculated target width for the feature comprises an act of rounding the calculated position of the center line to some fraction of a grid position.
9 . The method as recited in claim 8 , wherein the act of rounding the calculated position of the center line to some fraction of a grid position comprises an act of rounding the calculated position of the center line to a half grid position.
10 . The method as recited in claim 1 , wherein the act of adjusting the position of control points of the feature to comply with the grid position of the center line comprises an act of adjusting the position of control points of the feature upward to cause the feature to more closely resemble the defined outline of the graphical object.
11 . The method as recited in claim 1 , wherein the act of adjusting the position of control points of the feature to comply with the grid position of the center line comprises an act of adjusting the position of control points of one of a horizontal feature, a vertical feature, and a diagonal feature.
12 . A computer program product for use at a computing system that has access to sets of related graphical objects, each set of related graphical objects including outlines representing individual graphical objects from the related set of graphical objects, the computer program product for implementing a method for dynamically altering the outline of a graphical object when the outline lacks control points, the computer program product comprising one or more computer-readable media having stored thereon computer executable instructions that, when executed by a processor, cause the computer system to perform the following:
calculate a target width for a feature of the graphical object; calculate the position of center line corresponding to the feature; round the calculated position of the center line to a grid position based on the calculated target width for the feature; and adjust the position of control points of the feature to comply with the grid position of the center line.
13 . The computer program product as recited in claim 12 , wherein computer executable instructions that, when executed, cause the computer system to calculate a target width for a feature of the graphical object comprise computer executable instructions that, when executed, cause the computer system to calculate a target width for a stroke of the graphical object.
14 . The computer program product as recited in claim 12 , wherein computer executable instructions that, when executed, cause the computer system to calculate target width for a feature of the graphical object comprise computer executable instructions that, when executed, cause the computer system to calculate the distance between a first control point on a first side of a stroke and a second control point on a second opposite side of the stroke.
15 . The computer program product as recited in claim 14 , wherein computer executable instructions that, when executed, cause the computer system to calculate the distance between a first control point on a first side of the stroke and a second control point on a second opposite side of the stroke comprise computer executable instructions that, when executed, cause the computer system to calculate the position of a line that is equidistant from the first control point and the second control point.
16 . The computer program product as recited in claim 15 , wherein computer executable instructions that, when executed, cause the computer system to calculate the position of a line that is equidistant from the first control point and the second control point comprise computer executable instructions that, when executed, cause the computer system to calculate the position of one of a horizontal center line, a vertical center line, and a diagonal center line.
17 . The computer program product as recited in claim 12 , wherein computer executable instructions that, when executed, cause the computer system to round the calculated position of the center line to a grid position based on the calculated target width for the feature comprise computer executable instructions that, when executed, cause the computer system to round the calculated position of the center line to a full grid position.
18 . The computer program product as recited in claim 12 , wherein computer executable instructions that, when executed, cause the computer system to round the calculated position of the center line to a grid position based on the calculated target width for the feature comprise computer executable instructions that, when executed, cause the computer system to round the calculated position of the center line to some fraction of a grid position.
19 . The computer program product as recited in claim 12 , wherein computer executable instructions that, when executed, cause the computer system to adjust the position of control points of the feature to comply with the grid position of the center line comprise computer executable instructions that, when executed, cause the computer system to adjust the position of control points of the feature upward to cause the feature to more closely resemble the defined outline of the graphical object.
20 . A computer system comprising:
one or more processors; system memory; and one or more computer-readable media have stored thereon computer-executable instructions representing a hint processor for processing hinting instructions associated with sets of related graphical objects, each set of related graphical objects including outlines representing individual graphical objects from the related set of graphical objects, the hint processor configured to:
calculate target widths features of the graphical objects;
calculate the positions of center lines corresponding to the features;
round the calculated positions of the center lines to grid positions based on the calculated target widths for the features; and
adjust the position of control points of the features to comply with the grid positions of the center lines.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.