BidiMirrored property and ancient scripts (Was Re: Plain text custom fraction input)
richard.wordingham at ntlworld.com
Sat Jul 25 04:11:02 CDT 2015
On Sat, 25 Jul 2015 10:51:19 +0300
Eli Zaretskii <eliz at gnu.org> wrote:
> > Reread the Bidi algorithm, especially
> > http://www.unicode.org/reports/tr9/#L4 and
> > http://www.unicode.org/reports/tr9/#HL6.
> > In principle, I could have a higher-level protocol that mirrors
> > lamedh on Wednesdays, but I must follow the rules for parentheses.
> I don't see how this is related. What HL6 describes is something that
> should make sense. For example, Emacs uses '/' as a kind of
> "mirrored" '\', when it needs to indicate that a line in an R2L
> paragraph is continued on the next screen line.
"Certain characters that do not have the Bidi_Mirrored property can also
be depicted by a mirrored glyph in specialized contexts. Such contexts
include, but are not limited to, historic scripts and associated
punctuation, private-use characters, and characters in mathematical
expressions. (See Section 7, Mirroring.) These characters are those
that fit at least one of the following conditions:
1) Characters with a resolved directionality of R
2) Characters with a resolved directionality of L and whose
bidirectional type is R or AL"
The logic of my statement is as follows:
a) 'Specialised contexts' is undefined; 'specialised context' may
therefore include 'whenever I see fit'.
b) The bidirectional type of lamedh is 'R', and it will always have
a resolved directionality. The resolved directionalities are 'L' and
c) Therefore I may choose to mirror all lamedhs on Wednesdays.
Similarly, an arrow with a resolved directionality of R may be mirrored
if a higher level protocol so dictates.
The issue lies with the wording of condition (1). One might expect it
to apply only to characters with a bidirectional type of L. That should
work for text whose directionality is known when written.
It would be interesting to hear the rationale for the wording. My
surmise is that it attempts to address text whose directionality is not
known before rendering. The most obvious example would be where an
application is laying out boustrophedon text in. The author would not
be able to correctly choose between COMMA and REVERSED COMMA (an
anachronistic example) depending on text direction if line-breaks were
More information about the Unicode