8584012

Methods and Systems for Displaying Text on a Path

PublishedNovember 12, 2013
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
23 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method comprising: starting from a first end of a path, iteratively placing along the path, by a processor, each of a first subset of a plurality of glyphs in a first visual order based on determining that each of the first subset of glyphs has a first directional value indicating a first level of bidirectional embedding of the glyph, wherein the first visual order is the order in which the first subset of glyphs are displayed for reading; determining, by the processor, that one of a second subset of the plurality of glyphs has a second directional value indicating a second level of bidirectional embedding of the glyph; starting from a second end of the path that is opposite to the first end of the path, iteratively placing along the path, by the processor, each of the second subset of glyphs in a second visual order, wherein the second visual order is the order in which the second subset of glyphs are displayed for reading; and redetermining, by the processor, placement points for the second subset of glyphs by, starting from a start point on the path adjacent to the first subset of glyphs as placed on the path, iteratively placing the second subset of glyphs along the path such that the second visual order of the second subset of glyphs is maintained.

2

2. The method of claim 1 , wherein iteratively placing each glyph comprises: identifying a first point on the path, determining a path segment to be occupied by the glyph and extending from the first point of the path to a second point on the path, associating the glyph with a point on the path segment, and truncating the path by removing the path segment occupied by the glyph.

3

3. The method of claim 2 , further comprising determining, by the processor, a line tangent to the path for each glyph and rotating each glyph relative to the line tangent to the path.

4

4. The method of claim 2 , further comprising: determining, by the processor, that the path segment to be occupied by a next glyph to be placed on the path exceeds the length of the path as truncated; providing output indicating that text comprising the plurality of glyphs will not fit on the path.

5

5. The method of claim 4 , wherein providing output indicating that the text will not fit on the path comprises providing an option to remove one or more glyphs for which a placement point on the path has been determined.

6

6. The method of claim 4 , wherein providing output indicating that the text will not fit on the path comprises: determining a word associated with at least one glyph with a size exceeding the length of the path as truncated; and removing all glyphs associated with the word from the path.

7

7. The method of claim 4 , wherein providing output indicating that the text will not fit on the path comprises providing a visual indication that an omitted glyph has not been placed on the path.

8

8. The method of claim 2 , further comprising providing, by the processor, output for displaying text following the path based on data describing the first subset and second subset as placed on the path.

9

9. The method of claim 1 , wherein redetermining placement points for the second subset of glyphs eliminates whitespace adjacent to the first subset of glyphs as placed on the path.

10

10. The method of claim 1 , wherein redetermining placement points for the second subset of glyphs is performed after iteratively placing the first subset of the plurality of glyphs in the first visual order and iteratively placing the second subset of glyphs in the second visual order starting from the second end of the path that is opposite to the first end of the path.

11

11. A computing platform comprising a processor with access to a computer-readable medium embodying program components, the program components comprising: a text engine configured to provide text data comprising a plurality of glyphs; a text placement engine configured to perform the operations of: starting from a first end of a path, iteratively placing along the path each of a first subset of the plurality of glyphs in a first visual order based on determining that each of the first subset of glyphs has a first directional value indicating a first level of bidirectional embedding of the glyph, wherein the first visual order is the order in which the first subset of glyphs are displayed for reading; determining that one of a second subset of the plurality of glyphs has a second directional value indicating a second level of bidirectional embedding of the glyph; starting from a second end of the path that is opposite to the first end of the path, iteratively placing along the path each of the second subset of glyphs in a second visual order, wherein the second visual order is the order in which the second subset of glyphs are displayed for reading; and redetermining placement points for the second subset of glyphs by, starting from a start point on the path adjacent to the first subset of glyphs as placed on the path, iteratively placing the second subset of glyphs along the path such that the second visual order of the second subset of glyphs is maintained.

12

12. The computing platform of claim 11 , wherein the text placement engine is configured to perform the operation of iteratively placing each glyph by: identifying a first point on the path, determining a path segment to be occupied by the glyph and extending from the first point of the path to a second point on the path, associating the glyph with a point on the path segment, and truncating the path by removing the path segment occupied by the glyph.

13

13. The computing platform of claim 12 , wherein the text placement engine is further configured to determine a line tangent to the path for each glyph and rotating each glyph relative to the line tangent to the path.

14

14. The computing platform of claim 12 , wherein the text placement engine is further configured to perform operations comprising: determining that the path segment to be occupied by a next glyph to be placed on the path exceeds the length of the path as truncated; providing output indicating that text comprising the plurality of glyphs will not fit on the path.

15

15. The computing platform of claim 14 , wherein the text placement engine is configured to provide output indicating that the text will not fit on the path by providing an option to remove one or more glyphs for which a placement point on the path has been determined.

16

16. The computing platform of claim 14 , wherein the text placement engine is configured to provide output indicating that the text will not fit on the path by performing operations comprising: determining a word associated with at least one glyph with a size exceeding the length of the path as truncated; and removing all glyphs associated with the word from the path.

17

17. The computing platform of claim 14 , wherein the text placement engine is configured to provide output indicating that the text will not fit on the path by providing a visual indication that an omitted glyph has not been placed on the path.

18

18. A non-transitory computer-readable medium tangibly embodying program code executable by a computer system, the program code comprising: program code for, starting from a first end of a path, iteratively placing along the path each of a first subset of a plurality of glyphs in a first visual order based on determining that each of the first subset of glyphs has a first directional value indicating a first level of bidirectional embedding of the glyph, wherein the first visual order is the order in which the first subset of glyphs are displayed for reading; program code for determining that one of a second subset of the plurality of glyphs has a second directional value indicating a second level of bidirectional embedding of the glyph; program code for, starting from a second end of the path that is opposite to the first end of the path, iteratively placing along the path each of the second subset of glyphs in a second visual order, wherein the second visual order is the order in which the second subset of glyphs are displayed for reading; and program code for redetermining placement points for the second subset of glyphs by, starting from a start point on the path adjacent to the first subset of glyphs as placed on the path, iteratively placing the second subset of glyphs along the path such that the second visual order of the second subset of glyphs is maintained.

19

19. The non-transitory computer-readable medium of claim 18 , wherein the program code for iteratively placing each glyph comprises: program code for identifying a first point on the path, program code for determining a path segment to be occupied by the glyph and extending from the first point of the path to a second point on the path, program code for associating the glyph with a point on the path segment, and program code for truncating the path by removing the path segment occupied by the glyph.

20

20. The non-transitory computer-readable medium of claim 19 , further comprising: program code for determining that the path segment to be occupied by a next glyph to be placed on the path exceeds the length of the path as truncated; program code for providing output indicating that text comprising the plurality of glyphs will not fit on the path.

21

21. The non-transitory computer-readable medium of claim 20 , wherein the program code for providing output indicating that the text will not fit on the path comprises program code for providing an option to remove one or more glyphs for which a placement point on the path has been determined.

22

22. The non-transitory computer-readable medium of claim 20 , wherein the program code for providing output indicating that the text will not fit on the path comprises: program code for determining a word associated with at least one glyph with a size exceeding the length of the path as truncated; and program code for removing all glyphs associated with the word from the path.

23

23. The non-transitory computer-readable medium of claim 20 , wherein the program code for providing output indicating that the text will not fit on the path comprises program code for providing a visual indication that an omitted glyph has not been placed on the path.

Patent Metadata

Filing Date

Unknown

Publication Date

November 12, 2013

Inventors

Sergey Orshanskiy
Andrei Burago

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “METHODS AND SYSTEMS FOR DISPLAYING TEXT ON A PATH” (8584012). https://patentable.app/patents/8584012

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.