Comments on bidi-04

Mark Davis mark.davis at
Mon Mar 3 22:08:09 CET 2008

Erik and I discussed this (the advantage of sitting nearby). What we want is
that label characters "stick" together, but also be delimited.

Take the following sequence (where a-i are any characters of legal labels)


It would be ok to have arbitrary reordering of letters between delimiters,
and arbitrary ordering of whole labels and delimiters, eg:


but not

So how about the following language:

If the string formed by concatenating S1, D1, L, D2, S2 is subject to bidi
reordering, then in the reordered string:

   1. each character of L will not be adjacent to any character of S1 or
   2. D1 and D2 will not occur between any two characters of L.

(This is just on one of the issues -- will respond to Harald's other


On Mon, Mar 3, 2008 at 12:43 PM, Erik van der Poel <erikv at> wrote:
> >  >> o No two labels, when presented in display order, should have the
>  >  >> same sequence of characters without also having the same sequence
>  >  >> of characters in network order. (This is the criterion that is
>  >  >> explicit in RFC 3454).
>  >  >
>  >  > The above needs to be qualified, by adding something like "in the
>  >  > bidi context". That is, as pointed out below, if you change the
>  >  > context, 123-456 in one context may look like 456-123 in another;
>  >  > for abc.ABC and
>  >
>  >  Erik, did you verify this within one context, or between contexts?
>  I verified it for both contexts, each time within that one context.
>  I.e. two hash tables, one for each context. I checked whether each
>  bidi reordered string was already in the hash table. If so, it would
>  complain; if not, it would add that string to the table.
>  >  > A label L satisfies the Label Grouping Condition when for any
>  >  > Characters D1 and D2 and any other strings S1 and S2 (possibly of
>  >  > zero):
>  >  >
>  >  > If the string formed by concatenating S1, D1, L, D2, S2 is subject
>  >  > bidi reordering,
>  >  > then all of the characters of L2 in the reordered string are between
>  >  > and D2.
>  >  >
>  >  >   - The bidi reordering of L1, D1, L, D2, L2 may result in D2 coming
>  >  > before D1
>  >  >   - Because S1 is any string, the bidi algorithm may set the
>  >  > direction for the string to either Right-To-Left or Left-To-Right;
>  >  > the reordering condition has to work in both bidi contexts.
>  >
>  >  that indeed sounds better.
>  That isn't what I tested though. I only made sure the characters stay
>  together. The label L might be at the beginning or end of the (bidi
>  reordered) string. I don't know whether that occurs in the exhaustive
>  testing, but the test allows L to be at the beginning or end, not
>  necessarily *between* D1 and D2.
>  Erik

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Idna-update mailing list