# US 2021/0278958 A1 · Glyph-aware text selection

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

- Number: US 2021/0278958 A1
- Document ID: US20210278958A1
- Status: Published application
- Kind: A1
- Application number: 16/808,105
- Filed: 2020-03-03
- Published: 2021-09-09
- Earliest claimed: 2020-03-03
- Assignees: Adobe Inc.
- Applicants: Adobe Inc.
- Inventors: Rohit Kumar Dubey; Aman Arora
- Web page: https://patentgrep.com/patent/US20210278958A1

## CPC

- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 16/903: Querying (for retrieval from the web G06F16/953)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques and systems are provided for glyph-aware text selection. For instance, a glyph selection system can detect that a user has selected a glyph within a user interface. The glyph selection system can highlight the glyph and/or a region encompassing the glyph to communicate, to the user, that the glyph is selected. This highlighted region can be determined based on the shape and/or outline of the glyph. For example, the glyph selection system can determine bounds (e.g. coordinates) of the glyph in order to highlight a region within the user interface that fully encompasses the glyph and does not include portions of unselected glyphs. In some cases, the highlighted region may be rectangular. Alternatively, the highlighted region may be non-rectangular, such as a border defined by the outline of the glyph.

## Claims

### Claim 1

A method for highlighting selected portions of text, comprising:
detecting at least one glyph within a user interface is selected by a user;
obtaining information defining an outline of the glyph, the information including a set of coordinates corresponding to at least a portion of the glyph within the user interface;
determining, from the set of coordinates defining the outline of the glyph, horizontal and vertical bounds of the glyph within the user interface, wherein the vertical bounds of the glyph correspond to a vertical maximum within the set of coordinates and a vertical minimum within the set of coordinates, and wherein the horizontal bounds of the glyph correspond to a horizontal maximum within the set of coordinates and a horizontal minimum within the set of coordinates;
determining, within the user interface, a region at least partially defined by the horizontal and vertical bounds of the glyph; and
displaying the region within the user interface, the displayed region indicating that the glyph is selected by the user.

### Claim 2 (depends on 1)

The method of claim 1, wherein the user interface is displayed by an application running on a client device, and wherein obtaining the information defining the outline of the glyph comprises:
querying a server external to the client device for the information defining the outline of the glyph; and
receiving, at the client device based on querying the server, at least a portion of the information defining the outline of the glyph.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining the region within the user interface comprises excluding, from the region, at least one additional glyph that is not selected by the user.

### Claim 4 (depends on 1)

The method of claim 1, wherein displaying the region within the user interface comprises altering an appearance of content within the region.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
determining that the user selects an additional glyph while the glyph is still selected, the additional glyph being horizontally adjacent to the glyph within the user interface;
determining horizontal and vertical bounds of the additional glyph, wherein the vertical bounds of the glyph exceed the vertical bounds of the additional glyph;
determining an additional region at least partially defined by the horizontal and vertical bounds of the additional glyph, wherein vertical bounds of the additional region correspond to the vertical bounds of the glyph; and
displaying the additional region within the user interface, the additional displayed region indicating that the additional glyph is selected by the user.

### Claim 6 (depends on 1)

The method of claim 1, wherein:
the vertical bounds of the glyph include an upper vertical bound of the glyph corresponding to the vertical maximum within the set of coordinates and a lower vertical bound of the glyph corresponding to the vertical minimum within the set of coordinates; and
the horizontal bounds of the glyph include a right horizontal bound of the glyph corresponding to the horizontal maximum within the set of coordinates and a left horizontal bound of the glyph corresponding to the horizontal minimum within the set of coordinates.

### Claim 7

