Dynamic kerning pair reduction for digital font rendering
First Claim
Patent Images
1. A method comprising:
- determining, by a device comprising at least one processor and a display, a first font file for rendering text on the display, the first font file comprising glyph data and a first glyph positioning table, wherein the glyph data comprises a set of glyphs representing English characters, and the first glyph positioning table comprises a set of kerning pairs for the font file, wherein a first kerning pair of the set of kerning pairs comprises a first glyph identifier, a second glyph identifier, a horizontal kerning adjustment value, and a frequency of occurrence for the first kerning pair;
parsing the font file to determine the first glyph positioning table;
parsing the first glyph positioning table to determine a first number of kerning pairs in the set of kerning pairs for the font file;
determining that the first number of kerning pairs exceeds a target number of kerning pairs;
determining whether the horizontal kerning adjustment value is less than a kerning pair adjustment threshold;
determining whether the frequency of occurrence is less than a frequency of occurrence threshold;
in response to determining that the kerning adjustment value is greater than or equal to the kerning pair adjustment threshold, or that the frequency of occurrence is greater than or equal to the frequency of occurrence threshold, keeping the first kerning pair in the set of kerning pairs;
in response to determining that the horizontal kerning adjustment value is less than the kerning pair adjustment threshold, and that the frequency of occurrence is less than the frequency of occurrence threshold, deleting the second glyph identifier from the first kerning pair in the first glyph positioning table to remove the first kerning pair from the set of kerning pairs;
determining that a second number of kerning pairs remaining in the set of kerning pairs of the first glyph positioning table meets the target number of kerning pairs;
generating a second glyph positioning table with the second number of kerning pairs remaining in the set of kerning pairs;
serializing the second glyph positioning table such that the second glyph table comprises kerning pair information in sequential order;
generating a second font file for rendering text on the display, the second font file comprising the glyph data and the second glyph positioning table; and
rendering text on the display of the electronic reader device using the second font file.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and computer-readable media are disclosed for dynamic kerning pair reduction for digital font rendering. Example methods may include receiving a first font file comprising glyph data and a first set of kerning pairs, determining a first kerning pair of the first set of kerning pairs that comprises a kerning adjustment value below a kerning adjustment threshold, removing the first kerning pair from the first set of kerning pairs to generate a second set of kerning pairs, and generating a second font file comprising the glyph data and the second set of kerning pairs.
42 Citations
20 Claims
-
1. A method comprising:
-
determining, by a device comprising at least one processor and a display, a first font file for rendering text on the display, the first font file comprising glyph data and a first glyph positioning table, wherein the glyph data comprises a set of glyphs representing English characters, and the first glyph positioning table comprises a set of kerning pairs for the font file, wherein a first kerning pair of the set of kerning pairs comprises a first glyph identifier, a second glyph identifier, a horizontal kerning adjustment value, and a frequency of occurrence for the first kerning pair; parsing the font file to determine the first glyph positioning table; parsing the first glyph positioning table to determine a first number of kerning pairs in the set of kerning pairs for the font file; determining that the first number of kerning pairs exceeds a target number of kerning pairs; determining whether the horizontal kerning adjustment value is less than a kerning pair adjustment threshold; determining whether the frequency of occurrence is less than a frequency of occurrence threshold; in response to determining that the kerning adjustment value is greater than or equal to the kerning pair adjustment threshold, or that the frequency of occurrence is greater than or equal to the frequency of occurrence threshold, keeping the first kerning pair in the set of kerning pairs; in response to determining that the horizontal kerning adjustment value is less than the kerning pair adjustment threshold, and that the frequency of occurrence is less than the frequency of occurrence threshold, deleting the second glyph identifier from the first kerning pair in the first glyph positioning table to remove the first kerning pair from the set of kerning pairs; determining that a second number of kerning pairs remaining in the set of kerning pairs of the first glyph positioning table meets the target number of kerning pairs; generating a second glyph positioning table with the second number of kerning pairs remaining in the set of kerning pairs; serializing the second glyph positioning table such that the second glyph table comprises kerning pair information in sequential order; generating a second font file for rendering text on the display, the second font file comprising the glyph data and the second glyph positioning table; and rendering text on the display of the electronic reader device using the second font file. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
receiving, by a device comprising at least one processor and a display, a first font file for rendering text on the display, the first font file comprising glyph data and a first set of kerning pairs, wherein a first kerning pair of the first set of kerning pairs comprises a kerning adjustment value and a frequency of occurrence for the first kerning pair; determining whether the kerning adjustment value is below a kerning adjustment threshold; determining whether the frequency of occurrence is below a frequency of occurrence threshold; in response to determining that the kerning adjustment value is greater than or equal to the kerning adjustment threshold, or that the frequency of occurrence is greater than or equal to the frequency of occurrence threshold, keeping the first kerning pair in the first set of kerning pairs; in response to determining that the kerning adjustment value is less than the kerning adjustment threshold, and that the frequency of occurrence is less than the frequency of occurrence threshold, removing the first kerning pair from the first set of kerning pairs to generate a second set of kerning pairs; and generating a second font file for rendering text on the display, the second font file comprising the glyph data and the second set of kerning pairs. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A device, comprising:
-
a display; at least one memory storing computer-executable instructions; and at least one processor communicatively coupled to the at least one memory and configured to access the at least one memory and execute the computer-executable instructions to; receive a first font file for rendering text on the display, wherein the first font file comprises glyph data and a first set of kerning pairs, wherein a first kerning pair of the first set of kerning pairs comprises a kerning adjustment value and a frequency of occurrence for the first kerning pair; determine whether the kerning adjustment value is below a kerning adjustment threshold; determine whether the frequency of occurrence is below a frequency of occurrence threshold; in response to a determination that the kerning adjustment value is greater than or equal to the kerning adjustment threshold, or that the frequency of occurrence is greater than or equal to the frequency of occurrence threshold, keep the first kerning pair in the first set of kerning pairs; in response to a determination that the kerning adjustment value is less than the kerning adjustment threshold, and that the frequency of occurrence is less than the frequency of occurrence threshold, remove the first kerning pair from the first set of kerning pairs to generate a second set of kerning pairs; and generate a second font file for rendering text on the display, wherein the second font file comprises the glyph data and the second set of kerning pairs. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification