IP Library Granted Patent US 7,184,046
Granted Patent B1
US 7,184,046 · App. 09/407,381 · Granted Feb 27, 2007

Method and apparatus for font storage reduction

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,184,046
App. No.
09/407,381
Granted
Feb 27, 2007
Kind
B1
Abstract

The present invention is aimed at three specific data areas of font compression, each of whose size has become significant as other data areas have been compressed. The three data areas include model factoring, character level feature measurement (local dimensions) factoring, and typeface level feature measurement (global dimensions) factoring. In general, the invention in each area is an apparatus and method used in font compression to reduce redundant information, thereby allowing a reduction in data format (e.g., words to bytes and bytes to bits) resulting in an overall reduction in storage area for a given font collection.

Claims (125)

1. A method in a system that uses font information, comprising:

for a collection of fonts, each font having a set of characters with unique letterform features linked via skeletal associations, storing a respective factored collection-wide subset of skeletal associations, wherein the collection-wide subset of associations are stored in a generic font core data store;

for a subset of the characters in a subset of the fonts, storing respective factored character-wide data for each skeletal association in a subset of skeletal associations, wherein the factored character-wide data are stored in a generic character association database; and

for a subset of the characters for a subset of the typefaces, storing typeface-specific skeletal association data.

2. A method for generating a collection of fonts from font information, the method comprising:

providing a plurality of font information for a collection of fonts, each font comprising a plurality of characters;

loading:

a first set of character information including character information for a subset of fonts in a collection of fonts; and

a second set of character information including a core set of associations representing character information that is generic to said first set of character information; and

combining said first and second sets of character information, thereby building a collection of character models generic to said subset of fonts.

3. The method of claim 2 further including:

loading font-specific character-specific information; and

combining said font-specific character-specific information with said collection of character models, thereby generating the collection of fonts.

4. An apparatus for generating a collection of fonts from font information, the apparatus comprising:

a storage area storing a plurality of font information for a collection of fonts, each font including a plurality of characters, wherein the font information includes:

a first set of character information including character information for a subset of fonts; and

a second set of character information including a core set of associations representing character information that is a subset of said first set of character information; and

a processor routine operating on the data storage and retrieval system and coupled to the storage area, wherein the processor routine retrieves said first and second sets of character information and combines the information to thereby generate a collection of character models generic to said subset of fonts.

5. The apparatus according to claim 4 further including a third set of character information including font-specific character-specific information, said processor routine (i) retrieving said third set of character information, and (ii) combining the third set of character information with the generated collection of character models to thereby generate the collection of fonts.

6. An apparatus that uses font information, comprising:

a data storage medium, comprising:

a collection of fonts, each font comprising a plurality of characters for each of the fonts;

a collection-wide model having factored collection-wide character information;

a font-specific model having character-wide character information; and

a character-specific model having character-specific character information.

7. The apparatus according to claim 6 , wherein the collection-wide character information includes a base value, and character-wide and character-specific character information includes specific values.

8. An apparatus that uses font information, comprising:

a data storage medium, comprising:

a collection of fonts, each font comprising a plurality of characters for each of the fonts;

a collection-wide model having factored collection-wide character information;

a font-specific model having character-wide character information; and

a character-specific model having character-specific character information,

wherein the collection-wide character information includes a base value, and character-wide and character-specific character information includes specific values, and wherein the character information is normalized.

9. A method in a system that uses font information, comprising:

for a collection of fonts including a set of characters for each of the multiple fonts, each character comprising a plurality of skeletal associations, storing collection-wide character-specific association information;

for each font, storing font-specific character-wide character-specific association information; and

wherein reducing an amount of font-specific character information results in a storage size reduction for the collection of fonts.

10. The method according to claim 9 , wherein the collection-wide character information includes a base value, and character-wide and character-specific character information includes specific values.

11. A method in a system that uses font information, comprising:

for a collection of fonts including a set of characters for each of the multiple fonts, each character comprising a plurality of skeletal associations, storing collection-wide character-specific association information;

for each font, storing font-specific character-wide character-specific association information; and

wherein reducing an amount of font-specific character information results in a storage size reduction for the collection of fonts, and wherein the character information is normalized.

12. The method according to claim 9 further including, for each character in each font in the font collection, storing font-specific character-specific skeletal association information corresponding to the font-wide character-specific association information.

13. A system that uses font information, comprising:

a data storage medium, comprising:

a collection of fonts including a set of characters for each of the multiple fonts, each character comprising a plurality of skeletal associations;

a first set of character information having font-wide information for the collection of fonts; and

