BidiMirrored property and ancient scripts

Richard Wordingham richard.wordingham at
Mon Jul 27 13:16:40 CDT 2015

On Mon, 27 Jul 2015 18:18:09 +0300
Eli Zaretskii <eliz at> wrote:

> I no longer see where this is going.  If there's still some goal,
> something you think we should agree or discuss, perhaps you could
> spell that out.  Otherwise, I think it' time to quit.

It's basically to establish that for UBA-compliant bidirectional support
of some characters, a font must have both a left-to-right and a
right-to-left glyph for the character.

> Some random comments:
> > Date: Mon, 27 Jul 2015 15:32:01 +0100
> > From: Richard Wordingham <richard.wordingham at>
> > Cc: unicode at
> > > > 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?
> > > 
> > > I'm saying that "providing a mirrored glyph" entails coming up
> > > with a character whose glyph can play that role, AFAIU.
> > 
> > I'll take that as 'No' - the left-to-right and right-to-left forms
> > are the same character.  (Unicode has no consistency in this
> > matter.)
> I don't know what is meant by "left-to-right and right-to-left forms"
> here.  To me, a character has only one form.

I trust you've just forgotten that that's not true.  Soft-dotted
characters like 'i' and 'j' lose their dot when a mark above (ccc=230)
is attached, e.g. <U+0069 LATIN SMALL LETTER I, U+1DC4 COMBINING
MACRON-ACUTE>. Indic scripts have some more spectacular variations.

In a font that supports both left-to-right and Arabic right-to-left
maths, U+222B INTEGRAL will have at least two forms, one for
left-to-right and one for right-to-left.

> > > If you are saying that the "rendering system" here is the shaping
> > > engine using the rtlm OTF feature, then you are in fact saying
> > > that the mirroring of these characters cannot be implemented with
> > > most fonts in wide use today, and with most shaping engines.
> > > That would be a very strange claim, IMO, tantamount to saying
> > > that those characters cannot, or don't need to, be mirrored at
> > > all in most use cases.

Is this an expression of disbelief, or a lament that the UBA demands
too much?  If it's a lament, I believe I've made my point.

> > OpenType can handle it - feature rtlm effectively provides a
> > supplementary an RTL cmap, and ltrm an LTR cmap.  It's conceivable
> > that DirectWrite and Uniscribe don't support it, but that's
> > unlikely.
> Most popular fonts don't, so this support is basically useless, if it
> turns out to be a must.

No, it's a 'shall'.  One won't be arrested for not doing it.

> > The decision to mirror is entirely up to the font.
> Not at all.  A display engine can make those decisions on its own,
> even if it consults the fonts while making those decisions.

If application of the rtlm and rtla features do not change the glyph
used for U+222B INTEGRAL, then the font has refused to mirror the

Now it is possible, in this circumstance, that the rendering enging
might synthesise a reflected glyph.  The font could then deceive the
rendering engine by substituting an identical glyph.

> > If you still don't believe me, please explain why U+222B INTEGRAL
> > has Bidi_Mirrored=Yes but Bidi_Mirroring_Glyph=<none>.
> The explanation is in the file: there's no glyph for that.

You mean, I hope, that there's no other character with the glyph for
that rôle.

> > I didn't say boustrophedon text was subject to the UBA.  I said a
> > boustrophedon renderer may modify the text to be rendered so that
> > the UBA will layout the text properly.
> Given the directional overrides, this is a trivium, I think.

Yes.  I couldn't see why you were making such a fuss about it.

> > The UBA specifies the appearance of an opening parenthesis.
> That's bidirectional, not unidirectional

There may not be any more point in arguing about what is unidirectional
and what is bidirectional.


More information about the Unicode mailing list