Cursor movement

This section discusses cursor movement on a screen when it contains bidirectional text.

Cursor movement on a screen containing bidirectional text is as follows:

Visual

The cursor moves from its current position left or right to the next character, or up or down to the next row. For example, if the cursor is located at the end of the first left-to-right part of a mixed sentence:

THERE IS_txet lanoitceridib IN THIS SENTENCE.

then, moving the cursor visually to the right causes it to move one character to the right, as follows:

THERE IS txet lanoitceridib IN THIS SENTENCE.

The cursor moves without regard to the contents of the text.

Logical

The cursor moves from its current position to the next or previous character in the data stream. The character may be adjacent to the cursor's position, elsewhere in the same line, or on another line on the screen. Logical cursor movement requires scanning the data stream to find the next logical character. For example, if the cursor is located at the end of the first left-to-right part of a mixed sentence:

THERE IS_txet lanoitceridib IN THIS SENTENCE.

then, moving the cursor logically to the next character causes the data stream to be scanned to find the next logical character. The cursor moves to the next logical part of the sentence, as follows:

THERE IS txet lanoitceridib_IN THIS SENTENCE.

The cursor moves according to content.

Cursor movement Description
  The cursor moves from its current position left or right to the next character, or up or down to the next row. For example, if the cursor is located at the end of the first left-to-right part of a mixed sentence:
THERE IS_txet lanoitceridib IN THIS SENTENCE.

then, moving the cursor visually to the right causes it to move one character to the right, as follows:

THERE IS txet lanoitceridib IN THIS SENTENCE.

The cursor moves without regard to the contents of the text.

Logical The cursor moves from its current position to the next or previous character in the data stream. The character may be adjacent to the cursor's position, elsewhere in the same line, or on another line on the screen. Logical cursor movement requires scanning the data stream to find the next logical character. For example, if the cursor is located at the end of the first left-to-right part of a mixed sentence:
THERE IS_txet lanoitceridib IN THIS SENTENCE.

then, moving the cursor logically to the next character causes the data stream to be scanned to find the next logical character. The cursor moves to the next logical part of the sentence, as follows:

THERE IS txet lanoitceridib_IN THIS SENTENCE.

The cursor moves according to content.