Skip to content
Novus Examples
txt1.4 KB

Bidi — bracket mirroring in RTL paragraphs (Hebrew and Arabic)

Mirroring is a rendering property of the bidi algorithm, not a transformation of the text: a U+0028 LEFT PARENTHESIS inside an RTL run is DRAWN as ')' while the stored byte never changes. These Hebrew and Arabic lines make that testable, and list the neutral characters that look like they should mirror but do not.

Preview — first 29 linestxt
Bracket and punctuation mirroring in RTL paragraphs
===================================================
The Unicode Bidirectional Algorithm mirrors a fixed set of paired characters when they resolve to
an RTL run. The STORED code point never changes — only the glyph drawn does. Every line below is
stored exactly as written; only the rendering flips.

Paired characters that mirror:  ( )  [ ]  { }  < >  « »  ‹ ›

Hebrew paragraph with parentheses:
  ‏הקובץ (report-2026.pdf) נשמר בהצלחה.
  ‏הקובץ (⁨report-2026.pdf⁩) נשמר בהצלחה.

Hebrew paragraph with square brackets and an LTR range:
  ‏גרסאות [⁦2.4-3.1⁩] נתמכות.

Arabic paragraph with guillemets:
  ‏افتح «⁨Novus File Manager⁩» ثم اختر «الإعدادات».

Characters that DO NOT mirror, and are the usual source of a "backwards" bug report:
  the ASCII slash / , the backslash \ , the hyphen-minus - , the full stop . and the comma ,
  are neutral but NOT mirrored; they simply take the direction of their surroundings.

Assert on:
1. Every line here is byte-identical after a read/write round trip — no mirroring is applied to
   the stored text.
2. U+0028 and U+0029 appear the same number of times in the stored bytes as they do visually.
3. Rendering each line with paragraph direction RTL and then LTR produces different visual order
   for the unmarked lines and the SAME visual order for the isolate-wrapped ones.

Specifications

Scripts
Hebrew, Arabic
Dir
rtl
Mirrored Pairs
() [] {} <> guillemets
Non Mirrored
/ \ - . ,
Marks Used
RLM, FSI, PDI, LRI
Encoding
UTF-8
Seed
20260807
Wave
p7
Line Endings
LF

Testing contract

Reference control
Scenario
Round-trip the file through your storage layer, then render each line with paragraph direction RTL and again with LTR.
Expected result
The stored bytes are unchanged and U+0028/U+0029 occur exactly as often as written; the rendered order differs between the two directions for the unmarked lines and is identical for the isolate-wrapped ones.

What is a .txt file?

TXT is a plain-text file containing unformatted character data with no styling or structure beyond line breaks. Its interpretation depends on character encoding, most commonly UTF-8, and on line-ending convention. It is the most universal and portable text container.

How to use this file

Use an example TXT to test encoding detection, line-ending (LF versus CRLF) handling, and any tool that reads or streams raw text input.

How to use this file for testing

“Bidi — bracket mirroring in RTL paragraphs (Hebrew and Arabic)” is a deterministic Novus Examples fixture for Internationalization, Encoding detection, Localization catalogs. Parallel text and accented, multi-script content — for testing translation pipelines, Unicode handling, and localization tooling.

Documented properties for this file: seed 20260807 · UTF-8 · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Translation-catalog fixtures carry the same message set across formats, each with its native placeholder syntax. Test your i18n loader, catalog converter, or translation-memory tool, and use the RTL and CJK variants to check bidirectional text and Unicode handling.

Load the catalog with your i18n framework and verify placeholder interpolation and plural handling; the RTL and CJK variants exercise bidirectional text and font fallback.

Generated by generation/localization_p7.py. Free for any use, no attribution required — license.