Unicode Utilities: BIDI (UBA) C Reference (original) (raw)

help | character | properties | confusables | unicode-set | compare-sets | regex | bnf-regex | breaks | transform | bidi | bidi-c | idna | languageid

Shows processing of a single paragraph of text by the Unicode Bidirectional Algorithm (UBA), Versions6.2 through14.0, using the C Reference Implementation, Version14.0.

Source

Resolved Levels

<colgroup"> </colgroup">

Memory pos. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Level 1 1 1 1 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1

Reordered Display

Display pos. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Memory pos. 25 13 14 15 16 17 18 19 20 21 22 23 24 12 11 7 8 9 10 6 5 4 3 2 1 0
Character ! m a r k ( ͦ v . 2 ) ͨ 1 3 % ك ْ ر ا م
Code point 0021 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0020 2069 0031 2013 0033 0025 2066 0020 0643 0652 0631 0627 0645

Analysis

Note: Initialized bidiref 15.1.0 library for UBA version 14.0 Trace: Entering br_UBA_63 Trace: Entering br_UBA63_ParagraphEmbeddingLevel [P2, P3] Current State: 2 Paragraph Dir: 2 (Dir_Auto), Paragraph Embed Level: 1, TextLen: 26

Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: AL AL AL NSM AL WS LRI EN ON EN ET PDI WS L L L L WS ON NSM L CS EN ON NSM ON Levels: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Trace: Entering br_UBA63_ExplicitEmbeddingLevels [X1-X8] Current State: 3 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: AL AL AL NSM AL WS LRI EN ON EN ET PDI WS L L L L WS ON NSM L CS EN ON NSM ON Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Trace: Entering br_UBA_DeleteFormatCharacters [X9] Trace: Entering br_UBA_IdentifyRuns [X10] Current State: 5 Position: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: AL AL AL NSM AL WS LRI EN ON EN ET PDI WS L L L L WS ON NSM L CS EN ON NSM ON Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Runs:

Trace: Entering br_UBA_IdentifyIsolatingRunSequences [X10] Current State: 6 Position: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: AL AL AL NSM AL WS LRI EN ON EN ET PDI WS L L L L WS ON NSM L CS EN ON NSM ON Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Runs: Seqs (L= 1): <R-------------------------------[.....................]-----------------------------------------------------------------------R> Seqs (L= 2):

Trace: Entering br_UBA_ResolveCombiningMarks [W1] Current State: 7 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: AL AL AL AL AL WS LRI EN ON EN ET PDI WS L L L L WS ON ON L CS EN ON ON ON Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Runs:

Trace: Entering br_UBA_ResolveEuropeanNumbers [W2] Trace: Entering br_UBA_ResolveAL [W3] Current State: 9 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: R R R R R WS LRI EN ON EN ET PDI WS L L L L WS ON ON L CS EN ON ON ON Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Runs:

Trace: Entering br_UBA_ResolveSeparators [W4] Trace: Entering br_UBA_ResolveTerminators [W5] Current State: 11 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: R R R R R WS LRI EN ON EN EN PDI WS L L L L WS ON ON L CS EN ON ON ON Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Runs:

Trace: Entering br_UBA_ResolveESCSET [W6] Current State: 12 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: R R R R R WS LRI EN ON EN EN PDI WS L L L L WS ON ON L ON EN ON ON ON Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Runs:

Trace: Entering br_UBA_ResolveEN [W7] Current State: 13 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: R R R R R WS LRI L ON L L PDI WS L L L L WS ON ON L ON L ON ON ON Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Runs:

Trace: Entering br_UBA_ResolvePairedBrackets [N0] Current State: 14 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: R R R R R WS LRI L ON L L PDI WS L L L L WS L L L ON L L L ON Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Runs:

Trace: Entering br_UBA_ResolveNeutralsByContext [N1] Current State: 15 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: R R R R R WS LRI L L L L PDI WS L L L L L L L L L L L L ON Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Runs:

Trace: Entering br_UBA_ResolveNeutralsByLevel [N2] Current State: 16 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: R R R R R R R L L L L R R L L L L L L L L L L L L R Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Runs:

Trace: Entering br_UBA_ResolveImplicitLevels [I1, I2] Current State: 17 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: R R R R R R R L L L L R R L L L L L L L L L L L L R Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 Runs:

Trace: Entering br_UBA63_ResetWhitespaceLevels [L1] Trace: Entering br_UBA_ReverseLevels [L2] Current State: 19 Text: 0645 0627 0631 0652 0643 0020 2066 0031 2013 0033 0025 2069 0020 006D 0061 0072 006B 0020 0028 0366 0076 002E 0032 0029 0368 0021 Bidi_Class: R R R R R R R L L L L R R L L L L L L L L L L L L R Levels: 1 1 1 1 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 Runs:

Order: [25 13 14 15 16 17 18 19 20 21 22 23 24 12 11 7 8 9 10 6 5 4 3 2 1 0]


Paragraph Embedding Level: 1 Resolved Levels: [1 1 1 1 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1] Resolved Order: [25 13 14 15 16 17 18 19 20 21 22 23 24 12 11 7 8 9 10 6 5 4 3 2 1 0]


Fonts and Display. If you don't have a good set of Unicode fonts (and modern browser), you may not be able to read some of the characters. Some suggested fonts that you can add for coverage are:Noto Fonts site,Unicode Fonts for Ancient Scripts,Large, multi-script Unicode fonts. See also: Unicode Display Problems.

Version 3.9; ICU version: 74.1; Unicode/Emoji version: 15.1.0;