A system for highlighting selected portions of text, comprising:
one or more processors; and
memory accessible to the one or more processors, the memory storing instructions, which upon execution by the one or more processors, cause the one or more processors to:
detect at least one glyph within a user interface is selected by a user;
obtain information defining an outline of the glyph, the information including a set of coordinates corresponding to at least a portion of the glyph within the user interface;
determine, from the set of coordinates defining the outline of the glyph, horizontal and vertical bounds of the glyph within the user interface, wherein the vertical bounds of the glyph correspond to a vertical maximum within the set of coordinates and a vertical minimum within the set of coordinates, and wherein the horizontal bounds of the glyph correspond to a horizontal maximum within the set of coordinates and a horizontal minimum within the set of coordinates;
determine, within the user interface, a region at least partially defined by the horizontal and vertical bounds of the glyph; and
display the region within the user interface, the displayed region indicating that the glyph is selected by the user.

### Claim 8 (depends on 7)

The system of claim 7, wherein the region at least partially defined by the horizontal and vertical bounds of the glyph corresponds to a bounding box of the glyph, the bounding box being a rectangle whose dimensions are defined by an upper vertical bound of the glyph corresponding to the vertical maximum within the set of coordinates, a lower vertical bound of the glyph corresponding to the vertical minimum within the set of coordinates, a right horizontal bound of the glyph corresponding to the horizontal maximum within the set of coordinates, and a left horizontal bound of the glyph corresponding to the horizontal minimum within the set of coordinates.

### Claim 9 (depends on 7)

The system of claim 7, further comprising memory storing instructions, which upon execution by the one or more processors, cause the one or more processors to:
determine a vertical range of the bounding box, the vertical range comprising an inclusive range of coordinates between the vertical maximum and the vertical minimum of the bounding box; and
determine an additional vertical range of an additional region displayed within the user interface, the additional region indicating that an additional glyph is selected by the user, and the additional glyph being horizontally adjacent to the glyph within the user interface.

### Claim 10 (depends on 9)

The system of claim 9, wherein the region at least partially defined by the horizontal and vertical bounds of the glyph encompasses both the vertical range of the bounding box and the additional vertical range of the additional region.

### Claim 11 (depends on 10)

The system of claim 10, further comprising memory storing instructions, which upon execution by the one or more processors, cause the one or more processors to:
determine at least a portion of the vertical range of the bounding box extends beyond the additional vertical range of the additional region; and
extend the additional vertical range of the additional region to encompass the vertical range of the bounding box.

### Claim 12 (depends on 7)

The system of claim 7, wherein:
the glyph resides within a first line of text that is bound by a waxline, the waxline separating the first line of text from a second line of text displayed below the first line of text within the user interface; and
a lower vertical bound of the region is above the waxline.

### Claim 13 (depends on 7)

The system of claim 7, the memory storing instructions, which upon execution by the one or more processors, cause the one or more processors to alter a color of content within the region.

### Claim 14 (depends on 13)

The system of claim 13, wherein altering the color of the content within the region comprises highlighting the content.

### Claim 15

A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to:
detect at least one glyph within a user interface is selected by a user;
obtain a set of coordinates defining an outline of the glyph within the user interface;
generate, based on the set of coordinates, a path corresponding to the outline of the glyph within the user interface;
determine a region corresponding to an extended outline of the glyph, an inner perimeter of the region being defined by the path corresponding to the outline of the glyph and an outer perimeter of the region being offset from the inner perimeter by an offset value; and
display the region within the user interface, the displayed region indicating that the glyph is selected by the user.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the instructions, when executed by the one or more processors, cause the one or more processors to generate a mathematical function corresponding to the set of coordinates.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the mathematical function comprises at least one Bézier curve.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the instructions, when executed by the one or more processors, cause the one or more processors to:
receive input from the user indicating the offset value; and
determine the region corresponding to the extended outline of the glyph based on the received input.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the instructions, when executed by the one or more processors, cause the one or more processors to alter a color of the extended outline within the user interface.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium of claim 19, wherein:
the glyph is an initial color prior to being selected by the user; and
the instructions, when executed by the one or more processors, cause the one or more processors to retain the initial color of the glyph while displaying the region within the user interface.
