US2008165193A1PendingUtilityA1

Iteratively solving constraints in a font-hinting language

48
Assignee: MICROSOFT CORPPriority: Jan 26, 2004Filed: Nov 10, 2006Published: Jul 10, 2008
Est. expiryJan 26, 2024(expired)· nominal 20-yr term from priority
G06T 11/23G09G 5/24G06F 3/00G06T 11/00
48
PatentIndex Score
0
Cited by
0
References
0
Claims

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

exact text as granted — not AI-modified
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.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.