Change of the algorithm

Paul Hoffman phoffman at imc.org
Wed Mar 19 18:55:55 CET 2008


In summary:

a) The desired change was "Make sure everything in {Cf}, category I, is disallowed".

b) We discovered that what was really wanted was "Make sure everything in {Cf}, category I, other than those with property Join_Control, category H, is disallowed". That leaves ZWNJ and ZWJ allowed with contextual rules.

Patrik's first pass at the change did (a), not (b). That proposed change was:

At 5:02 PM -0400 3/15/08, Patrik Fältström wrote:
>OLD:
>  o  If the codepoint is in Category H (Section 2.2.4), the value is
>     CONTEXTJ.
>  o  If the codepoint is in Category I (Section 2.2.5), the value is
>     CONTEXTO.
>>  o  If the codepoint is in Category B (Section 2.1.2), the value is
>     DISALLOWED.
>>  o  If the codepoint is in Category C (Section 2.1.3), the value is
>     DISALLOWED.
>>  o  If the codepoint is in Category D (Section 2.1.4), the value is
>     DISALLOWED.
>
>NEW:
>  The algorithm to calculate the value of the derived property is as
>  follows.
> >  o  If the codepoint is in Category B (Section 2.1.2), the value is
>     DISALLOWED.
>>  o  If the codepoint is in Category C (Section 2.1.3), the value is
>     DISALLOWED.
>>  o  If the codepoint is in Category D (Section 2.1.4), the value is
>     DISALLOWED.
>  o  If the codepoint is in Category H (Section 2.2.4), the value is
>     CONTEXTJ.
>  o  If the codepoint is in Category I (Section 2.2.5), the value is
>     CONTEXTO.

A different fix, one that achieves (b). would instead be:

NEWER-YET:
  The algorithm to calculate the value of the derived property is as
  follows.
  o  If the codepoint is in Category H (Section 2.2.4), the value is
     CONTEXTJ.
  o  If the codepoint is in Category B (Section 2.1.2), the value is
     DISALLOWED.
  o  If the codepoint is in Category C (Section 2.1.3), the value is
     DISALLOWED.
  o  If the codepoint is in Category D (Section 2.1.4), the value is
     DISALLOWED.
That is, check H before B, C, and D. Also, note that we no longer need category I at all, because it is a subset of C. Thus, the entire category I can be removed.

Can someone else check my work here?


More information about the Idna-update mailing list