IP Library › Granted Patent US 12,412,024
Granted Patent B2
US 12,412,024 · App. 18/358,743 · Granted Sep 9, 2025

Enhanced text wrapping in documents

Inventors: Pragya Kandari (Noida, IN); Anurag Singh (Noida, IN)
Assignee: Adobe Inc.
G06F40/109G06F40/189
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 12,412,024
App. No.
18/358,743
Granted
Sep 9, 2025
Kind
B2
Abstract

Embodiments described herein facilitate text wrapping around a text-based glyph in an effective and efficient manner. In embodiments, a text-based glyph is generated within a document. The glyph is generated from a font file that includes glyph data that instruct a document editor how to generate the glyph. Using the glyph data, an intersection between the glyph and a text tile, e.g., a text area boundary where text can be placed, of the document. An insertion location based on intersection is identified, and text is inserted within the text tile at the insertion location, thus providing the effect of wrapping the text around the text-based glyph.

Claims (43)

1. A system comprising:

at least one processor; and

one or more computer storage media storing computer readable instructions thereon that when executed by the at least one processor cause the at least one processor to perform operations comprising:

accessing glyph data from a font file for generating text in a document;

calculating from the glyph data a first intersection between a glyph, having been generated from the glyph data of the font file, and a first text tile identifying text location within the document, the first intersection calculated by identifying a location of the first text tile that is the same as a location on a Bézier curve calculated according to the font file for control points of the glyph;

determining a first insertion location in the first text tile based on the first intersection of the glyph with the first text tile; and

inserting text into the first text tile at the first insertion location.

2. The system of claim 1 , further comprising:

from the glyph data, calculating a second intersection between the glyph and a second text tile, the second text tile below the first text tile in the document and identifying another text location within the document;

determining a second insertion location in the second text tile based on the second intersection between the glyph and the second text tile, the second insertion location being horizontally offset from the first insertion location within the document based on the glyph as determined from the glyph data; and

inserting additional text into the second text tile at the second insertion location.

3. The system of claim 1 , further comprising classifying a geometrical region of the glyph based on the first intersection between the glyph and the first text tile, wherein the text is inserted according to the classified geometrical region.

4. The system of claim 3 , wherein the geometrical region is classified as an outer region based on the first intersection being a single intersection, and the inserted text begins at the first insertion location and extends within the first text tile away from the first intersection.

5. The system of claim 3 , wherein the geometrical region is classified as an inner region based on the first intersection between the glyph and the first text tile and a second intersection between the glyph and the first text tile, and wherein the inserted text extends within the first text tile between the first intersection and the second intersection.

6. The system of claim 1 , wherein the glyph and the inserted text are both generated from the font file.

7. The system of claim 1 , further comprising:

identifying the glyph as a first glyph within a text body of the document; and

based on the glyph being the first glyph within the text body of the document, automatically increasing a font size of the glyph relative to the inserted text.

8. A method performed by one or more processors, the method comprising:

generating a glyph in a document comprising text tiles identifying text locations within the document, the glyph generated from glyph data within a font file;

from the glyph data, calculating a first intersection between a Bézier curve of the glyph and a first text tile within the document, the Bézier curve calculated according to the font file for control points of the glyph; and

inserting text into the text tile at a first insertion location determined based on first intersection of the glyph with the first text tile.

9. The method of claim 8 , further comprising:

from the glyph data, calculating a second intersection between the Bézier curve and a second text tile, the second text tile below the first text tile in the document; and

inserting additional text into the second text tile at a second insertion location determined based on the second intersection between the Bézier curve and the second text tile, the second insertion location being horizontally offset from the first insertion location within the document based on the glyph as determined from the glyph data.

10. The method of claim 8 , further comprising classifying a geometrical region of the glyph based on the first intersection between the Bézier curve and the first text tile, wherein the text is inserted according to the classified geometrical region.

11. The method of claim 10 , wherein the geometrical region is classified as an outer region based on the first intersection being a single intersection, and the inserted text begins at the first insertion location and extends within the first text tile away from the first intersection.

12. The method of claim 10 , wherein the geometrical region is classified as an inner region based on the first intersection between the Bézier curve and the first text tile and a second intersection between the Bézier curve and the first text tile, and wherein the inserted text extends within the first text tile between the first intersection and the second intersection.

13. The method of claim 8 , wherein the glyph and the inserted text are both generated from the font file.

14. The method of claim 8 , further comprising:

identifying the glyph as a first glyph within a text body of the document; and

based on the glyph being the first glyph within the text body of the document, automatically increasing a font size of the glyph relative to the inserted text.

