IP Library Granted Patent US 11,367,231
Granted Patent B2
US 11,367,231 · App. 17/077,496 · Granted Jun 21, 2022

System for generating snapping guides for a multi-path glyph

Inventors: Nirmal Kumawat (Noida, IN); Pawan Kishor Singh (Noida, IN)
Assignee: Adobe Inc.
G06T11/60G06F40/103G06T3/0068G06T2210/12
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 11,367,231
App. No.
17/077,496
Granted
Jun 21, 2022
Kind
B2
Abstract

Systems and methods provide snap-line generation operations for live multi-path glyphs. In this regard, an attribute extraction component accesses a glyph description of a live multi-path glyph to determine and store several attributes related to at least one sub-path of the live multi-path glyph. The stored attributes are accessed by a snap-line generation component and used to determine whether an external object is moved near the live multi-path glyph. When moved near one another, a snap-line is generated along sub-path planes of the external object and the live multi-path glyph. Generated snap-lines are used to aid a user in aligning the two objects.

Claims (63)

1. A method comprising:

receiving, at a client application, a first object comprising a live glyph having a plurality of sub-paths;

extracting, by an attribute extractor, each of the plurality of sub-paths for the live glyph from a glyph description corresponding to the live glyph;

determining, by the attribute extractor, bounding box coordinates and a set of relevant line segments for each of the plurality of sub-paths;

calculating, by a sub-path filterer, a bounding box area for each of the plurality of sub-paths based at least on the bounding box coordinates corresponding to each sub-path;

identifying, by the sub-path filterer, a set of sub-paths of the plurality of sub-paths having a bounding box area that exceeds a threshold value;

determining, by a snap-line generator, a set of potential snap-lines for each sub-path of the identified set of sub-paths corresponding to the live glyph based on the bounding box coordinates and the set of relevant line segments for each sub-path;

receiving, at the client application, a second object;

determining, by the snap-line generator, a set of potential snap-lines for the second object;

generating, by the snap-line generator, at least one snap-line by determining that a potential snap-line of the live glyph is within a threshold distance from the potential snap-line of the second object; and

causing, by the client application, display of the at least one snap-line.

2. The method of claim 1 , further comprising:

determining, by the snap-line generator, that the second object is within a threshold distance of the snap-line; and

causing the second object to automatically align with the snap-line.

3. The method of claim 1 , further comprising generating a bounding box for each of the plurality of sub-paths based on the glyph description.

4. The method of claim 3 , further comprising:

accessing, by the snap-line generator, a skew angle applied to the live glyph; and

applying the skew angle to each bounding box.

5. The method of claim 1 , further comprising:

tagging, by the attribute extractor, each sub-path of the plurality of sub-paths as an inner sub-path or an outer sub-path, wherein a sub-path that is fully enclosed by another sub-path is tagged as an inner sub-path and a sub-path that is not fully enclosed by another sub-path is tagged as an outer sub-path.

6. The method of claim 1 , further comprising assigning, by the attribute extractor, a unique identifier to each sub-path of the plurality of sub-paths.

7. The method of claim 1 , wherein calculating a bounding box area for each of the plurality of sub-paths is further based on a determined zoom level associated with the live glyph.

8. A computerized system comprising:

one or more computer processors; and

computer memory storing computer-useable instructions that, when used by the one or more computer processors, cause the one or more computer processors to perform operations comprising:

accessing, by an attribute extractor, a glyph description of a live glyph comprising a glyph path and a sub-path within the glyph path;

extracting, by the attribute extractor, data from the glyph description corresponding to the sub-path;

storing, by the attribute extractor, the extracted data corresponding to the sub-path in a mapping associated with the sub-path;

determining, by a snap-line generator, at least one sub-path plane corresponding to the sub-path; and

based on determining an element of a graphic object is within a threshold distance of the sub-path plane, generating, by a snap-line generator, a snap-line that extends along the plane of the sub-path of the live glyph.

9. The system of claim 8 , further comprising:

determining, by the snap-line generator, that the element of the object is within a threshold distance of the snap-line; and

causing the element of the graphic object to automatically align with the snap-line.

10. The system of claim 8 , further comprising generating, by the snap-line generator, a bounding box for the sub-path based on the glyph description.

11. The system of claim 10 , further comprising:

accessing, by the snap-line generator, a skew angle applied to the live glyph; and

applying, by the snap-line generator, the skew angle to the bounding box for the sub-path.

12. The system of claim 8 , further comprising:

tagging, by the attribute extractor, the sub-path as an inner sub-path, wherein an inner sub-path is fully enclosed by a second sub-path; and

identifying, by the snap-line generator, a bounding box area of the sub-path based on a generated bounding box for the sub-path, a font size for the live glyph and a zoom level for displaying the live glyph.

13. The system of claim 8 , wherein the mapped data includes a unique identifier, a tag to identify the sub-path as an inner or outer sub-path, bounding box information, and relevant line segments.

14. The system of claim 8 , further comprising:

determining, by the snap-line generator, a bounding box array for the live glyph, wherein the bounding box array includes a bounding box for each sub-path of the live glyph;

determining, by the snap-line generator, a line array for the live glyph, wherein the line array incudes a line segment of each straight line of each sub-path of the live glyph; and

removing, by the snap-line generator, common line segments from the line array, wherein a common line segment is a line segment that shares the same path as a portion of at least one bounding box of the bounding box array.

15. A system comprising:

means for accessing, by an attribute extractor, a glyph description of a live glyph comprising a glyph path and a sub-path within the glyph path;

means for extracting data, by the attribute extractor, from the glyph description corresponding to the sub-path;

means for storing, by the attribute extractor, the extracted data corresponding to the sub-path in a mapping associated with the sub-path;

means for determining, by a snap-line generator, at least one sub-path plane corresponding to the sub-path; and

means for generating, by the snap-line generator, a snap-line that extends along the plane of the sub-path of the live glyph based on determining a plane of a graphic object is within a threshold distance of the sub-path plane.

16. The system of claim 15 , further comprising:

determining, by the snap-line generator, that the plane of the object is within a threshold distance of the snap-line; and

causing the plane of the graphic object to automatically align with the snap-line.

17. The system of claim 15 , further comprising generating, by the snap-line generator, a bounding box for the sub-path based on the glyph description.

18. The system of claim 15 , further comprising filtering out, by a sub-path filterer, a second sub-path based on determining a bounding box area associated with the second sub-path area is less than a threshold area.

19. The system of claim 15 , further comprising:

tagging, by the attribute extractor, the sub-path as an inner sub-path, wherein an inner sub-path is fully enclosed by a second sub-path; and

identifying, by the snap-line generator, a bounding box area of the sub-path based on a generated bounding box for the sub-path, a font size for the live glyph and a zoom level for displaying the live glyph.

20. The system of claim 15 , further comprising:

determining, by the snap-line generator, a bounding box array for the live glyph, wherein the bounding box array includes a bounding box for each sub-path of the live glyph;

determining, by the snap-line generator, a line array for the live glyph, wherein the line array incudes a line segment of each straight line of each sub-path of the live glyph; and

removing, by the snap-line generator, common line segments from the line array, wherein a common line segment is a line segment that shares the same path as a portion of at least one bounding box of the bounding box array.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2021
From: KUMAWAT, NIRMAL; SINGH, PAWAN KISHOR
To: ADOBE INC.
Reel/Frame 057715/0208 →
Continuity (1)
Related Publication 20220130085A1 · Apr 28, 2022