Browse Prior Art Database

Bidirectional Language Cursor Formatting and Positioning

IP.com Disclosure Number: IPCOM000107617D
Original Publication Date: 1992-Mar-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 4 page(s) / 170K

Publishing Venue

IBM

Related People

Gabbay, Y: AUTHOR [+5]

Abstract

Arabic and Hebrew are the primary languages of the Middle East. In both Arabic and Hebrew, words are written from right-to-left, but numbers and foreign languages, such as English, are written from left-to-right. This requires the ability to recognize and control changes in the direction in the flow of presentation.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 35% of the total text.

Bidirectional Language Cursor Formatting and Positioning

       Arabic and Hebrew are the primary languages of the Middle
East. In both Arabic and Hebrew, words are written from
right-to-left, but numbers and foreign languages, such as English,
are written from left-to-right.  This requires the ability to
recognize and control changes in the direction in the flow of
presentation.

      The role of the cursor in display of information is to show
where on the screen the next typed character will be placed.
Operating in bidirectional language mode produces a different set of
cursor movement conditions than when operating in the Latin
unidirectional mode. The difference is that forward cursor movement
on the screen can be either left or right depending upon the
combination of partition orientation, current field orientation,
field reversal, cursor nesting level, and local screen reversal.

      The bidirectional language mode also can contain segments
within a field which can result in an orientation opposite to that of
the field.  These segments have boundaries which cause a
discontinuity in cursor movement and require special rules for
boundary crossing.

      To aid in describing this, the cursor will be defined to be in
one of two modes, normal cursor or boundary cursor. The boundary mode
should be made apparent to the user by displaying a special shape for
the cursor, called the "boundary cursor" whenever the cursor is in a
boundary condition.

      The Boundary Cursor Condition (with the boundary cursor shape)
usually occurs when the cursor is logically at the end of a segment,
following the last character of that segment, but still within the
segment.

      For terminals with a limited variety of cursor shapes, the
Boundary cursor shape can be selected as the opposite of the
Alternate Cursor user selection.  That is:
       .   If the user selected the Underline cursor as the Normal
cursor, then the Reversed-Video Cursor is selected for the Boundary
cursor.
       .   If the user selected the Reversed-Video cursor as the
Normal cursor, then the Underline cursor is selected for the Boundary
cursor.

      Where more variety in cursor shape is possible, it is
recommended that the cursor at the boundary be presented as a thick
underline cursor, or a double cursor (under and above the character
box).

      The following definitions are used when describing cursor
formatting.
Cursored Character:      A Cursored Character is that character or
character position whose address in the Source Buffer is the same as
the Current Cursor Position.
Next Visual Position:    The screen position that will be occupied by
a character entered into the Source Buffer at the Current Cursor
Position and having the cursor's nesting level.
Normal cursor:           A cursor is defined as Normal when its
Nesting level has the same value as that of a cursored character.  A
Normal cursor is for...