15. One or more computer storage media storing computer readable instructions thereon that, when executed by a processor, cause the processor to perform operations comprising:

generating a glyph in a document comprising text tiles identifying text locations within the document, the glyph comprising a Bézier curve generated from glyph data within a font file, and the glyph comprising a first font size;

from the glyph data, determining a first intersection between the Bézier curve of the glyph and a first text tile within the document for wrapping text of the first text tile around the glyph, the first intersection calculated by identifying a location of the first text tile that is the same as a location on the Bézier curve; and

inserting the text into the text tile at a first insertion location determined based on first intersection of the glyph with the first text tile, the inserted text comprising a second font size that is less than the first font size.

16. The media of claim 15 , further comprising:

from the glyph data, determining a second intersection between the Bézier curve of the glyph and a second text tile, the second text tile below the first text tile in the document, and the second intersection determined for wrapping additional text of the second text tile around the glyph; and

inserting the additional text into the second text tile at a second insertion location determined based on the second intersection between the glyph and the second text tile, the second insertion location being horizontally offset from the first insertion location within the document based on the glyph as determined from the glyph data, the additional text comprising the second font size.

17. The media of claim 15 , further comprising classifying a geometrical region of the glyph based on the first intersection between the glyph and the first text tile, wherein the text is inserted according to the classified geometrical region.

18. The media of claim 17 , wherein the geometrical region is classified as an outer region based on the first intersection being a single intersection, and the inserted text begins at the first insertion location and extends within the first text tile away from the first intersection.

19. The media of claim 17 , wherein the geometrical region is classified as an inner region based on the first intersection between the glyph and the first text tile and a second intersection between the glyph and the first text tile, and wherein the inserted text extends within the first text tile between the first intersection and the second intersection.

20. The media of claim 15 , wherein the glyph and the inserted text are both generated from the font file.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2023
From: SINGH, ANURAG; KANDARI, PRAGYA
To: ADOBE INC.
Reel/Frame 064486/0596 →
Continuity (1)
Related Publication 20250036854A1 · Jan 30, 2025
References Cited (14)
US 6081816A · Agrawal · 2000 [cited by examiner]
US 7315979B1 · Walker · 2008 [cited by examiner]
US 11170156B1 · Arora · 2021 [cited by examiner]
US 20100174985A1 · Levy · 2010 [cited by examiner]
US 20110179345A1 · Capela · 2011 [cited by examiner]
Bateman et al., “Towards Constructive Text, Diagram, and Layout Generation for Information Presentation” Computational Linguistics, vol. 27, No. 23, copyright 2001 ACM, pp. 409-449. (Year: 2001). [cited by examiner]
Chao, “Text Block Geometric Shape Analysis” DocEng'06, Oct. 10-13, 2006, Amsterdam, The Netherlands, Copyright 2006 ACM, pp. 22-24. (Year: 2006). [cited by examiner]
Harkins, S., “How to use the many text wrapping options in Microsoft Word”, TechRepublic.com, Published on Apr. 12, 2021, Retrieved from Internet URL: https://www.techrepublic.com/article/how-to-use-the-many-text-wrappi… [cited by applicant]
“Wrap text around objects”, Adobe, last updated on Jun. 20, 2023, Retrieved from Internet URL: https://helpx.adobe.com/indesign/using/text-wrap.html, accessed on Aug. 14, 2023, pp. 14. [cited by applicant]
“Textwrap—Text wrapping and filling”, Python, Retrieved from Internet URL: https://docs.python.org/3/library/textwrap.html, accessed on Aug. 14, 2023, pp. 5. [cited by applicant]
“Glyf : Glyph Data”, Glyph Data Table, Retrieved from Internet URL: https://fonttools.readthedocs.io/en/latest/ttLib/tables/_g_L_y_f.html, accessed on Aug. 9, 2023, pp. 5. [cited by applicant]
“Glyf—Glyph Data Table”, Glyf data table (OpenType 1.9)—Typography | Microsoft Learn, Published on Dec. 9, 2021, Retrieved from Internet URL: https://learn.microsoft.com/en-us/typography/opentype/spec/glyf, accessed on … [cited by applicant]
“Calculating intersection point of quadratic bezier curve”, Stack Overflow, Retrieved from Internet URL: https://stackoverflow.com/questions/27664298/calculating-intersection-point-of-quadratic-bezier-curve, accessed on… [cited by applicant]
“The OpenType Font File”, (OpenType 1.9)—Typography | Microsoft Learn, Published on Dec. 9, 2021, Retrieved from Internet URL: https://learn.microsoft.com/en-us/typography/opentype/spec/otff, accessed on Aug. 9, 2023, p… [cited by applicant]