Winding order test for digital fonts
First Claim
1. A computer-implemented method, comprising:
- receiving a glyph, the glyph having an outline that has an outside path;
identifying four extrema points of the outline, each extrema point being an intersection of two vectors obtained from the outline;
for each of the extrema points, calculating a cross product of the two vectors intersecting at the extrema point, wherein a positive result of the cross product indicates that the outside path is wound in a first direction, and wherein a negative result of the cross product indicates that the outside path is wound in an opposite, second direction; and
determining a winding order of the outside path based on the cross products calculated;
wherein the receiving step is performed by a computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus, including computer program products, that implement a method for determining a winding order for a glyph associated with a font. The glyph has an outline that has an outside path. In one aspect, a method includes identifying four extrema points of the outline, each being an intersection of two vectors obtained from the outline; and for each of the points, calculating a cross product of the two vectors intersecting at the point. A positive result indicates that the outside path is wound in a first direction, and a negative result indicates that the outside path is wound in an opposite, second direction. The winding order of the outside path is determined based on the cross products calculated. In a particular implementation, the method determines that the outside path is wound counter clockwise when three or four of the results are positive.
-
Citations
25 Claims
-
1. A computer-implemented method, comprising:
-
receiving a glyph, the glyph having an outline that has an outside path; identifying four extrema points of the outline, each extrema point being an intersection of two vectors obtained from the outline; for each of the extrema points, calculating a cross product of the two vectors intersecting at the extrema point, wherein a positive result of the cross product indicates that the outside path is wound in a first direction, and wherein a negative result of the cross product indicates that the outside path is wound in an opposite, second direction; and determining a winding order of the outside path based on the cross products calculated; wherein the receiving step is performed by a computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-program product, tangibly stored on non-volatile memory, the product comprising instructions operable to cause a computing device to perform a method comprising:
-
receiving a glyph, the glyph having an outline that has an outside path; identifying four extrema points of the outline, each extrema point being an intersection of two vectors obtained from the outline; for each of the extrema points, calculating a cross product of the two vectors intersecting at the extrema point, wherein a positive result of the cross product indicates that the outside path is wound in a first direction, and wherein a negative result of the cross product indicates that the outside path is wound in an opposite, second direction; and determining a winding order of the outside path based on the cross products calculated. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
means for receiving a glyph, the glyph having an outline that has an outside path; means for identifying four extrema points of the outline, each extrema point being an intersection of two vectors obtained from the outline; means for calculating a cross product of the two vectors intersecting at the extrema point for each of the extrema points, wherein a positive result of the cross product indicates that the outside path is wound in a first direction, and wherein a negative result of the cross product indicates that the outside path is wound in an opposite, second direction; and means for determining a winding order of the outside path based on the cross products calculated. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification