comments on draft-ietf-idnabis-bidi

Matitiahu Allouche matial at il.ibm.com
Tue Feb 10 09:28:19 CET 2009


My attention was recently drawn to the subject document (version 03) and I 
have a number of comments.  Some of them are very minor (typos, editorial) 
and reflect my pedantic mind, but I thought that I could as well help 
improve the form of the document.  Other comments touch more to the 
essence, and I will appreciate considering them seriously.

1) In section 2, first paragraph, "satisifes" should be "satisfies".

2) Section 2, rule 1 mentions the "Character Grouping requirement" for the 
first time in the document.  Either there should be a forward reference to 
section 3 where it will be explained, or (better, in my opinion), the 
content of the current section 3 should precede the content of the current 
section 2.

3) In the sentence "ET is excluded because the string L ET does not 
satisfy the Character Grouping requirement.", "L" seems to represent a 
label, but can easily be confused with the L Bidi property (all the more 
since it is adjacent to ET which surely represents a character with the ET 
Bidi property).

4) In the sentence "CS is excluded because the string L CS does not 
satisfy the Character Grouping requirement.", "L" seems to represent a 
label, but can easily be confused with the L Bidi property (all the more 
since it is adjacent to CS which surely represents a character with the CS 
Bidi property).

5) I see no reason why CS is excluded while ES is allowed.  Both can be 
the source of the same kind of  violation of the Character Grouping 
requirement.  ES characters are excluded from the first and last positions 
by rules 2 and 3.  With the same restrictions (exclusion from the first 
and last positions), ES and ET characters can be allowed and will not 
violate the Character Grouping requirement any more than ES characters.

6) In section 1.1, there appears the following statement: "This 
specification is not intended to place any requirements on domain names 
that do not contain right-to-left characters."
Also the title of section 2 is "A replacement for the RFC 3454 BIDI rule" 
which implies that the text only deals with "Bidi" labels.
If that means that the specification applies only to labels which contain 
at least one character with Bidi property R, AL or AN, and we combine that 
with rule 4 "If an R, AL or AN is present, no L may be present.", then an 
L character can never be part of a Bidi label, and the L should be removed 
from the list of allowed Bidi properties in rule 1.

7) In [UAX9], rule X9 says that BN characters must be removed from the 
displayed text.  Any such invisible character violates the Label 
Uniqueness requirement.  BN characters must not be allowed by rule 1.

8) From rules 1, 2, 4, 6 and 7, plus our comments 6 and 7 above, it 
results that the first character of a Bidi label can only be of type R or 
AL.  Such a statement can advantageously replace rules 2, 6 and 7.

9) Rule 5 includes no justification.  While a mixture of AN and EN 
characters in the same label seems odd and not required in real life 
situations, it is not clear what requirement would be violated by such a 
combination.

10) The rules allow AN or EN digits to appear in the last position of a 
label (in opposition to RFC 3454).  Let us consider the following examples 
(where lower case letters represent L characters and upper case letters 
represent R or AL characters):

   a. network order = "ABC123.456xyz"  display order (LTR) = 
"123.456CBAxyz"  display order (RTL) = "123.456xyzCBA"

   b. network order = "ABC.456-xyz"  display order (LTR) = "456.CBA-xyz" 
display order (RTL) = "xyz-456.CBA"

   c. network order = "ABC123.456.xyz"  display order (LTR) = 
"123.456CBA.xyz"  display order (RTL) = "xyz.123.456CBA"

   d. network order = "ABC.456.xyz"  display order (LTR) = "456.CBA.xyz" 
display order (RTL) = "xyz.456.CBA"

Examples a, b and c show very ugly violations of the Character Grouping 
requirement.  Since the document does not place requirements on non-Bidi 
labels, any non-Bidi label starting with digits following a Bidi label 
will cause a Character Grouping violation.  If Bidi labels are restricted 
from ending with digits (optionally followed by NSMs), then non-Bidi 
labels which contain only digits (example d) following a Bidi label will 
not cause a Character Grouping violation.
Whether this modest benefit justifies imposing such a restriction is 
subject to discussion.

11) Towards the end of section 2, there appears the following sentence: "
In a domain name consisting of only labels that pass the test, the 
requirements of Section 3 are satisfied."
This is not true for domain names like in the examples above, unless 
non-Bidi labels are excluded, which is a very hard constraint.

12) The next sentence says: "In a domain name consisting of only 
LDH-labels and labels that pass the test, the requirements of Section 3 
are satisfied as long as a label that starts with an ASCII digit does not 
come after a right-to-left label that ends in a digit."
This is not true.  See example b above.

13) In section 3, there appears the sentence: "the label "123-456" will 
have a different display order in an RTL context than in a LTR context."
This is not true, IMHO.  If the last letter before the label is not an 
Arabic Letter, it will be displayed as "123-456" both in LTR and RTL 
context.  If it is an Arabic Letter, it will be displayed as "456-123".

14) In section 3, there appears the sentence: "The Label Uniqueness 
property should hold true between LTR paragraphs and RTL paragraphs.  This 
was shown to be unsound."
In fact, in all cases where Character Grouping and Label Uniqueness are 
satisfied for each paragraph direction separately, there will be Label 
Uniqueness between LTR and RTL paragraphs.

15) In section 3, since an "unproblematic label" can be a label which 
satisfies the requirements, the clause "any label S1 and S2 that is either 
a label satisfying the requirements or an unproblematic label" can be 
shortened to "any label S1 and S2 that is an unproblematic label".

16) In the formal statement of the Label Uniqueness requirement, there is 
no provision (or exclusion) for the case where L and L' are identical.

17) In summary I suggest that the rules in section 2 should be 
reformulated as below.

   1.  Only characters with the BIDI properties R, AL, AN, EN, ES,
       CS, ET, ON and NSM are allowed in RTL labels.

   2.  The first position must be a character with Bidi property R or AL.

   3.  The last position must be a character with Bidi property R or AL,
       followed by zero or more NSM.

   3 variant.  The last position must be a character with Bidi property R,
     AL, EN or AN, followed by zero or more NSM.

   4 (debatable).  If an EN is present, no AN may be present, and vice
      versa.

It can be seen that this formulation is quite close to that in RFC 3454, 
while solving all the problems that the subject document aims to solve.


Shalom (Regards),  Mati
           Bidi Architect
           Globalization Center Of Competency - Bidirectional Scripts
           IBM Israel
           Phone: +972 2 5888802    Fax: +972 2 5870333    Mobile: +972 52 
2554160
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.alvestrand.no/pipermail/idna-update/attachments/20090210/4126b91a/attachment.htm 


More information about the Idna-update mailing list