Bi-directional text support in legacy applications
First Claim
Patent Images
1. A method implemented in a processing system comprising:
- receiving a line of text, the line of text having a set of ordered characters having an original order and orientation;
flipping the characters of the line of text about a display axis;
identifying in the line of text a group of adjacent characters that share a characteristic not shared by at least one other character in the line of text; and
flipping the characters of the group of adjacent characters about a vertical axis which passes through the group of adjacent characters so that the group of adjacent characters returns to the original order and orientation.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for support of bi-directional text in legacy applications is disclosed. The method may be used in different embodiments for either monospace or proportionally spaced fonts. In general, the method involves first flipping all of the text, and thereby putting most of the text into its proper position and orientation. The method then involves finding any foreign (left-to-right) text within the flipped text, and flipping it back.
-
Citations
28 Claims
-
1. A method implemented in a processing system comprising:
-
receiving a line of text, the line of text having a set of ordered characters having an original order and orientation;
flipping the characters of the line of text about a display axis;
identifying in the line of text a group of adjacent characters that share a characteristic not shared by at least one other character in the line of text; and
flipping the characters of the group of adjacent characters about a vertical axis which passes through the group of adjacent characters so that the group of adjacent characters returns to the original order and orientation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A machine-readable medium storing instructions, which, when executed by a processor, cause the processor to perform a process comprising:
-
receiving a line of text, the line of text having a set of ordered characters having an original order and orientation;
flipping the characters of the line of text about a center vertical axis of a display on which the line of text is to be displayed;
identifying a set of runs of foreign characters in the line of text; and
for each identified run of foreign characters in the identified set, if any, flipping the run of foreign characters about a center vertical axis of the run of foreign characters so that the run of foreign characters returns to the original order and orientation. - View Dependent Claims (12, 13)
-
-
14. A method implemented in a processing system comprising:
-
receiving a line of text, the line of text having a set of ordered characters having an original order and orientation;
flipping the characters of the line of text about a center vertical axis of a display on which the text is to be displayed;
identifying zero or more runs of foreign characters in the line of text; and
for each identified run of foreign characters in the line of text, if any, flipping the characters of the run of foreign characters about a center vertical axis of the run of foreign characters so that the run of foreign characters returns to the original order and orientation. - View Dependent Claims (15, 16)
-
-
17. A processing system comprising:
-
a processor;
a display device; and
a memory storing instructions which, when executed by the processor, cause the system to perform a process which includes receiving a line of text, the line of text having a set of ordered characters having an original order and orientation;
flipping the characters of the line of text about a vertical center axis of the display device;
identifying a run of foreign characters in the line of text; and
flipping the characters of the run of foreign characters about a center vertical axis of the run of foreign characters so that the run of foreign characters returns to the original order and orientation. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A method implemented in a processing system comprising:
-
receiving a line of text, the line of text having a set of ordered characters having an original order and original orientation;
generating a set of runs within the line of text;
flipping a location and an orientation of each run of the set of runs about a center vertical axis of a display; and
identifying a set of runs of foreign characters within the line of text;
flipping the orientation of each run of foreign characters about a vertical axis within the run of foreign characters so that the run of foreign characters returns to the original order and original orientation. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A method implemented in a processing system comprising:
-
receiving a block of text including a plurality of lines of text, each line including a plurality of ordered characters having an original order and orientation;
breaking the block into a plurality of lines of text;
for each of the lines of text into which the block of text has been broken;
determining a set of runs of characters within the line of text, including identifying left-right characteristics of each of the runs of characters;
flipping a location and an orientation of each run of characters about a center vertical axis of a display; and
rendering each of the runs of characters on the display in accordance with the left-right characteristics of the run, including flipping at least one run of characters about a vertical axis within the run of characters so that the run of foreign characters returns to the original order and orientation.
-
Specification