Display and selection of bidirectional text

US9594736B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9594736-B2
Application numberUS-201314052655-A
CountryUS
Kind codeB2
Filing dateOct 11, 2013
Priority dateOct 11, 2013
Publication dateMar 14, 2017
Grant dateMar 14, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are disclosed for editing bidirectional text, including techniques for creating, selecting, inserting, and copying bidirectional text. The disclosed techniques include a method of inserting a character in bidirectional text. The method includes receiving the character, identifying a caret location at which a visual text insertion caret is positioned in displayed bidirectional text, the caret location separating a left character and a right character having opposite text directions, determining a logical insertion location at which the character is to be stored in a data store, wherein the logical insertion location is based on logical locations of the left and right characters in the data store, a text direction of the received character, and text directions of the left and right characters, and inserting the character into the data store at the logical insertion location.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for inserting a received character in bidirectional text, the method comprising: receiving an input corresponding to a visual insertion location for the received character within the bidirectional text, wherein the visual insertion location is positioned between adjacent characters of the bidirectional text having opposite text directions; mapping a position of each of the adjacent characters into a different index of a data object; identifying a plurality of prospective logical insertion locations for the received character according to the visual insertion location; determining an actual logical insertion location within the data object from the plurality of prospective logical insertion locations based on: the position of each of the adjacent characters, a text direction of the received character, and a text direction associated with each of the adjacent characters; and inserting the received character into the actual logical insertion location. 2. The method of claim 1 , wherein determining the actual logical insertion location is further based on a type of the received character. 3. The method of claim 2 , wherein the type of the received character corresponds to at least one of a letter, a number, a symbol, a word, a phrase, or a sentence. 4. The method of claim 1 , wherein the adjacent characters of the bidirectional text include a left character and a right character. 5. The method of claim 4 , wherein inserting the received character into the actual logical insertion location comprises: determining that the received character and the right character are both associated with a left-to-right (LTR) direction; and inserting the received character at the actual logical insertion location after the right character. 6. The method of claim 4 , wherein inserting the received character into the actual logical insertion location comprises: determining that the received character and the left character are both associated with a right-to-left (RTL) direction; and inserting the received character at the actual logical insertion location before the left character. 7. The method of claim 1 , further comprising: displaying the received character at the visual insertion location. 8. The method of claim 1 , further comprising: receiving a selection of a plurality of characters within the bidirectional text, the selection including a combination of a first run of left-to-right (LTR) characters and a second run of right-to-left (RTL) characters; identifying a head character and a tail character in the selection; mapping a logical order of each character of the plurality of characters based on the identified head and tail characters, wherein the character is mapped to a unique location; and displaying a visual order of the plurality of characters, wherein the plurality of characters are automatically highlighted and wherein the plurality of characters that are highlighted correspond to the plurality of characters that were selected. 9. The method of claim 8 , wherein the identified head and tail characters correspond to the first and last characters that were selected. 10. A method for pasting a plurality of characters associated with a left-to-right (LTR) run and a right-to-left (RTL) run into a string of bidirectional text, the method comprising: receiving a request to insert the plurality of characters into an insertion location in the string of bidirectional text, wherein the insertion location is positioned between adjacent characters separated by a boundary; mapping a position of each of the adjacent characters into a different index of a data object to identify a right adjacent character associated with a LTR run and a left adjacent character associated with a RTL run; establishing a first group of the plurality of characters associated with the LTR run and a second group of the plurality of characters associated with the RTL run; and inserting into the data object the first group prior to the right adjacent character and the second group after the left adjacent character, wherein the first group and the second group are displayed as a single continuous block of characters. 11. The method of claim 10 , wherein the plurality of characters that are inserted into the insertion location include a combination of at least one of a letter, a symbol, a number, a word, a phrase, or a sentence. 12. The method of claim 10 , wherein the first group and the second group that are inserted into the insertion location are automatically highlighted. 13. A method for displaying a selection of bidirectional text on a display of a computing device, the method comprising: receiving a selection of a plurality of characters within the bidirectional text, the selection having a combination of a first run of left-to-right (LTR) characters and a second run of right-to-left (RTL) characters that are separated by a boundary; identifying a head character and a tail character in the selection; mapping a logical order of each character of the plurality of characters based on the identified head and tail characters, wherein the character is mapped to a unique location; and displaying a visual order of the plurality of characters, wherein the plurality of characters are automatically highlighted and distinguished over non-selected characters of the bidirectional text, wherein the plurality of characters that are highlighted correspond to the plurality of characters that were selected. 14. The method of claim 13 , wherein the visual order displays the selected plurality of characters as a single continuous block of characters. 15. The method of claim 13 , wherein the bidirectional text includes a combination of at least one of a letter, a symbol, a number, a word, a phrase, or a sentence. 16. The method of claim 13 , further comprising: receiving a request to select one or more additional characters to be included with the plurality of characters such as to provide an expanded selection of characters; and displaying a visual order of the expanded selection of characters, wherein the expanded selection of characters is automatically highlighted. 17. The method of claim 16 , wherein a beginning character and an end character that are associated with the expanded selection of characters correspond to the identified head and tail characters. 18. The method of claim 13 , wherein the display is a touch screen device. 19. The method of claim 13 , wherein the visual order and the logical order of the selected plurality of characters are distinct. 20. The method of claim 13 , wherein the identified head and tail characters correspond to a first character and a last character of the selected plurality of characters.

Assignees

Inventors

Classifications

  • for inputting data by handwriting, e.g. gesture or text · CPC title

  • Character input methods · CPC title

  • G06F3/018Primary

    Input/output arrangements for oriental characters · CPC title

  • G06F40/129Primary

    Handling non-Latin characters, e.g. kana-to-kanji conversion · CPC title

  • Editing, e.g. inserting or deleting · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9594736B2 cover?
Techniques are disclosed for editing bidirectional text, including techniques for creating, selecting, inserting, and copying bidirectional text. The disclosed techniques include a method of inserting a character in bidirectional text. The method includes receiving the character, identifying a caret location at which a visual text insertion caret is positioned in displayed bidirectional text, t…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/018. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 14 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).