a second set of character information having font-specific skeletal association information for each of the multiple fonts; and

a processor coupled to said first and second sets of information and the data storage medium, said processor storing to the data storage medium (i) a subset of font-wide character-specific skeletal association information in said first set of character information, and (ii) a subset of font-specific character skeletal association information in said second set of character information.

14. The apparatus according to claim 13 further including a third set of character information having font-specific character-specific information, wherein the processor is coupled to said third set of information and stores a subset of said third set of information to said data storage medium.

15. A method for generating a collection of fonts from font information, the method comprising:

providing a plurality of font information for a collection of fonts, each font comprising a plurality of characters, each character comprising a plurality of skeletal associations;

loading:

a first set of skeletal association information generic to a subset of fonts; and

a second set of skeletal association information having character-specific information for at least one font; and

combining said first and second sets of skeletal association information, thereby generating a plurality of font-specific character-specific skeletal associations for generating the collection of fonts.

16. The method according to claim 15 , wherein (i) said first set includes a base value for corresponding skeletal associations, and (ii) said second set includes an encoded value for each corresponding skeletal association.

17. A method for generating a collection of fonts from font information, the method comprising:

providing a plurality of font information for a collection of fonts, each font comprising a plurality of characters, each character comprising a plurality of skeletal associations;

loading:

a first set of skeletal association information generic to a subset of fonts; and

a second set of skeletal association information having character-specific information for at least one font; and

combining said first and second sets of skeletal association information, thereby generating a plurality of font-specific character-specific skeletal associations for generating the collection of fonts;

wherein (i) said first set includes a base value for corresponding skeletal associations, and (ii) said second set includes an encoded value for each corresponding skeletal association, and wherein combining said first and second sets is performed according to the formula: dimValX y =((baseValue+encodeValX y )*standardScale y )/256, y=1, 2, . . . n; where baseValue is a factored skeletal association value in said first set corresponding to the dimension being calculated; encodeValX y is a remaining specific skeletal association value in said second set corresponding to an actual normalized local value corresponding to the dimension being calculated; and standardScale y is a predetermined normalizing value.

18. An apparatus for generating a collection of fonts, the apparatus comprising:

a storage area storing:

a plurality of font information for a collection of fonts, each font comprising a plurality of characters, each character comprising a plurality of skeletal associations;

a first set including skeletal association information generic to a subset of the fonts; and

a second set including skeletal association information having character-specific information for at least one font; and

a processor routine operating on the data storage and retrieval system and coupled to the storage area, said processor routine retrieving said first and second sets of skeletal association information and combines said first and second sets into a single resulting set, thereby generating a plurality of font-specific character-specific skeletal associations for generating the collection of fonts.

19. The apparatus according to claim 18 , wherein (i) first set includes a base value for corresponding skeletal associations, and (ii) said second set includes an encoded values for each corresponding skeletal association.

20. An apparatus for generating a collection of fonts, the apparatus comprising:

a storage area storing:

a plurality of font information for a collection of fonts, each font comprising a plurality of characters, each character comprising a plurality of skeletal associations;

a first set including skeletal association information generic to a subset of the fonts; and

a second set including skeletal association information having character-specific information for at least one font; and

a processor routine operating on the data storage and retrieval system and coupled to the storage area, said processor routine retrieving said first and second sets of skeletal association information and combines said first and second sets into a single resulting set, thereby generating a plurality of font-specific character-specific skeletal associations for generating the collection of fonts;

wherein (i) first set includes a base value for corresponding skeletal associations, and (ii) said second set includes an encoded values for each corresponding skeletal association, and wherein combining said first and second sets is performed according to the formula: dimValX y =((baseValue+encodeVaLX y )*standardScale y )/256, y=1, 2, . . . n; where baseValue is a factored skeletal association value in said first set corresponding to the dimension being calculated; encodeValX y is a remaining specific skeletal association value in said second set corresponding to an actual normalized local value corresponding to the dimension being calculated; and standardScale y is a predetermined normalizing value.

21. A method in a system that uses font information, comprising:

for a collection of fonts including a set of characters for each of the multiple fonts, each character comprising a plurality of character dimensions, storing font-wide character dimension information, thereby reducing an amount of font-specific character information;

for each font, storing font-specific character dimension information;

wherein for the plurality of character dimensions, font-wide character dimension information includes a base value and a range of deviation values; and

wherein storing font-wide character dimension information separate from font-specific character information results in a storage size reduction for the collection of fonts.

22. The method according to claim 21 , wherein for the plurality of character dimensions, font-specific character dimension information includes a deviation value.

