# US 10,319,129 B2 · Snapping line generation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,319,129 B2
- Document ID: US10319129B2
- Status: Granted
- Kind: B2
- Application number: 15/418,319
- Filed: 2017-01-27
- Published: 2018-08-02
- Granted: 2019-06-11
- Earliest claimed: 2017-01-27
- Assignees: Adobe Inc.
- Applicants: Adobe Inc.
- Inventors: Praveen Kumar Dhanuka; Neeraj Nandkeolyar; Chirag Maheshwari
- Web page: https://patentgrep.com/patent/US10319129B2

## CPC

- G06F 40/109: Font handling; Temporal or kinetic typography
- G06T 3/403: Edge-driven scaling; Edge-based scaling
- G06T 11/23: using straight lines or curves
- G06T 11/60: Creating or editing images; Combining images with text
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 2203/04806: Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T 2210/12: Bounding box
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Techniques and systems are described for snapping line generation based on glyphs. Techniques include locating bounding box lines from bounding boxes of glyphs. The bounding box lines may then be analyzed to identify which of the bounding box lines are collinear and at least one snapping line is generated based on the collinearity of the bounding box lines. The generated snapping lines are then output in a user interface to facilitate snapping objects to the snapping line.

## Claims

### Claim 1

In a digital medium environment to generate snapping lines around glyphs, a method implemented by at least one computing device, the method comprising:
locating, by the at least one computing device, a plurality of bounding box lines from a plurality of glyph bounding boxes, each said glyph bounding box corresponding to a glyph for output in a user interface;
identifying, by the at least one computing device, a bounding box line of the plurality of bounding box lines as being collinear with another bounding box line of the plurality of bounding box lines;
generating, by the at least one computing device, a snapping line based at least in part on the bounding box line that is collinear with the another bounding box line; and
outputting, by the at least one computing device, the snapping line in the user interface, the snapping line operable to cause an edge of a digital object to move to the snapping line in response to input moving the edge into proximity of the snapping line in the user interface.

### Claim 2 (depends on 1)

A method as recited in claim 1, wherein the generating is based at least in part on a quantity of the plurality of bounding box lines that are collinear as meeting a threshold quantity for generating the snapping line.

### Claim 3 (depends on 2)

A method as recited in claim 2, further comprising receiving, by the at least one computing device, a user input to modify the threshold quantity.

### Claim 4 (depends on 1)

A method as recited in claim 1, wherein the generating is based at least in part on a ratio of the plurality of glyph bounding boxes having bounding box lines of the plurality of bounding box lines that are collinear to a total quantity of the plurality of glyph bounding boxes.

### Claim 5 (depends on 1)

A method as recited in claim 1, wherein the generating is based at least in part on a quantity of the plurality of bounding box lines that are collinear that are located from consecutive glyph bounding boxes of the plurality of glyph bounding boxes.

### Claim 6 (depends on 1)

A method as recited in claim 1, wherein the generating is based at least in part on a total length of the plurality of glyph bounding boxes having bounding box lines that are collinear and meet a threshold length for generating the snapping line.

### Claim 7 (depends on 1)

A method as recited in claim 1, wherein the generating is based at least in part on a ratio of a total length of the plurality of glyph bounding boxes having bounding box lines that are collinear to a total length of the plurality of glyph bounding boxes.

### Claim 8 (depends on 1)

A method as recited in claim 1, further comprising generating, by the at least one computing device, at least one additional snapping line based on a bounding box line of the plurality of bounding box lines as being one of an upper-most or a lower-most bounding box line.

### Claim 9 (depends on 1)

A method as recited in claim 1, wherein the generating is based at least in part on a distance threshold.

### Claim 10 (depends on 9)

A method as recited in claim 9, further comprising receiving input to modify the distance threshold.

### Claim 11

A computing device comprising:
a processing system; and
a computer readable storage medium having stored thereon instructions that implement a platform of the computing device that, responsive to execution by the processor, cause the processor to perform operations comprising:
locating a plurality of bounding box lines from a plurality of glyph bounding boxes, each said glyph bounding box corresponding to a glyph for output in a user interface;
identifying a bounding box line from the plurality of bounding box lines as being collinear with another bounding box line of the plurality of bounding box lines;
generating a snapping line based at least in part on the bounding box line that is collinear with the another bounding box line; and
outputting the snapping line in the user interface, the snapping line operable to cause an edge of a digital object to move to the snapping line in response to input moving the edge of the digital object into proximity of the snapping line in the user interface.

### Claim 12 (depends on 11)

A computing device as recited in claim 11, the operations further comprising receiving a user input to select a subset of glyphs in a text box corresponding to the plurality of glyph bounding boxes.

### Claim 13 (depends on 11)

A computing device as recited in claim 11, wherein the generating is based in part on a length of consecutive glyph bounding boxes of the plurality of glyph bounding boxes.

### Claim 14 (depends on 11)

A computing device as recited in claim 11, the operations further comprising repeating one or more of the locating, the identifying, the generating, or the outputting in response to receiving an input to remove a glyph, modify a glyph, or add a glyph corresponding to a glyph bounding box of the plurality of glyph bounding boxes.

### Claim 15 (depends on 14)

A computing device as recited in claim 14, wherein the input to modify the glyph comprises one or more of modifying a font style of the glyph or changing a language of the glyph.

### Claim 16

In a digital medium environment to generate snapping lines around glyphs, a method comprising:
steps for locating a plurality of bounding box lines in a user interface, each said bounding box line based on an edge of a glyph bounding box;
steps for identifying a first candidate snapping line representing a first quantity of the plurality of bounding box lines that are collinear, one to another;
steps for identifying a second candidate snapping line representing a second quantity of the plurality of bounding box lines that are collinear, one to another;
steps for generating a snapping line based at least in part on the first candidate snapping line being beyond a threshold distance from the second candidate snapping line, the second quantity of bounding box lines being greater than the first quantity of bounding box lines; and
steps for outputting the snapping line based on the first candidate snapping line in the user interface, the snapping line operable to cause an edge of a digital object to move to the snapping line in response to input moving the edge into proximity of the snapping line in the user interface.

### Claim 17 (depends on 16)

A method as recited in claim 16, further comprising steps for receiving input to modify the threshold distance.

### Claim 18 (depends on 17)

A method as recited in claim 17, wherein the input comprises zooming in on the first candidate snapping line.

### Claim 19 (depends on 16)

A method as recited in claim 16, wherein the plurality of bounding box lines is oriented vertically.

### Claim 20 (depends on 16)

A method as recited in claim 16, wherein each said bounding box line is based on glyph bounding boxes corresponding to a subset of glyphs based on one or more of a glyph, a word, or a glyph line where a cursor present.
