# Unicode Bidi Paired Bracket Isolate Embedding CF Rule Explainer

Run the UAX #9 Unicode bidirectional algorithm rule by rule — X1–X8 embedding levels, isolating run sequences, BD16 paired brackets with N0, W/N/I resolution and L1/L2/L4 reordering — and inspect every intermediate state.

> Canonical page: https://elysiatools.com/en/tools/unicode-bidi-paired-bracket-isolate-embedding-cf-rule-explainer

- **Category:** Text Processing

- **Keywords:** unicode bidi, uax 9, bidi algorithm, rtl, ltr, embedding level, isolate, paired bracket, bidi control characters, lri rli fsi pdi

## Overview

Enter text in logical order; insert bidi controls as tokens or \\uXXXX escapes. The output shows the P2/P3 paragraph decision, the X-pass stack trace with overflow counters, each isolating run sequence with sos/eos, per-character type changes through W1–W7 and N0–N2 (bracket clauses N0b/N0c1/N0c2/N0d), final levels from I1–I2, every L2 reversal pass, and the final visual order with L4 mirroring.

## Inputs

- **Text (logical order, supports tokens and \\uXXXX escapes)** (textarea): he said “abc אבג def.” אב (cd) אב חשבון: 12 + 34
- **Paragraph direction** (select)

## When to use

- Debugging unexpected layout flips or misplaced punctuation in mixed LTR and RTL text.
- Testing how directional isolates like , , and affect run boundaries and embedding levels.
- Verifying paired bracket resolution under rule N0 and glyph mirroring under rule L4 for rendering engines.

## How it works

- Enter text in logical order using raw characters, bidi control tags (, , , , , ), or \\uXXXX escapes.
- Set the base paragraph direction to Auto (P2/P3 first strong character), LTR (level 0), or RTL (level 1).
- Inspect the step-by-step execution trace covering X-pass embedding stacks, isolating run sequences, weak/neutral resolution (W1–W7, N0–N2), level assignments (I1–I2), and L2 line reversal passes.

## Use cases

- Internationalization engineers auditing text-shaping libraries and layout engines for UAX #9 compliance.
- Localization specialists diagnosing punctuation and number ordering errors in mixed-direction UI strings.
- Font and layout developers validating BD16 paired bracket classification and L4 glyph mirroring behavior.

## Frequently asked questions

### How do I insert directional isolate and embedding controls?

You can write literal bidi tags in your text such as , , , , , and , or supply Unicode escape sequences like \\u2067.

### What does the Auto paragraph direction option do?

Auto applies rules P2 and P3 of UAX #9 to detect the base paragraph embedding level from the first strong directional character in the text.

### How does the explainer evaluate paired brackets under rule N0?

It identifies paired brackets using BD16 and resolves them against clauses N0b, N0c1, N0c2, or N0d based on enclosed strong types and surrounding directional context.

### Does the tool show intermediate character type changes?

Yes, it reports every intermediate type change across weak rules (W1–W7), neutral rules (N0–N2), and final numeric levels (I1–I2).

### What is the difference between explicit embeddings and isolates?

Embeddings (/) merge into surrounding isolating sequences, whereas isolates (//) create separate isolating run sequences that shield adjacent text from directional bleed.

## Related tools

- [Remove Duplicate Lines](https://elysiatools.com/en/tools/remove-duplicate-lines): Deduplicate lines in a list or text block. Keep the first or last occurrence, with options for case sensitivity, whitespace trimming, and dropping empty lines.
- [Strikethrough Text](https://elysiatools.com/en/tools/strikethrough-text): Add a strikethrough line through every character via the Unicode combining mark U+0336. Plain text — no markdown needed.
- [Text NLP Annotation Workbench](https://elysiatools.com/en/tools/text-nlp-annotation-workbench): Run explainable local tokenization, sentence splitting, stopword, lemma, stem, entity and n-gram annotation with JSONL or CoNLL export.
- [Text Repeater](https://elysiatools.com/en/tools/text-repeater): Repeat text N times with a chosen separator — inline, new line, or a numbered countdown. The quick tool for chat spam, dramatic build-ups, and social-media effect.
- [Underline Text](https://elysiatools.com/en/tools/underline-text): Add an underline beneath every character via the Unicode combining mark U+0332. Plain text — no HTML needed.
- [Three-Way Text Comparison & Merge Suite](https://elysiatools.com/en/tools/three-way-text-comparison-merge-suite): Line/word/char diff with ignore rules, three-way merge with conflict markers, and unified patch
- [BFV, CKKS, LWE FHE Ciphertext Noise Budget, Relin and Bootstrapping Explainer](https://elysiatools.com/en/tools/bfv-ckks-lwe-fhe-ciphertext-noise-budget-relin-and-bootstrapping-explainer): Run a real miniature BFV/CKKS pipeline over Z_q\[x\]/(xⁿ+1): exact invariant-noise budgets in bits, ciphertext multiplication with relinearization, modulus switching, SIMD slot packing and a bootstrapping refresh.
- [Advanced Duplicate Line Remover](https://elysiatools.com/en/tools/advanced-duplicate-line-remover): Detect and remove duplicate lines with advanced options for mode, case sensitivity, and trimming

## Samples

- [Hex/Unicode Encoding Format Samples](https://elysiatools.com/en/samples/text-hex-unicode-formats): Examples of hex (\xXX) and unicode (\uXXXX) escape sequence encoding formats
- [Copyright-Free MP3 Audio Samples](https://elysiatools.com/en/samples/mp3-samples): Collection of royalty-free audio samples for testing and development purposes including nature sounds, meditation music, and ambient audio
- [Special Characters Samples](https://elysiatools.com/en/samples/text-special-characters-samples): Sample text files with various special characters, punctuation, and symbols for testing non-alphanumeric character removal
- [Android Image Processing Java Samples](https://elysiatools.com/en/samples/android-image-processing-java): Android Java image processing examples including reading/saving images, scaling, and format conversion
