DISPLAY CURSOR HAVING DIRECTION INDICATOR FOR USE WITH BI-DIRECTIONAL SYMBOL INPUT
FIELD OF THE INVENTION:
This invention relates generally to user interface apparatus and methods and, more specifically, relates to cursors used with display apparatus, such as Liquid Crystal Displays (LCDs) found in radiotelephones and other wireless communicators, such as pagers.
BACKGROUND OF THE INVENTION:
Fig. 1 shows a portion of a conventional display used for displaying alphanumeric characters and other, special characters, referred to collectively herein as symbols. In many languages the symbols are entered, without exception, from left-to-right. A cursor, such as a flashing inverse video symbol-sized block, or a simple flashing underline, will typically be initially displayed in the upper left corner of the display. When a user begins to enter symbols, or if the symbols are received from a memory device or from some remote location, the first symbol will replace the cursor, which then shifts one symbol position to the right. A second symbol then replaces the cursor at its new location, and the cursor again shifts one symbol position to the right. This continues, with adjustments being made for lines of symbols that continue or wrap from row to row, until the inputting of the symbols terminates.
In this conventional technique, since the direction of entry of the symbols is understood by all users, it is not necessary to provide any sense of directionality to the cursor or the cursor's shape. That is, a flashing rectangle is just as informative as any other cursor shape as to the direction of symbol entry. In this case the presence of the cursor instead simply indicates where the next inputted
symbol will appear on the display.
A problem arises when designing a symbol entry and symbol display interface users whose language permits bidirectional symbol entry. For example, bi-directional languages such as Hebrew, Arabic and Farsi are written from right-to-left, however, numbers and words with Latin characters (e.g., names of persons and places) are written from left-to-right within the right-to-left block.
The inventors are aware of one approach (known as the "Accent" text editing program) for dealing with a bidirectional language, wherein a bar cursor "I" is displayed in a right-to-left writing direction text editor. This conventional technique also employs a language selection box on a command line bar of the display to specifically state what the current writing language is (e.g., Hebrew or English) . Based on the displayed current writing language, the user must infer the direction of symbol entry (i.e., right-to-left or left-to-right.) The user can change the writing order (and keyboard layout) from the language selection box.
This technique works quite well in a personal computer environment, where the display screen is relatively large (as compared to the screen typically found in a radiotelephone, or a pager, or other portable communicators.) In this case the user can readily determine the current writing language and symbol input direction from the writing language box. However, the typically much smaller display of the radiotelephone makes it difficult to provide as much information to the user, while still reserving a sufficient amount of (uncluttered) screen space for the user to enter a meaningful number of symbols.
The inventors are also aware of at least two different models of mobile telephones that are currently available,
and that enable Hebrew input. However, the specifics of how character input is achieved is not known.
OBJECTS AND ADVANTAGES OF THE INVENTION:
It is a first object and advantage of this invention to provide an improved user interface for a portable communicator, also referred to herein as a mobile station, that overcomes the foregoing and other problems.
It is a further object and advantage of this invention to provide an improved user interface for bi-directional language input and display.
It is another object and advantage of this invention to provide a cursor that provides an unambiguous indication of a current writing direction of symbol entry (right-to-left or left-to-right) , without requiring that an explicit identification of a current writing language be displayed.
SUMMARY OF THE INVENTION
The foregoing and other problems are overcome and the objects of the invention are realized by methods and apparatus in accordance with embodiments of this invention.
A method is disclosed for operating a mobile station user interface for providing bi-directional symbol entry in, by example, a right-to-left direction or a left-to-right direction. The method has steps of (a) providing a symbol entry device and a display for displaying entered symbols; (b) displaying a cursor on the display, the cursor indicating a next symbol insertion location and a current symbol insertion direction, based on a currently selected language; and (c) automatically changing the current symbol entry direction of the cursor in response to a language switch (e.g., Latin, Arabic, Hebrew) signalled by an input
received from the symbol entry device.
Further in accordance with this invention, when operating with a language having a right-to-left directionality, the entry of one of a set of predetermined symbols (e.g., a Latin number) results in an automatic context switch to a left-to-right symbol insertion direction, with the cursor direction displaying the symbol insertion direction.
For example, if a user is entering Arabic symbols in a right-to-left direction, and then indicates a context switch either explicitly, or implicitly by entering a number or a Latin symbol, the context switch is made from the right-to-left symbol insertion direction to the left- to-right symbol insertion direction, and an automatic change is made to the writing direction indicated by the cursor.
This change is made based on the specific rules of a currently selected language. Likewise, the current writing direction (e.g., left-to-right or right-to-left) is based on the specific rules of the currently selected language.
BRIEF DESCRIPTION OF THE DRAWINGS
The above set forth and other features of the invention are made more apparent in the ensuing Detailed Description of the Invention when read in conjunction with the attached Drawings, wherein:
Fig. 1 depicts a portion of a display screen having a conventional cursor displayed thereon;
Fig. 2 is a simplified block diagram of an embodiment of a mobile station that is suitable for practicing this invention;
Figs. 3A-3E each depict the display shown in Fig. 2 at a particular point in time during the entry of symbols in right-to-left and left-to-right fashion, in accordance with the teaching of this invention; and
Fig. 4 is a logic flow diagram in accordance with a method of this invention..
DETAILED DESCRIPTION OF THE INVENTION
Referring first to Fig. 2, there is illustrated a simplified block diagram of an embodiment of a mobile station 10 that is suitable for practicing this invention. The mobile station 10 includes a micro-control unit (MCU) 12 having an output coupled to an input of a display 14 and an input coupled to an output of a keyboard or keypad 16. In other embodiments an electronic pen or stylus could also be used as an input device. The mobile station 10 may be considered to be a radiotelephone, such as a cellular telephone or a personal communicator, or a pager. As such, the display 14, which may be a LCD, is of limited size. The keypad 16 enables symbols to be entered for display on display 14, as well as certain mobile station 10 control functions to be exercised. By example, the keypad 16 may be considered to include any so called "soft keys" that are associated with selecting and navigating through various menus that can be displayed on the display 14.
The mobile station 10 also includes a wireless section
(usually RF) that includes a digital signal processor (DSP)
18, or equivalent high speed processor, as well as a wireless transceiver comprised of a transmitter 20 and a receiver 22, both of which are coupled to an antenna 24. It is noted that in some cases a received RF signal will comprise encoded symbols that are received through the receiver 22, processed and decoded by the DSP 18, and subsequently passed to the MCU 12 for display on the
di splay 14 .
The MCU 12 is assumed to include or be coupled to some type of a read-only memory (ROM) 12A for storing an operating program, that includes routines for implementing the teaching of this invention, as well as a random access memory (RAM) 12B for temporarily storing inputted symbols from the keypad 16 or the receiver 22, as well as other required data, scratchpad memory, etc.
Figs. 3A-3E each depict the display 14 shown in Fig. 2 at a particular point in time during the entry of symbols in right-to-left and left-to-right fashion during the operation of a symbol editor function, in accordance with the teaching of this invention.
Starting with Fig. 3A, the display 14 displays a cursor 15, such as a character, special character or icon, that has a portion 15A for indicating the direction of writing. The current location of the cursor 15 in the display area indicates a next symbol insertion point. In this case it is assumed that a right-to-left language selection is in effect (e.g., Arabic) and, in response, when the display 14 is initialized or cleared the cursor 15 is positioned in the upper right corner with the writing direction portion 15A pointing to the left. It is noted that the illustrated cursor shape is exemplary, and that a number of other shapes could be used as well (e.g., an arrow icon, a pointing hand icon, etc.)
It can be appreciated that a user who glances at the display 14 will be immediately informed that his or her (or a default) right-to-left writing language selection is in effect, without the requirement of a writing selection box or field being displayed.
In Fig. 3B three symbols of the right-to-left writing language have been entered in the temporal order SYMBOL 1, SYMBOL 2 and SYMBOL 3. Note that the entered symbols are placed to the right of the cursor 15, which moves from right-to-left in response to a new symbol being entered. Note that the portion 15A for indicating the direction of writing is still pointing to the left, indicating that the exemplary Arabic language selection is still in effect.
In Fig. 3C the user has interacted with the keypad 16, such as by depressing a soft key or by entering a predetermined character such as "#" (the predetermined character can be entered by pressing the appropriate key on the keypad 16, or by using a pen input device, or by any suitable technique) , and has thereby indicated that a switch to another language (e.g., Latin) or another symbol entry mode (e.g., numbers) is being made. This can also be done by selecting from a pull-down menu or the like and selecting a new writing language or type of input symbols (e.g., Latin upper case, Latin lower case, Numbers) . In either case the right-to-left input mode is terminated. The cursor 15 is then switched by the MCU 12 to indicate a left-to- right writing language selection (note that the indicating portion 15A is now pointing to the right.)
It should be noted that in other embodiments of this invention it is may not be necessary for the user to explicitly select or specify that the writing context is to be changed. Instead, it is within the scope of this teaching that the MCU 12 is enabled to implicitly detect a writing context switch from a next selected input symbol. For example, if the user is entering Arabic symbols, and then enters a number or a Latin symbol, the MCU 12 can be informed of the context switch from the right-to-left writing language to the left-to-right writing language, and thus automatically change the writing direction indicated by the cursor 15 accordingly.
Continuing now with Fig. 3D, it is assumed for this example that the user has entered three numbers or Latin symbols in the order SYMBOL 4, SYMBOL 5 and SYMBOL 6. Note that these symbols are entered to the left of the cursor 15.
In Fig. 3E it is assumed that the user entered a fourth number or Latin symbol (SYMBOL 7), and then performed another writing context switch (either explicitly or implicitly) . The cursor 15 is then repositioned by the MCU 12 so as to be located after the string of numbers or Latin symbols (i.e., after SYMBOL 4 in this case), with the portion 15A pointing to the left for indicating that right- to-left input is again in effect. In this case it could be that the context switch was signalled by the user entering one or more keystrokes for indicating a context switch from Latin characters or Numbers to Arabic. The next entered symbol (SYMBOL 8) is then positioned after SYMBOL 4, and the cursor 15 is now located at the next symbol insertion position, and pointing in the current writing (i.e., symbol insertion) direction (in this case, right-to-left.)
In the preferred embodiment of this invention the user is enabled to change the input mode in the same order as choices appear on a list or menu of choices displayed on the display 14. For example, the list may contain "Latin Upper Case", "Latin Lower Case", "Arabic", "Arabic Number Entry", "Latin Number Entry", and short depressions of the mobile station "#" keypad key are used to select a desired mode. Alternatively, a longer depression of the "#" keypad key may be used to select a Number mode of operation. The shift key or some other key could be used as well.
The alignment of the text and the directionality of the cursor 15 is determined by a 'global direction'. In the right-to-left case the text is right aligned, while in the left-to-right case the text is left aligned.
It is within the scope of this invention to provide a list of Arabic or Hebrew characters in a Character Selection Bar that is displayed on the display 14. The Selection list in this case is preferably a dynamic queue, where the characters appear in key-mapped order. For an implicit change of the direction/mode, it may be desirable to place all available characters in the selection list, for example, all Hebrew and English characters.
Those skilled in the art will recognize that for the Arabic and Hebrew languages there exists the concept of neutral characters, strong directionality, and weak directionality. A neutral character is one lacking an intrinsic directionality. An exclamation mark is an example of a neutral character. Strong directionality is a property of a character that affects not only the character itself, but also surrounding weak and neutral characters, whereas weak directionality is a property of a character that affects only the character itself.
In one aspect the invention handles the entry of a neutral character by inserting the neutral character on the left side of a previously entered right-to-left character. If the user continues adding characters, they are then displayed on the left side of the neutral character.
Alternatively, the invention handles the entry of a neutral character by inserting the neutral character as a left-to- right character. If the next character entered is a left- to-right character, the neutral character remains in the same place. If the user instead continues to add neutral characters, the cursor 15 and the previously added neutral character jump from the right of the left-to-right block of characters to far left side of the block of characters, and the last selected neutral character is inserted on the left side of the first added neutral character. The cursor 15 is then positioned on the far left side of the last added
neutral character and indicates symbol insertion directionality.
In a further embodiment, if the user enters a number separator after entering numbers, the cursor 15 jumps to the left side of the entered number block, and the number separator is inserted there. The cursor 15 blinks on the far left side, and indicates the directionality of the input. If the user enters another number after entering the number separator, the cursor 15 and the number separator warps (jumps) to the right side of the number block, and the newly entered number is inserted there. The cursor indicates the right-to-left directionality. Reference can be had to the following example, where "<" or ">" indicates the cursor 15 and its pointing direction. 12> (two characters at upper right of display 14) 123> (third character inserted) <.123 (number separator "." entered) 123.4> (a fourth number is entered)
If the user instead enters a neutral or a right-to-left character after a number separator, the number separator "." remains in the same position on the left side of the number block.
When the user scrolls the cursor 15 in the entered text in logical order, the cursor moves in the text in the same order as the characters are rendered for display. When the user scrolls the cursor 15 from a right-to-left block of characters to a left-to-right block of characters, at the block boundary the cursor warps from the left side of the last inputted right-to-left directional character to the to the left side of the first inputted left-to-right inputted character in the current line. Alternatively, when the user scrolls the cursor 15 from a left-to-right block of characters to a right-to-left block of characters, at the block boundary the cursor warps from the right side of the last inputted left-to-right directional character to the right side of the next inputted right-to-left inputted
character .
It is also preferred to provide the user with an ability to enter various specific editing commands and overrides. For example, the user is enabled to select a command from a list of commands that can include Mark Left-to-Right , Mark Right-to-Left, Force Left-to-Right , Force Right-to-Left , Make Left-to-Right Quotation, Make Right-to-Left Quotation, and End Forcing, thereby providing even greater control and flexibility in symbol and character inputting.
It can be appreciated that this improved user interface made possible by the teachings of this invention makes the user continuously aware of the current direction of writing, and increases the speed of text entering and editing. This overcomes the problem encountered when using the conventional vertical bar type of cursor symbol, wherein an indication of the current directional of symbol input is lacking.
Furthermore, and in accordance with the further embodiment discussed above, the user may not need to make a separate selection of the writing language, as the MCU 12 may be enabled to intelligently select the correct writing language direction for the next symbol based on each entered symbol. This can be accomplished by enabling the user to select the next symbol from one keypad or selection list.
Further in this regard, and in view of the description made above, Fig. 4 is a logic flow diagram in accordance with a method of this invention. The method is for operating a mobile station user interface for providing bi-directional symbol entry in a right-to-left direction or a left-to- right direction. The method includes steps of (A) providing a symbol entry device and a display for displaying entered symbols; (B) displaying a cursor on the display, the cursor
indicating a next symbol insertion location and a current symbol insertion direction; and (C) automatically changing the current symbol insertion direction of the cursor in response to a writing direction context switch that is signalled by an entered symbol received from the symbol entry device.
Although described in the context of a user interface that intelligently switches between left-to-right and right-to- left writing directions, it can be appreciated that the same technique can be applied when operating with writing languages that go from top-to-bottom or from bottom-to-top. Furthermore, while the teaching of this invention finds significant utility when using area-constrained display screens, such as those found in wireless communicators, the teachings of this invention can be applied as well to devices having larger display screens, such as PCs.
As such, while the invention has been particularly shown and described with respect to preferred embodiments thereof, it will be understood by those skilled in the art that changes in form and details may be made therein without departing from the scope and spirit of the invention .