IP Library Granted Patent US 10,936,792
Granted Patent B2
US 10,936,792 · App. 15/850,853 · Granted Mar 2, 2021

Harmonizing font contours

Inventor: William Elliott Betts (Andover, MA)
Assignee: Monotype Imaging Inc.
G06F40/109G06T11/203
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 10,936,792
App. No.
15/850,853
Granted
Mar 2, 2021
Kind
B2
Abstract

A system includes a computing device that includes a memory configured to store instructions. The system also includes a processor to execute the instructions to perform operations that include receiving data representing a character in multiple variants of a font. Operations also include, for each font variant, dividing the character into segments, identifying one of the segments, for each font variant, as representing an equivalent portion of the character, and, determining one minimum number of curve control points for representing each of the identified segments. Operations also include determining a representation of each of the identified segments that uses the determined one minimum number of control points, and, storing data that represents the determined representations of the identified segments for later retrieval of the character in one or more of the multiple variants of the font.

Claims (51)

1. A computing device implemented method comprising:

receiving data representing a character in multiple variants of a font;

for each font variant, dividing the character into segments;

identifying one of the segments, for each font variant, as representing an equivalent portion of the character;

determining one number of curve control points for commonly representing each of the identified segments;

determining a representation of each of the identified segments that uses the determined one number of control points for commonly representing each of the identified segments; and

storing data that represents the determined representations of the identified segments for later retrieval of the character in one or more of the multiple variants of the font.

2. The computing device implemented method of claim 1 , wherein the representation of each of the identified segments that uses the determined one number of control points is stored in a single variable font data file.

3. The computing device implemented method of claim 2 , wherein the single variable font data file stores data representing each of the variants of the font.

4. The computing device implemented method of claim 3 , wherein the single variable font data file stores data representing additional variants of the font.

5. The computing device implemented method of claim 1 , wherein the one number of control points is the maximum number of control points used by at least one of the identified segments compared to the other identified segments.

6. The computing device implemented method of claim 1 , wherein each identified segment is represented by an equal number of control points.

7. The computing device implemented method of claim 1 , wherein determining a representation for at least one of the identified segments includes determining one or more curves in a geometric manner that approximately track the shape of the respective segment.

8. The computing device implemented method of claim 7 , wherein for each segment, each curve is a quadratic curve.

9. The computing device implemented method of claim 7 , wherein for each segment, each curve is a quadratic Bezier curve.

10. The computing device implemented method of claim 7 , wherein for each segment, each curve is a quadratic curve and data representing the one or more curves is absent data representing at least one point located at a midpoint between two control points of the quadratic curve.

11. A system comprising:

a computing device comprising:

a memory configured to store instructions; and

a processor to execute the instructions to perform operations comprising:

receiving data representing a character in multiple variants of a font;

for each font variant, dividing the character into segments;

identifying one of the segments, for each font variant, as representing an equivalent portion of the character;

determining one number of curve control points for commonly representing each of the identified segments;

determining a representation of each of the identified segments that uses the determined one number of control points for commonly representing each of the identified segments; and

storing data that represents the determined representations of the identified segments for later retrieval of the character in one or more of the multiple variants of the font.

12. The system of claim 11 , wherein the representation of each of the identified segments that uses the determined one number of control points is stored in a single variable font data file.

13. The system of claim 12 , wherein the single variable font data file stores data representing each of the variants of the font.

14. The system of claim 13 , wherein the single variable font data file stores data representing additional variants of the font.

15. The system of claim 11 , wherein the one number of control points is the maximum number of control points used by at least one of the identified segments compared to the other identified segments.

16. The system of claim 11 , wherein each identified segment is represented by an equal number of control points.

17. The system of claim 11 , wherein determining a representation for at least one of the identified segments includes determining one or more curves in a geometric manner that approximately track the shape of the respective segment.

18. The system of claim 17 , wherein for each segment, each curve is a quadratic curve.

19. The system of claim 17 , wherein for each segment, each curve is a quadratic Bezier curve.

20. The system of claim 17 , wherein for each segment, each curve is a quadratic curve and data representing the one or more curves is absent data representing at least one point located at a midpoint between two control points of the quadratic curve.

21. One or more non-transitory computer readable media storing instructions that are executable by a processing device, and upon such execution cause the processing device to perform operations comprising:

receiving data representing a character in multiple variants of a font;

for each font variant, dividing the character into segments;

identifying one of the segments, for each font variant, as representing an equivalent portion of the character;

determining one number of curve control points for commonly representing each of the identified segments;

determining a representation of each of the identified segments that uses the determined one number of control points for commonly representing each of the identified segments; and

storing data that represents the determined representations of the identified segments for later retrieval of the character in one or more of the multiple variants of the font.

22. The non-transitory computer readable media of claim 21 , wherein the representation of each of the identified segments that uses the determined one number of control points is stored in a single variable font data file.

23. The non-transitory computer readable media of claim 22 , wherein the single variable font data file stores data representing each of the variants of the font.

24. The non-transitory computer readable media of claim 23 , wherein the single variable font data file stores data representing additional variants of the font.

25. The non-transitory computer readable media of claim 21 , wherein the one number of control points is the maximum number of control points used by at least one of the identified segments compared to the other identified segments.

26. The non-transitory computer readable media of claim 21 , wherein each identified segment is represented by an equal number of control points.

27. The non-transitory computer readable media of claim 21 , wherein determining a representation for at least one of the identified segments includes determining one or more curves in a geometric manner that approximately track the shape of the respective segment.

28. The non-transitory computing device implemented method of claim 27 , wherein for each segment, each curve is a quadratic curve.

29. The non-transitory computing device implemented method of claim 27 , wherein for each segment, each curve is a quadratic Bezier curve.

30. The non-transitory computing device implemented method of claim 27 , wherein for each segment, each curve is a quadratic curve and data representing the one or more curves is absent data representing at least one point located at a midpoint between two control points of the quadratic curve.

Assignments (6)
SECURITY INTEREST Recorded Mar 26, 2024
From: MONOTYPE IMAGING HOLDINGS INC.; MARVEL PARENT, LLC; IMAGING HOLDINGS CORP.; MONOTYPE ITC INC.; MYFONTS INC.; THE HOEFLER TYPE FOUNDRY, INC.; MONOTYPE STOCK 1 LLC,; MONOTYPE IMAGING INC.
To: BLUE OWL CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 066900/0915 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2024
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: MONOTYPE IMAGING INC.; MYFONTS INC.
Reel/Frame 066651/0123 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2024
From: AUDAX PRIVATE DEBT LLC
To: MONOTYPE IMAGING INC.; MYFONTS INC.
Reel/Frame 066739/0610 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 14, 2019
From: MONOTYPE IMAGING INC.; MYFONTS INC.
To: AUDAX PRIVATE DEBT LLC, AS COLLATERAL AGENT
Reel/Frame 050716/0514 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Oct 14, 2019
From: MONOTYPE IMAGING INC.; MYFONTS INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH
Reel/Frame 050716/0539 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2018
From: BETTS, WILLIAM ELLIOTT
To: MONOTYPE IMAGING INC.
Reel/Frame 044856/0284 →
Continuity (1)
Related Publication 20190197087A1 · Jun 27, 2019