Defined in Unicode
Standard Annex #9: The Bidirectional Algorithm
Concepts from an user point of view
- Implicit part:
- Try to do things 'right' automatically based on sequence of
characters
- Some characters know their direction (e.g. Arabic, Hebrew: RTL)
- Direction of other characters can be derived from surroundings
(numerals, ...)
- Explicit part: Special 'formatting characters' to change rendering when
implicit behavior is not enough
- Marks: conceptually explicit, algorithmically implicit
- Embeddings: nested structures
- Overrides: forcing a particular directionality (e.g. part
numbers)