Character Shape Determination

Arabic is a cursive script. This means that the presentation of each letter depends on its location in the word (initial, middle, final or isolated).

Data may be stored "shaped", i.e. each letter of the text is stored in the specific codepoint (out of the different possible codepoints for that letter) that suits its position in the word and the connecting capabilities of its adjacent letters. Such data can be displayed directly.

Data may also be stored in nominal or base shapes, i.e. one codepoint per letter, regardless of its position. Such data must be "shaped" before it is displayed.

The text shape attribute defines how the Arabic text is stored and also what type of conversion should be performed on it in order to display it correctly. It can take the following values: