Iteratively solving constraints in a font-hinting language
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-modified1 . 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.