Bidirectional Class

Unicode Version 18.0

Bidirectional Class is a value assigned to each character that defines its default directionality in text, such as left-to-right, right-to-left, or neutral. This classification determines how characters behave during the Unicode Bidirectional Algorithm, which handles text mixing scripts like Arabic and Hebrew with Latin. Classes include strong types (L, R, AL), weak types (EN, ES, ET, AN, CS, NSM, BN), neutral types (B, S, WS, ON), and explicit formatting types (LRE, RLE, LRO, RLO, PDF, LRI, RLI, FSI, PDI). The property helps correctly order neighboring characters when direction changes, ensuring proper display of punctuation and numbers in mixed-direction contexts, but it does not force any visual order on its own; it only provides the inherent directionality needed for the algorithm to compute final display order.

Left To Right
Abbr
L
Count
297666

Left To Right is a bidirectional class indicating text flows left to right, used for Latin, Greek, and most scripts.

Right To Left
Abbr
R
Count
1570

Right To Left is a Bidirectional Class value indicating text flows from right to left, used for scripts like Arabic and Hebrew.

Arabic Letter
Abbr
AL
Count
1502

Arabic Letter is a bidirectional class for characters that display right-to-left and join with adjacent Arabic script letters.

European Number
Abbr
EN
Count
178

European Number is a bidirectional category for digits and related numeric symbols that are typically displayed left to right within right to left text.

European Separator
Abbr
ES
Count
12

European Separator is a Bidirectional Class value marking characters like commas and slashes that separate European numbers in text directionality.

European Terminator
Abbr
ET
Count
81

European Terminator is a bidirectional class marking digits and currency symbols that act as numeric separators in mixed-direction text.

Arabic Number
Abbr
AN
Count
73

Arabic Number is a bidirectional class that renders characters as European digits in right-to-left contexts, like Arabic-Indic numerals.

Common Separator
Abbr
CS
Count
15

Common Separator is a bidirectional class for characters like commas and slashes that act as weak separators between text with differing directionality.

Nonspacing Mark
Abbr
NSM
Count
2095

Nonspacing Mark is a bidirectional class indicating characters that take no layout space and inherit direction from their base character.

Boundary Neutral
Abbr
BN
Count
181

Boundary Neutral is a bidirectional class value for characters that are ignored when determining text direction, though they still affect line breaking.

Paragraph Separator
Abbr
B
Count
7

Paragraph Separator is used for explicit paragraph breaks, like in HTML's `

` or plain text newlines, affecting bidirectional text reordering.

Segment Separator
Abbr
S
Count
3

Segment Separator is a bidirectional class that forces a break between segments, treated like a block separator in text directionality.

White Space
Abbr
WS
Count
17

White Space is a bidirectional class value for characters like spaces and tabs, treated as neutral separators that take the paragraph’s direction.

Other Neutral
Abbr
ON
Count
6932

Other Neutral is a classification for characters that act as neither left-to-right nor right-to-left in bidirectional text, leaving direction to context.

Left To Right Embedding
Abbr
LRE
Count
1

Left To Right Embedding is a directional formatting code that sets the text direction to left-to-right for the following content.

Left To Right Override
Abbr
LRO
Count
1

Left To Right Override is a formatting character that forces all following text to display left to right, ignoring the surrounding bidirectional algorithm.

Right To Left Embedding
Abbr
RLE
Count
1

Right To Left Embedding is a bidirectional category that treats its content as an embedded right to left paragraph, overriding surrounding text direction.

Right To Left Override
Abbr
RLO
Count
1

Right To Left Override is a bidirectional class that forces all following text to display right-to-left, overriding other directionality cues.

Pop Directional Format
Abbr
PDF
Count
1

Pop Directional Format is a code that ends a bidirectional isolation or override, restoring the previous directional state.

Left To Right Isolate
Abbr
LRI
Count
1

Left To Right Isolate is a bidirectional class that treats its content as left to right, isolating it from surrounding text direction.

Right To Left Isolate
Abbr
RLI
Count
1

Right To Left Isolate is a bidirectional character type that treats its enclosed content as an isolated right-to-left run, preventing adjacent text from mixing.

First Strong Isolate
Abbr
FSI
Count
1

First Strong Isolate is a bidirectional class value that makes the first strong directional character determine the embedding direction for the entire isolate.

Pop Directional Isolate
Abbr
PDI
Count
1

Pop Directional Isolate is used to end a bidirectional isolate, restoring the previous directional state for text embedding.