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.