23. The method according to claim 22 , wherein for a single character dimension, (i) font-wide character dimension information includes an index and a range of differences; and (ii) font-specific character dimension information includes only differences.

24. An apparatus that uses font information, comprising:

a data storage medium, comprising:

a collection of fonts including a set of characters for each of the multiple fonts, each character comprising a plurality of character dimensions;

a first set of character information having font-wide character dimension information for the collection of fonts; and

a second set of character information having font-specific character dimension information for each of the multiple fonts; and

a processor coupled to said first and second sets of character information and the data storage medium, said processor storing to the data storage medium (i) a subset of font-wide character dimension information in said first set of character information, and (ii) a subset of font-specific character dimension information in said second set of character information;

wherein for the plurality of character dimensions, (i) font-wide character dimension information includes a base value and a range of deviation values.

25. The apparatus according to claim 24 , wherein for the plurality of character dimensions, font-specific character dimension information includes a deviation value.

26. The apparatus according to claim 24 , wherein for a single character dimension, (i) font-wide character dimension information includes an index and a range of differences; and (ii) font-specific character dimension information includes a only differences.

27. A method for generating a collection of fonts from font information, comprising:

providing a plurality of font information for a collection of fonts, each font comprising a plurality of characteristics and a plurality of dimensions common to a subset of characters in the respective font;

loading:

a first set of dimension information common to a subset of the multiple fonts; and

a second set of dimension information including font-specific dimension information; and

combining said first and second sets, thereby forming character dimension information for the collection of fonts.

28. The method according to claim 27 , wherein the dimensions are arranged in a consistent order for each font in the collection of fonts.

29. The method according to claim 28 , wherein for each dimension across the plurality of fonts in the font collection, the first set includes a base value and a range of deviations and the second set includes a deviation.

30. The method according to claim 28 , wherein for each font in the font collection across the plurality of dimensions, the first set includes an index and a range of differences and the second set includes only differences.

31. An apparatus for generating a collection of fonts from font information, comprising:

a data storage area storing a plurality of font information for a collection of fonts, each font comprising a plurality of characteristics and a plurality of dimensions common to at least one subset of characters in the respective font, wherein the dimensions comprise:

a first set of dimension information common to a subset of the multiple fonts; and

a second set of dimension information including font-specific dimension information; and

a processor routine coupled to the data storage area and operating on the data storage and retrieval system, said processor routine combining said first and second sets, thereby generating character dimension information for the collection of fonts.

32. The apparatus according to claim 31 , wherein the dimensions are arranged in a consistent order for each font in the collection of fonts.

33. The apparatus according to claim 32 , wherein for each dimension across the plurality of fonts in the font collection, the first set includes a base value and a range of deviations and the second set includes a deviation.

34. The apparatus according to claim 32 , wherein for each font in the font collection across the plurality of dimensions, the first set includes an index and a range of differences and the second set includes only differences.

35. An apparatus for generating a collection of fonts from font information, comprising:

a data storage area storing a plurality of font information for a collection of fonts, each font comprising a plurality of characters and a plurality of dimensions common to at least one subset of characters in the respective font, wherein the dimensions comprise:

a first set of dimension information common to a subset of the multiple fonts; and

a second set of dimension information including font-specific dimension information for at least one font; and

a processor routine coupled to the data storage area and operating on the data storage and retrieval system, said processor routine combining said first and said second sets of dimension information, thereby generating character dimension information for the collection of fonts.

36. The apparatus according to claim 35 , wherein the dimensions are arranged in a consistent order for each font in the collection of fonts.

37. The apparatus according to claim 36 , wherein for each dimension across the plurality of fonts in the font collection, the first set includes a base value and a range of deviations and the second set includes a deviation.

38. The apparatus according to claim 36 , wherein for each font in the font collection across the plurality of dimensions, the first set includes an index and a range of differences and the second set includes only differences.

39. A method for compressing font information in a collection of fonts, comprising:

creating a library of models for letterforms for multiple typefaces in which multiple models are used for the same letterform of different typefaces in the collection of fonts; and

creating core models comprising a subset of skeletal nodes that are common to the multiple models of the same letterform for different typefaces.

40. A method for compressing font information, comprising:

factoring skeletal association information by extracting a common base value from hints for each letterform in each typeface; and

storing the common base value in a model letterform for multiple typefaces.

