confusing notation in the ZERO WIDTH NON-JOINER contextual rule

Patrik Fältström paf at frobbit.se
Thu Aug 9 11:09:20 CEST 2012


Sorry, detected an error that I corrected before I submitted the errate:

9 aug 2012 kl. 11:06 skrev Patrik Fältström <paf at frobbit.se>:

> OLD:
> 
> In A:
> 
> Code point:
> 
> The code point, or code points, to which this rule is to be
> applied.  Normally, this implies that if any of the code points in
> a label is as defined, then the rules should be applied.  If
> evaluated to True, the code point is OK as used; if evaluated to
> False, it is not OK.
> 
> In A.1:
> 
> Rule Set:
>  False;
>  If Canonical_Combining_Class(Before(cp)) .eq.  Virama Then True;
>  If RegExpMatch((Joining_Type:{L,D})(Joining_Type:T)*\u200C
>    (Joining_Type:T)*(Joining_Type:{R,D})) Then True;
> 
> NEW:
> 
> In A:
> 
> Code point:
> 
> The code point, or code points, to which this rule is to be
> applied.  Normally, this implies that if any of the code points in
> a label is as defined, then the rules should be applied.  If
> evaluated to True, the code point is OK as used; if evaluated to
> False, it is not OK.
> 
> For the rule to be evaluated to True for the label, it MUST be
> evaluated to True for every occurrence of Code point in the
> label.
> 
> In A.1:
> 
> Rule Set:
>  False;
>  If Canonical_Combining_Class(Before(cp)) .eq.  Virama Then True;
>  If cp .eq. \u200C .and. RegExpMatch((Joining_Type:{L,D})(Joining_Type:T)*cp

This line should be:

 If cp .eq. \u200C And RegExpMatch((Joining_Type:{L,D})(Joining_Type:T)*cp

>    (Joining_Type:T)*(Joining_Type:{R,D})) Then True;

   Patrik



More information about the Idna-update mailing list