IP Library › Granted Patent US 9,208,589
Granted Patent B2
US 9,208,589 · App. 13/657,822 · Granted Dec 8, 2015

Optical kerning for multi-character sets

Inventors: Jacob G. Refstrup (Vancouver, WA); Martin J. Murrett (Portland, OR); Christopher E. Rudolph (Vancouver, WA)
Assignee: APPLE INC.
G06T11/203G06K2215/00G06K2215/0068G09G5/24
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 9,208,589
App. No.
13/657,822
Granted
Dec 8, 2015
Kind
B2
Abstract

A content processing application that implements a method for displaying characters at least a threshold distance apart. The method receives two consecutive characters. The method automatically identifies a distance between the two consecutive characters and moves at least one of the two consecutive characters to adjust the distance between the two consecutive characters to a threshold distance apart.

Claims (40)

1. A non-transitory machine readable medium storing a program which when executed by at least one processing unit displays characters, the program comprising sets of instructions for:

approximating a right edge of graphical elements of a first character definition as a first sequential set of sections, wherein each section in the first set spans a first vertical distance and uses a rightmost point of the first character definition within its vertical span as a horizontal location for the section;

approximating a left edge of graphical elements of a second character definition as a second sequential set of sections, wherein each section in the second set spans a second vertical distance and uses a leftmost point of the second character definition within its vertical span as a horizontal location for the section;

iteratively:

selecting a pair of sections, comprising a section from the first set of sections and a section from the second set of sections, wherein, in each iteration, either (i) a section that is farther along the first sequential set of sections in the first set than the section from the first set selected in the previous iteration is selected or (ii) a section that is farther along the second sequential set of sections in the second set than the section from the second set selected in the previous iteration is selected; and

computing a distance between the selected pair of sections based on a default spacing between the character definitions;

identifying a smallest computed distance between said selected pairs of sections; and

displaying instances of the first character definition and the second character definition with a distance between the character instances based on the identified smallest distance.

2. The non-transitory machine readable medium of claim 1 , wherein the first and second character definitions are for characters in two different fonts.

3. The non-transitory machine readable medium of claim 1 , wherein the first and second character definitions are for characters in two different styles.

4. The non-transitory machine readable medium of claim 3 , wherein one of the two different styles is one of a subscript style and a superscript style.

5. The non-transitory machine readable medium of claim 3 , wherein one of the two different styles is one of an italic style and a bold style.

6. The non-transitory machine readable medium of claim 1 , wherein the first and second character definitions are for characters in two different font sizes.

7. The non-transitory machine readable medium of claim 1 , wherein for a plurality of consecutive iterations, the selected section is a section in the first set that is one section farther along the first sequential set of sections in the first set than the selected section in the first set in the previous iteration.

8. The non-transitory machine readable medium of claim 1 , wherein for a plurality of iterations, the selected sections alternate between the first set and the second set.

9. The non-transitory machine readable medium of claim 8 , wherein for a particular iteration, the selected section in the first set is more than one section farther along the first sequential set of sections than the selected section of the first set in the previous iteration.

10. A non-transitory machine readable medium storing a program which when executed by at least one processing unit determines distances between displayed characters, the program comprising sets of instructions for:

determining a quantization length for each of a plurality of character definitions that each comprise one or more graphical elements that define a shape of the character;

for each character definition:

approximating the edges of the graphical elements of the character definition as a plurality of vertical and horizontal lines, wherein the vertical lines each span the quantization length for the character definition, wherein (i) each vertical line approximating a right edge of the character is located at a rightmost point of the graphical element within the span of the vertical line and (ii) each vertical line approximating a left edge of the character is located at a leftmost point of the graphical element within the span of the vertical line; and

storing data identifying the plurality of lines; and

upon receiving a command to display two characters, that comprise instances of character definitions, adjacent to each other, using the stored data for the character definitions to determine a distance between the two adjacent displayed characters based on distances between the approximated edges of the graphical elements of the two adjacent displayed characters.

11. The non-transitory machine readable medium of claim 10 , wherein the set of instructions for using the stored data to determine an approximate distance between the two adjacent displayed characters comprises a set of instructions to scale the stored data for at least one displayed character from a font size for which the quantization length of the character was determined to a different font size of the displayed character.

12. The non-transitory machine readable medium of claim 10 , wherein the plurality of characters are in different styles.

13. The non-transitory machine readable medium of claim 10 , wherein the two adjacent displayed characters are in different fonts.

14. A method of determining a distance to implement between two adjacent displayed characters, the method comprising:

approximating a right edge of graphical elements of a first character definition as a first sequential set of sections, wherein each section in the first set spans a first vertical distance and uses a rightmost point of the first character definition within its vertical span as a horizontal location for the section;

approximating a left edge of graphical elements of a second character definition as a second sequential set of sections, wherein each section in the second set spans a second vertical distance and uses a leftmost point of the second character definition within its vertical span as a horizontal location for the section, wherein the approximating the right edge and the left edge are performed by an electronic device;

iteratively:

selecting a pair of sections, comprising a section from the first set of sections and a section from the second set of sections, wherein, in each iteration, either (i) a section that is farther along the first sequential set of sections in the first set than the section from the first set selected in the previous iteration is selected or (ii) a section that is farther along the second sequential set of sections in the second set than the section from the second set selected in the previous iteration is selected; and

computing a distance between the selected pair of sections based on a default spacing between the character definitions;

identifying a smallest computed distance between said selected pairs of sections; and

displaying instances of the first character definition and the second character definition with a distance between the character instances based on the identified smallest distance,

wherein the approximations, iterative selection and computation, identification, and display are performed by an electronic device.

15. The method of claim 14 wherein, for a plurality of iterations, the selected sections between the first set and the second set.

16. The method of claim 14 , wherein for a plurality of consecutive iterations, the selected section is a section in the first set that is one section farther along the first sequential set of sections in the first set than the selected section in the first set in the previous iteration.

17. The method of claim 14 , wherein for a particular iteration, the selected section in the first set is more than one section farther along the first sequential set of sections than the selected section of the first set in the previous iteration.

18. The method of claim 17 , wherein in the particular iteration, the selected section in the first set is aligned with the selected section in the second set.

19. The non-transitory machine readable medium of claim 9 , wherein in the particular iteration, the selected section in the first set is aligned with the selected section in the second set.

20. The non-transitory machine readable medium of claim 10 , wherein the quantization length for a particular character definition comprises a particular fraction of a total available height for the character definition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2012
From: RUDOLPH, CHRISTOPHER E.; REFSTRUP, JACOB G.; MURRETT, MARTIN J.
To: APPLE INC.
Reel/Frame 029170/0308 →
Continuity (1)
Related Publication 20140111522A1 · Apr 24, 2014