Assignments (20)
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 →
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 →
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 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049566/0513 Recorded Oct 11, 2019
From: BANK OF AMERICA, N.A.
To: MONOTYPE IMAGING INC.; MONOTYPE IMAGING HOLDINGS INC.; IMAGING HOLDINGS CORP.; MYFONTS INC.; MONOTYPE ITC INC.; OLAPIC, INC.
Reel/Frame 050711/0170 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Mar 25, 2019
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: MONOTYPE IMAGING INC.; MONOTYPE IMAGING HOLDINGS INC.; MYFONTS INC.; IMAGING HOLDINGS CORP.; MONOTYPE ITC INC.; SWYFT MEDIA INC.
Reel/Frame 048691/0513 →
PATENT SECURITY AGREEMENT Recorded Mar 22, 2019
From: MONOTYPE IMAGING INC.; MONOTYPE IMAGING HOLDINGS INC.; IMAGING HOLDINGS CORP.; MYFONTS INC.; MONOTYPE ITC INC.; OLAPIC, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 049566/0513 →
CHANGE OF NAME Recorded Mar 21, 2019
From: MONOTYPE IMAGING HOLDING CORP.
To: IMAGING HOLDINGS CORP.
Reel/Frame 048669/0398 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Sep 17, 2015
From: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
To: MONOTYPE IMAGING HOLDINGS CORP.; INTERNATIONAL TYPEFACE CORPORATION; MONOTYPE IMAGING INC.; LINOTYPE CORP.; IMAGING HOLDINGS CORP.
Reel/Frame 036628/0848 →
SECURITY AGREEMENT Recorded Sep 17, 2015
From: MONOTYPE IMAGING INC.; MONOTYPE IMAGING HOLDINGS INC.; MYFONTS INC.; IMAGING HOLDINGS CORP.; MONOTYPE ITC INC.; SWYFT MEDIA INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 036627/0925 →
PATENT SECURITY AGREEMENT Recorded Aug 18, 2011
From: MONOTYPE IMAGING HOLDINGS INC.; MONOTYPE IMAGING INC.; IMAGING HOLDINGS CORP.; LINOTYPE CORP.; INTERNATIONAL TYPEFACE CORPORATION
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 026772/0939 →
RELEASE OF SECURITY INTEREST Recorded Dec 7, 2007
From: D.B. ZWIRN SPECIAL OPPORTUNITIES FUND, L.P.
To: MONOTYPE IMAGING INC. (F/K/A AGFA MONOTYPE CORPORATION)
Reel/Frame 020206/0944 →
SECURITY AGREEMENT Recorded Oct 2, 2007
From: MONOTYPE IMAGING INC.
To: WELLS FARGO FOOTHILL, INC.
Reel/Frame 019899/0676 →
CHANGE OF NAME Recorded Sep 12, 2007
From: MONOTYPE IMAGING, INC.
To: MONOTYPE IMAGING INC.
Reel/Frame 019817/0497 →
MERGER AND CHANGE OF NAME Recorded Feb 9, 2005
From: AGFA MONOTYPE CORPORATION; AGFA MONOTYPE CORPORATION (UNDER THE NAME OF)
To: MONOTYPE IMAGING, INC.
Reel/Frame 016237/0967 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING AND RECEIVING PARTIES PREVIOUSLY RECORDED ON REEL 015400 FRAME 0240. ASSIGNOR(S) HEREBY CONFIRMS THE \"AGFA MONOTYPE CORPORATION\" AS CONVEYING PARTY AND \"D.B. ZWIRN SPECIAL OPPORTUNITIES FUND, L.P.\" AS RECEIVING PARTY. Recorded Jan 28, 2005
From: AGFA MONOTYPE CORPORATION
To: D.B. ZWIRN SPECIAL OPPORTUNITIES FUND, L.P.
Reel/Frame 015612/0971 →
SECURITY AGREEMENT Recorded Nov 22, 2004
From: D. B. ZWIRN SPECIAL OPPORTUNITIES FUND, L.P.
To: AGFA MONOTYPE CORPORATION
Reel/Frame 015400/0240 →
SECURITY INTEREST Recorded Nov 8, 2004
From: MONOTYPE IMAGING HOLDINGS CORP., INTERNATIONAL TYPEFACE CORPORATION; MONOTYPE IMAGING, INC. (F/K/A AGFA MONOTYPE CORPORATION)
To: WELLS FARGO FOOTHILL, INC.
Reel/Frame 015962/0397 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2002
From: AGFA CORPORATION
To: AGFA MONOTYPE CORPORATION
Reel/Frame 012797/0348 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 1999
From: HAWKINS, THOMAS B.
To: AGFA CORPORATION
Reel/Frame 010366/0709 →