IP Library Granted Patent US 7,265,757
Granted Patent B2
US 7,265,757 · App. 10/856,655 · Granted Sep 4, 2007

Appropriately rendering a graphical object when a corresponding outline lacks control points

Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,265,757
App. No.
10/856,655
Granted
Sep 4, 2007
Kind
B2
Abstract

The principles of the present invention relate to appropriately rendering a graphical object when a corresponding outline lacks necessary control points. A computer system calculates the target width for a feature of the graphical object. The computer system calculates the position of a center line corresponding to the feature. The computer system rounds the calculated position of the center line to a grid position based on the calculated target width for the feature. The computer system adjusts the position of one or more control points of the feature to comply with the grid position of the center line.

Claims (36)

1. 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 optimizing how a graphical object is to be rendered when a corresponding outline lacks necessary control points for rendering a feature of the graphical object, the method comprising:

an act of a computing system calculating a target width for a feature of a graphical object;

an act of the computing system calculating a position of a center line corresponding to the feature;

an act of the computing system rounding the calculated position of the center line to a grid position based on the calculated target width for the feature;

an act of the computing system adjusting positioning of one or more existing control points of the feature to comply with the grid position of the center line; and

an act of the computing system rendering the graphical object on a display device, wherein the rendered graphical object includes the feature and utilizes the control points for the feature which are adjusted to comply with the grid position of the center line.

2. The method as recited in claim 1 , wherein the act of calculating the target width for a feature of the graphical object comprises an act of calculating the target width for a vertical stroke of a character of text.

3. The method as recited in claim 1 , wherein the act of calculating the target width for a feature of the graphical object comprises an act of calculating the target width for a horizontal stroke of a character of text.

4. The method as recited in claim 1 , wherein the act of calculating the target width for a feature of the graphical object comprises an act of calculating the target width for a diagonal stroke of a character of text.

5. The method as recited in claim 1 , wherein the act of calculating the target width for a feature of the graphical object comprises an act of calculating the target width based on the type size and resolution the graphical object is to be rendered at.

6. The method as recited in claim 1 , wherein the act of calculating the target width for a feature of the graphical object comprises an act of a hint processor processing instructions loaded from a font program.

7. The method as recited in claim 1 , wherein the act of calculating the position of a center line corresponding to the feature comprises an act of calculating the position of a center line corresponding to a horizontal stroke of a character of text.

8. The method as recited in claim 1 , wherein the act of calculating the position of a center line corresponding to the feature comprises an act of calculating the position of a center line corresponding to a vertical stroke of a character of text.

9. The method as recited in claim 1 , wherein the act of calculating the position of a center line corresponding to the feature comprises an act of calculating the position of a center line corresponding to a diagonal stroke of a character of text.

10. The method as recited in claim 1 , wherein the act of calculating the position of a center line corresponding to the feature comprises an act of calculating the position of a center line based on a position of the one or more existing control points on the outline.

11. The method as recited in claim 1 , wherein the act of calculating the position of a center line corresponding to the feature comprises an act of a hint processor processing instructions loaded from a font program.

12. 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 one-half grid position.

13. 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.

14. 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 based on the calculated target width for a character of text.

15. 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 a hint processor processing instructions loaded from a font program.

16. The method as recited in claim 1 , wherein the act of adjusting the positioning of the one or more existing control points of the feature to comply with the grid position of the center line comprises an act of adjusting the positioning of the one or more existing control points based on the calculated center line and original center of the feature.

17. The method as recited in claim 1 , wherein the act of adjusting the positioning of the one or more existing control points of the feature to comply with the grid position of the center line comprises an act of adjusting the positioning of the one or more existing control points perpendicular to the direction of the stroke.

18. The method as recited in claim 1 , wherein the act of adjusting the positioning of the one or more existing control points of the feature to comply with the grid position of the center line comprises an act of a hint processor processing instructions loaded from a font program.

19. The method as recited in claim 1 , wherein each grid location comprises a pixel.

20. A computer program product for use 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, the computer program product for implementing a method for dynamically optimizing how a graphical object is to be rendered when a corresponding outline lacks necessary control points for rendering a feature of the graphical object, the computer program product comprising;

one or more computer-readable media having stored thereon instructions that, when executed by a processor, cause the computing system to perform the following:

calculate a target width for a feature of a graphical object;

calculate a position of a 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;

adjust positioning of one or more existing control points of the feature to comply with the grid position of the center line; and

render the graphical object on a display device, wherein the rendered graphical object includes the feature and utilizes the control points for the feature which are adjusted to comply with the arid position of the center line.

21. 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 optimizing how a graphical object is to be rendered when a corresponding outline lacks necessary control points for rendering a feature of the graphical object, the method comprising:

a computing system calculating a target width for a feature of a graphical object;

the computing system calculating a position of a center line corresponding to the feature;

the computing system performing a step for manipulating the position of control points of the feature to comply with a rounded position for the center line; and

the computing system rendering the feature of the graphical object on a display device, wherein the rendered graphical object includes the control points for the feature which are adjusted comply with the grid position of the center line.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
CONFIRMATORY LICENSE Recorded Jul 9, 2010
From: AUBURN UNIVIERSITY
To: NATIONAL INSTITUTES OF HEALTH (NIH), U.S. DEPT. OF HEALTH AND HUMAN SERVICES (DHHS), U.S. GOVERNMENT
Reel/Frame 024658/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2004
From: STAMM, BEAT; HITCHCOCK, GREGORY C.; DUGGAN, MICHAEL J.
To: MICROSOFT CORPORATION
Reel/Frame 015410/0605 →
Continuity (1)
Related Publication 20050264571A1 · Dec 1, 2005