Comments on bidi-04

Mark Davis mark.davis at icu-project.org
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)

abc.def/ghi

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

gih/dfe.bac

but not
gihd/fe.bac
nor
egih/df.bac
nor
egih/bacdfe.

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
   S2,
   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
remarks.)

Mark

On Mon, Mar 3, 2008 at 12:43 PM, Erik van der Poel <erikv at google.com> 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
same
>  >  > bidi context". That is, as pointed out below, if you change the
embedding
>  >  > context, 123-456 in one context may look like 456-123 in another;
same
>  >  > for abc.ABC and ABC.abc.
>  >
>  >  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
Delimiter
>  >  > Characters D1 and D2 and any other strings S1 and S2 (possibly of
length
>  >  > zero):
>  >  >
>  >  > If the string formed by concatenating S1, D1, L, D2, S2 is subject
to
>  >  > bidi reordering,
>  >  > then all of the characters of L2 in the reordered string are between
D1
>  >  > 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
paragraph
>  >  > direction for the string to either Right-To-Left or Left-To-Right;
thus
>  >  > 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
>



-- 
Mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.alvestrand.no/pipermail/idna-update/attachments/20080303/a20fef73/attachment.html


More information about the Idna-update mailing list