IP Library Granted Patent US 7,719,537
Granted Patent B2
US 7,719,537 · App. 11/507,456 · Granted May 18, 2010

Method for reducing size and increasing speed for font generation of instructions

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,719,537
App. No.
11/507,456
Granted
May 18, 2010
Kind
B2
Abstract

A method for compressing font instruction data. The method includes analyzing a set of pixel-per-em values and fractional pixel shifts contained in font instruction for each glyph in a font data set to construct a database of values. The pixel-per-em values and fractional pixel shifts are converted into operational codes and argument values and these values are compressed into a compressed data stream including a series of multiple-bit words representing font instruction specifications for each glyph in the font data. In addition, fixed environmental variable values are set for each glyph based on the font instruction data. When a glyph is to be rendered using the compressed font instruction, the compressed instruction is decompressed and only relevant multiple-bit word or words corresponding to font instruction specifications for the respective glyph are executed, but not any of the 16-bit words corresponding to font instruction for the fixed environmental values.

Claims (41)

1. A method for processing by a computer font data comprising font instruction to provide improved font rendering by said computer upon display or printing, said method comprising:

analyzing by a computer operating system a set of pixels-per-em values and fractional pixel shifts contained in the font instruction, which is present in a library script or computer program, for each glyph in a font data to construct a database of values;

converting by said computer operating system said pixels-per-em values and said fractional pixel shifts into shorthand notation having a form of operational codes and argument values for each glyph in the font data; and

compressing by said computer operating system the operational codes and the argument values into a compressed data stream comprising a series of multiple-bit words representing font instruction specifications for each glyph in the font data which were originally represented as said pixel-per-em values and said fractional pixel shifts;

setting by said computer operating system fixed values corresponding to environmental variable values for each glyph;

decompressing the multi-bit words representing font instruction specifications; and

executing the font instruction specifications decompressed in absence of said environmental variable values thereby executing a reduced amount of code to render font glyphs.

2. The method of claim 1 , wherein said font instruction is selected from the group consisting of DELTAP1, DELTAP2, DELTAP3, SDS, SDB, SVTCA, PUSHB, PUSHW, NPUSHB, and NPUSHW.

3. The method of claim 1 , wherein the operational codes and the argument values are variable length codes.

4. The method of claim 1 , wherein said multiple-bit words comprise 16-bit words.

5. The method of claim 3 , wherein the compressing of the variable length codes of the operational codes and the argument values results in at least 60 percent data compression of the font instruction.

6. The method of claim 1 , wherein said fixed values corresponding to said environmental variable values correspond to:

(1) a numerically lowest shift value present for any point-per-em for the glyph,

(2) a shift increment,

(3) a lowest point-per-em value for which hints in the font instruction are present, and

(4) a packed multiple-bit value comprising fields comprising a point-per-em value, a count and a phase for use when decompressing the font instruction.

7. A method of processing by a computer for rendering a glyph from font data having compressed font instruction data in a form of a series of multiple-bit word or words representing shorthand notation for pixels-per-em values and fractional pixel shifts forming font instruction specifications and fixed environmental values for respective glyphs in the font data to provide improved font rendering by said computer upon display or printing, said method comprising:

setting by a computer system fixed values corresponding to environmental variable values for a glyph for:

(1) a numerically lowest shift value present for any point-per-em for the glyph,

(2) a shift increment,

(3) a lowest point-per-em value for which hints in the font instruction data are present, and

(4) a packed multiple-bit value comprising fields comprising a point-per-em value, a count and a phase for use when decompressing the font instruction data;

decompressing by said computer system the multiple-bit word or words corresponding to font instruction; and

executing by said computer system only relevant font instruction specifications, which is in absence of said fixed values corresponding to said environmental variable values, for the glyph thereby executing a reduced amount of code to render font glyphs.

8. The method of claim 7 , wherein said font instruction is selected from the group consisting of DELTAP1, DELTAP2, DELTAP3, SDS, SDB, SVTCA, PUSHB, PUSHW, NPUSHB, and NPUSHW.

9. The method of claim 7 , further comprising rendering the glyph using the multiple-bit word or words provided following said decompressing.

10. A method for processing by a computer font data comprising font instruction to provide improved font rendering by said computer upon display or printing, said method comprising:

analyzing by a computer system a set of pixels-per-em values and fractional pixel shifts contained in the font instruction for each glyph in the font data to construct a database of values;

converting by said computer system said set of pixels-per-em values and fractional pixel shifts into shorthand notation having a form of operational codes and argument values for each glyph in the font data;

compressing by said operating system the operational codes and the argument values into a compressed data stream comprising a series of multiple-bit word or words representing font instruction specifications for each glyph in the font data which were originally represented as said pixels-per-em values and said fractional pixel shifts;

setting by said computer operating system fixed values corresponding to environmental variable values for each glyph for:

(1) a numerically lowest shift value present for any point-per-em for the glyph,

(2)a shift increment,

(3) a lowest point-per-em value for which hints in the font instruction are present, and

(4) a packed multiple-bit word comprising a point-per-em value, a count and a phase for use when decompressing the font instruction;

decompressing by said operating system the multiple-bit word or words corresponding to the font instruction; and

executing by said operating system only relevant font instruction specifications for a respective glyph and not multiple-bit words corresponding to the font instruction for the fixed values corresponding to said environmental variable values thereby executing a reduced amount of code to render font glyphs.

11. The method of claim 10 , wherein said font instruction is selected from the group consisting of DELTAP1, DELTAP2, DELTAP3, SDS, SDB, SVTCA, PUSHB, PUSHW, NPUSHB, and NPUSHW.

12. The method of claim 10 , further comprising rendering the glyph using the multiple-bit word or words provided following said decompressing.

13. The method of claim 10 , wherein the operational codes and the argument values are represented by variable length words.

14. The method of claim 10 , wherein the multiple-bit word or words are 16-bit words.

Assignments (17)
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 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049956/0473 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/0362 →
FIRST SUPPLEMENT TO PATENT SECURITY AGREEMENT Recorded Aug 5, 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 049956/0473 →
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 HOLDINGS CORP.
To: IMAGING HOLDINGS CORP.
Reel/Frame 049503/0136 →
CHANGE OF NAME Recorded Mar 18, 2019
From: MONOTYPE IMAGING, INC.
To: IMAGING HOLDINGS CORP.
Reel/Frame 048630/0338 →
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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2007
From: OPSTAD, DAVID G.
To: MONOTYPE IMAGING, INC.
Reel/Frame 019962/0231 →
CHANGE OF NAME Recorded Oct 15, 2007
From: MONOTYPE IMAGING, INC.
To: MONOTYPE IMAGING INC.
Reel/Frame 019962/0355 →
SECURITY AGREEMENT Recorded Oct 2, 2007
From: MONOTYPE IMAGING INC.
To: WELLS FARGO FOOTHILL, INC.
Reel/Frame 019899/0676 →