IP Library Patent Application 11558720
Patent Application
App. No. 11/558,720

ITERATIVELY SOLVING CONSTRAINTS IN A FONT-HINTING LANGUAGE

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 None
App. No.
11/558,720
Abstract

The principles of the present invention relate to iteratively solving constraints in a font-hinting language. A computing system accesses a more complex constraint that can not be natively expressed based on the vocabulary of the font-hinting language, the more complex constraint constraining at least a portion of the outline. The computing system decomposes the more complex constraint into a plurality of simpler constraints that can be natively expressed based on the vocabulary of the font-hinting language. The computer system represents each of the simpler constraints in corresponding font-hinting language instructions that can be iteratively processed to at least approximate a solution to the more complex constraint. The font-hinting language instructions are iteratively processed at the computing system or another computing system to cause a graphical object to comply, within a specific tolerance, with the more complex constraint.

Claims (21)

1 . In a computing system that has access to a set of control points, the set of control points for generating an outline of a graphical object, the outline being utilized to determine how the graphical object is rendered, the position of some portions of the outline potentially being constrained to pre-determined locations, a method for using a font-hinting language to represent an iterative solution to a constraint, the method comprising:

identifying features of the graphical object by identifying a set of control points and identifying a more complex constraint that cannot be natively expressed based on the vocabulary of the font hinting language;

accessing the more complex constraint that cannot be natively expressed based on the vocabulary of the font-hinting language, the more complex constraint constraining at least a portion of the outline;

decomposing, without rendering, the more complex constraint into a plurality of simpler constraints that can be natively expressed based on the vocabulary of the font-hinting language; and

representing each of the simpler constraints in corresponding font-hinting language instructions that are iteratively processed to at least approximate a solution to the more complex constraint, such that the simpler constraints are subsequently used to print or display the graphical object.

2 . The method as recited in claim 1 , wherein accessing a more complex constraint that can not be natively expressed based on the vocabulary of the font-hinting language comprises accessing a constraint that is based on a power or exponential function.

3 . The method as recited in claim 1 , wherein accessing a more complex constraint that can not be natively expressed based on the vocabulary of the font-hinting language comprises accessing a constraint that requires a plurality of control points to be moved simultaneously.

4 . The method as recited in claim 1 , wherein accessing a more complex constraint that can not be natively expressed based on the vocabulary of the font-hinting language comprises accessing circularly dependent constraints.

5 . The method as recited in claim 1 , further comprising identifying features of the graphical object represented by a set of control points expressly representing serifs to identify a more complex constraint that cannot be natively expressed based on the vocabulary of the font hinting language.

6 . The method as recited in claim 1 , wherein decomposing the more complex constraint into a plurality of simpler constraints comprises decomposing a constraint based on a power or exponential function into a plurality of portions of a power series.

7 . The method as recited in claim 1 , wherein decomposing the more complex constraint into a plurality of simpler constraints comprises decomposing a constraint that requires a plurality of control points to be moved simultaneously into a plurality of constraints, each constraint for moving an individual control point.

8 . The method as recited in claim 1 , wherein representing each of the simpler constraints in corresponding font-hinting language instructions that can be iteratively processed to at least approximate a solution to the more complex constraint comprises representing each of the simpler constraints in TrueType® instructions.

9 . The method as recited in claim 1 , further comprising:

iteratively processing the font-hinting language instructions a finite number of times to at least approximate a solution to the more complex constraint such that the at least a portion of the outline can be altered to comply with more complex constraint;

generating an outline of the graphical object that conforms, at least within a specified tolerance, with the more complex constraint; and

generating a pixelated representation of the graphical object based on the outline, the pixelated representation for rendering at an output device.

10 . A computer program product for use in a computing system that has access to a set of control points, the set of control points for generating an outline of a graphical object, the outline being utilized to determine how the graphical object is rendered, the position of some portions of the outline potentially being constrained to pre-determined locations, the computer program product for implementing a method for using a font-hinting language to represent an iterative solution to a constraint, the computer program product comprising computer-executable instructions on a physical computer readable storage medium that, when executed by a processor, cause the computing system to perform the following:

identify features of the graphical object by identifying a set of control points and identifying a more complex constraint that cannot be natively expressed based on the vocabulary of the font hinting language;

access the more complex constraint that cannot be natively expressed based on the vocabulary of the font-hinting language, the more complex constraint constraining at least a portion of the outline;

decompose, without rendering, the more complex constraint into a plurality of simpler constraints that can be natively expressed based on the vocabulary of the font-hinting language; and

represent each of the simpler constraints in corresponding font-hinting language instructions that are iteratively processed to at least approximate a solution to the more complex constraint.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2007
From: STAMM, BEAT; HITCHCOCK, GREGORY C.; DUGGAN, MICHAEL J.
To: MICROSOFT CORPORATION
Reel/Frame 018805/0600 →