The 'Text Type' bidi attribute defines the method by which text segments (that have a certain direction) are detected and processed. The text type attribute can have the following values:
The 'Visual' data type means, that for a certain piece of text there are no sub-segments. In other words, the whole text has the same direction (whether it is LtR or RtL is determined by the Text Orientation attribute, see below). Whether the text contains digits, English, or Arabic/Hebrew characters does not change the sequence of the characters within this given piece of text.
For example (LTR orientation; upper case letters represent English letters, while lowercase letters represent Arabic or Hebrew letters):
Index of character: 012345678901 Storage buffer : LATIN cibara Displayed String : LATIN cibara or, in the case of RtL orientation: Index of character: 012345 Storage buffer : arabic Displayed String : cibara
This value is sometimes called "implicit" (for short) or "typing order" as it usually represents the order of characters as they are typed on the keyboard.
Here, the determination of the sub-segments is largely based on the actual characters in the text. When there is a doubt (as in the case of characters which do not have a "strong" language meaning associated with them, such as SPACE, QUESTION MARK and digits), the determination of the sub-segments and the conversion required is done by a "smart" algorithm.
Example (LTR orientation; upper case letters represent Latin letters, while lowercase letters represents Arabic or Hebrew letters).
Index of character: 012345678901 Storage buffer : LATIN hebrew Displayed String : LATIN werbeh