BidiMirrored property and ancient scripts

Eli Zaretskii eliz at
Sat Jul 25 13:05:41 CDT 2015

> Date: Sat, 25 Jul 2015 18:27:26 +0100
> From: Richard Wordingham <richard.wordingham at>
> > Mirroring is not changing a character's shape.  It is a replacement of
> > a character's glyph with a glyph of a different character.
> Mirroring is changing a glyph to suitable for reading in the other
> direction.

Sorry, I disagree.

> Note the following extract from BidiMirroring.txt in the
> Unicode Character Database:
> <quote>
> # The following characters have no appropriate mirroring character.
> # For these characters it is up to the rendering system 
> #   to provide mirrored glyphs.

How's that a contradiction to what I said?

> > Thus, your reasons make no sense to me, because a character's shape,
> > any character's shape, be it L, R, AL, or anything else, is immutable.
> So go back and reread.

Did that; still no sense.

> > > Interpreting LRO and RLO is part of (1).  I'd like to know what the
> > > justification for have directionality overrides is.
> > 
> > One justification is when you want to present characters in some
> > particular order that overrides their innate bidirectional properties.
> > For example, imagine you want to tell your readers what will some
> > bidirectional text look like after reordering by the UBA, and you want
> > to do that without relying on the UBA implementation of whatever
> > software is used to view your presentation.
> Brute force layout!  That makes it seem that overriding strong types
> was an error that leaves people hoping for support for switching text
> direction.

No, not at all.  Think various needs of presenting error messages that
quote bidirectional text, etc.  I had plenty of those problems in

> > > Where we may part company is in our view of Hebrew text (no Arabic
> > > numbers) with parentheses in a right-to-left paragraph.  I think
> > > such text is really just as unidirectional as equivalent Latin text
> > > in a left-to-right paragraph.
> > 
> > No, not as soon as numbers or Latin characters are involved, IMO.
> My example, which your e-mail client may take as being in a
> left-to-right paragraph, is:
> כרטיס אשראי / דביט (לא אמריקן אקספרס ולא דיינרס)

I'm reading this in Emacs, so the layout is R2L, as it should be.

But there are no numbers or Latin characters in this example, so it's
not what I had in mind.

> > > However, one needs the UBA to sort out the rendering of the
> > > parentheses in the Hebrew text.
> > Not really, you can short-cut it, the same as in strictly
> > left-to-right text.
> It's the UBA that mandates that the opening and closing parentheses be
> rendered like right and left parentheses respectively rather than like
> left and right parentheses.

Mirroring comes after layout in the UBA, as you pointed out, and the
short-cuts I mentioned are about layout, not about mirroring.

> > > Indeed, one may rely on the bidi algorithm to declare the Latin
> > > example unidirectional.
> > 
> > One might, but to what purpose and goal?
> A right-to-left paragraph consisting of the two characters "(a" would
> be bidirectional and have a parenthesis on the right; a left-to-right
> paragraph with the same content would have a parenthesis on the left.

I don't see how this answers my question.

> The e-mail client I'm using has no higher-level protocol to determine
> whether a paragraph is left-to-right or right-to-left, but uses the
> first strong character.  Notepad (Windows 7, at least) seems to have two
> options - all paragraphs are left-to-right, or all paragraphs are
> right-to-left.  

Emacs has those 3 options, and it also has a higher-level protocol,
whereby the paragraph direction is only decided after an empty line.

But I still don't see how this is relevant.

More information about the Unicode mailing list