BidiMirrored property and ancient scripts

Richard Wordingham richard.wordingham at ntlworld.com
Sat Jul 25 16:15:40 CDT 2015


On Sat, 25 Jul 2015 21:05:41 +0300
Eli Zaretskii <eliz at gnu.org> wrote:

> > Date: Sat, 25 Jul 2015 18:27:26 +0100
> > From: Richard Wordingham <richard.wordingham at ntlworld.com>
> > 
> > > 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?

U+2140 DOUBLE-STRUCK N-ARY SUMMATION gets mirrored, but its glyph is
not replaced by any other character's glyph.  Or are you claiming that
left-to-right U+2140 and right-to-left U+2140 are two different
characters?

> > > 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.

Because you still seem not to understand the concept of mirroring.  It
isn't just for characters that have a Bidi_Mirroring_Glyph property
value other than <none>.

> > > > 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.

> > My example <snip> is:
>  
> > כרטיס אשראי / דביט (לא אמריקן אקספרס ולא דיינרס)
> 
> > > > 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.

So irrelevant.

I take it we now agree that the right shape for the parentheses for the
unidirectional right-to-left example is derived by the UBA.

> > > > 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.

If there is no higher-level protocol in effect, the 'first strong
character' rule (Rules P2 and P3 of the UBA) declares that the
paragraph will be a left-to-right paragraph and will look
like "(a".  Had it been declared a right-to-left paragraph by a
higher-level protocol, it would look like "a)".  Thus the UBA has a
rôle even for unidirectional left-to-right text.

Richard.



More information about the Unicode mailing list