×

Dynamic kerning pair reduction for digital font rendering

  • US 10,275,426 B1
  • Filed: 09/22/2015
  • Issued: 04/30/2019
  • Est. Priority Date: 09/22/2015
  • Status: Active Grant
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.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×