Re: Bidi issues

Roy Badami <[email protected]>
Newsgroups gmane.ietf.imaa
Message-ID <[email protected]>
 > > http://www.gnomon.org.uk/bidi-ambiguities.txt
 > > 
 > > Not sure how useful it is, and it's definitely unfinished
 > 
 > I have now read it, and found it very helpful in building some intuition
 > about bidi issues.  Thanks!

I'm glad you found it useful.  I was in two minds whether to post it
in its current form, but since I'm unlikely to have time to do any
more work on it this week, I figured I might as well...

 >  4) If a number can see class R before itself, and if its field of view
 >     also contains number separators, that is asking for trouble.  In
 >     Unicode 3.2 class R is just the Hebrew letters/ligatures/punctuation
 >     and the right-to-left mark.  The six number separators are / , . :
 >     no_break_space arabic_comma (and their compatibility equivalents,
 >     which are removed by NFKC).

You can be slightly more specific than this.  Consider a potential
number as as string of consecutive number characters, terminators and
separtors.  To create an ambiguity the potential number has to contain
european numbers (since there are no arabic terminators).  Also, it
needs to contain either number terminators or a mixture of european
and arabic numbers.  Without this, you can't create the case where the
separator character does not parse as part of the number.  You can do
slightly better still by considering the separator type and what has
to be on either side of it.

 > Did I make any mistakes?  (It's quite likely.)

What you say tallies with my current understanding.  But it's quite
likely I've made mistakes, too :)

 > This is not completely effective at avoiding ambiguity because there
 > were other constraints (simplicity and backward compatibility).  But if
 > avoiding amiguity had been the only goal, then I think the following
 > much less restrictive (and simpler) check would have been as effective:
 > 
 >   * The string must not contain strong LTR and strong RTL and number
 >     characters.

But note that the stringprep rules resolve the following case by
disallowing the second possibility.  AIUI, what you propose wouldn't.
So (whether by accident or by design) the stringprep rules do go some
way to towards avoiding inter-component ambiguity.  Whether that's by
accident or by design, I wouldn't like to say.

	abc123.ABC.com (logical order)
	abc123.CBA.com (display order)

*	abcABC.123.com (logical order)
	abc123.CBA.com (display order)

 > I'm still assuming that the direction of the context is known to the
 > person looking at the string.  If we drop that assumption, would that
 > motivate the more restrictive rules of the Stringprep bidi check?

Can we ask the designers of the stringprep bidi restrictions?  I guess
finding the relevent disussions in the IDN WG archives is going to be
a lot or work...

Maybe some rationale could be added to the stringprep document when it
is being revised as a draft standard?  This stuff isn't obvious, and
it would be very helpful to have it explained, rather than just
presented as a fait acompli.

	-roy
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.