Elysia Tools

Browse tools, examples, visual explainers, and topic guides from one clear workspace.

Top Categories

Hubs

Language
ZHESPTRUFRDEEN

Elysia Tools

Navigation

Text Processing

Unicode Bidi Paired Bracket Isolate Embedding CF Rule Explainer

· Last updated:2026-09-01

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.

Details

What this tool helps you do

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.

Execution

Run this tool

Fill in the form, run the tool, and review the result in one place.

Samples

Examples that match this tool

Related

Continue with connected tools and hubs

Written by the Elysia Tools team

Tool usage guide

Learn when to use this tool, what it supports, and how real users apply it.

Key facts

Category
Text Processing
Input types
textarea, select
Output type
html
Sample coverage
4
API ready
Yes

Overview

The Unicode Bidi Paired Bracket Isolate Embedding CF Rule Explainer lets you trace the complete UAX #9 Bidirectional Algorithm rule by rule. Enter logical text with explicit bidi controls, isolates, or character escapes to inspect paragraph level detection, isolating run sequences, BD16 paired bracket resolution, and final visual reordering passes.

When to use

  • Debugging unexpected layout flips or misplaced punctuation in mixed LTR and RTL text.
  • Testing how directional isolates like <RLI>, <LRI>, and <PDI> 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

  1. 1Enter text in logical order using raw characters, bidi control tags (<LRI>, <RLI>, <PDI>, <LRE>, <RLE>, <PDF>), or \uXXXX escapes.
  2. 2Set the base paragraph direction to Auto (P2/P3 first strong character), LTR (level 0), or RTL (level 1).
  3. 3Inspect 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.

Examples

1. Isolating Latin text inside an RTL sequence

Localization Engineer

Background

A localized web application displays dynamic English strings inside Hebrew sentences, causing trailing punctuation to snap to the wrong side.

Problem

Verify that wrapping mixed content in an RLI isolate correctly confines embedding level increases without corrupting outer paragraph flow.

How to use

Enter `<RLI>abc אבג def.<PDI>` into the text input and set Paragraph direction to 'auto'.

text: "<RLI>abc אבג def.<PDI>", direction: "auto"

Outcome

The rule walkthrough shows base level 0, Latin tokens raised to level 2 inside the isolate, and L2 reversal passes generating the visual sequence `.def [reversed Hebrew] abc`.

2. Resolving paired brackets in Hebrew context

Text Engine Developer

Background

Building a custom text rendering pipeline that must correctly implement Unicode BD16 paired bracket algorithms.

Problem

Check whether parentheses enclosing Latin characters within RTL text resolve to type R under rule N0c2 and undergo L4 mirroring.

How to use

FAQ

How do I insert directional isolate and embedding controls?

You can write literal bidi tags in your text such as <RLI>, <LRI>, <PDI>, <LRE>, <RLE>, and <PDF>, 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 (<LRE>/<RLE>) merge into surrounding isolating sequences, whereas isolates (<LRI>/<RLI>/<FSI>) create separate isolating run sequences that shield adjacent text from directional bleed.

Home
Tools3201
Samples593
Visualizations465
Viewers103
Hubs233
Tags333
Images, Audio & Video657

Image, audio, and video processing, conversion, and optimization tools

Math, Date & Finance644

Calculators, numerics, date logic, statistics, and finance tools

Design & Color297

Color, layout, graphics, visual styling, and design helper tools

Text & Writing209

Writing, cleanup, formatting, extraction, and text analysis tools

Developer & Web193

Developer utilities, networking, web debugging, and automation helpers

Conversion & Encoding175

Format, file, archive, unit, and encoding conversion tools

FLAC/WAV Source Screening and Evidence Handoff
Self-Hosted Giveaway Widget Review and Embed Handoff
Stripe Promo Code Batch Review and Import Preflight
Batch Photo Culling Review and Editing Shortlist Handoff
UI Screenshot Structure Review and Development Handoff

© 2026 Elysia Tools. All rights reserved.

DocsPricingAboutTerms of ServicePrivacy PolicyCookiesContact
text-processing

Hex/Unicode Encoding Format Samples

Examples of hex (\xXX) and unicode (\uXXXX) escape sequence encoding formats

Media

Copyright-Free MP3 Audio Samples

Collection of royalty-free audio samples for testing and development purposes including nature sounds, meditation music, and ambient audio

Text Processing

Special Characters Samples

Sample text files with various special characters, punctuation, and symbols for testing non-alphanumeric character removal

Java

Android Image Processing Java Samples

Android Java image processing examples including reading/saving images, scaling, and format conversion

Text Processing

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.

Text Processing

Strikethrough Text

Add a strikethrough line through every character via the Unicode combining mark U+0336. Plain text — no markdown needed.

Text Processing

Text NLP Annotation Workbench

Run explainable local tokenization, sentence splitting, stopword, lemma, stem, entity and n-gram annotation with JSONL or CoNLL export.

Text Processing

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.

Enter `אב (cd) אב` into the text input and keep Paragraph direction set to 'auto'.

text: "אב (cd) אב", direction: "auto"

Outcome

The trace confirms base level 1, bracket resolution via N0c2 setting both parentheses to type R, and L4 mirroring producing the visual order `בא (cd) בא`.