<br><br><div class="gmail_quote">On Mon, Mar 3, 2008 at 11:45 AM, Harald Tveit Alvestrand &lt;<a href="mailto:harald@alvestrand.no">harald@alvestrand.no</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
--On 3. mars 2008 09:18 -0800 Mark Davis &lt;<a href="mailto:mark.davis@icu-project.org">mark.davis@icu-project.org</a>&gt; wrote:<br>
<br>
&gt; Comments below.<br>
<br>
and responses inline....<br>
<div class="Ih2E3d"><br>
&gt;<br>
&gt; On Sat, Mar 1, 2008 at 5:10 PM, Mark Davis &lt;<a href="mailto:mark.davis@icu-project.org">mark.davis@icu-project.org</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; 1.2. Background and history<br>
&gt;<br>
&gt; The history is useful, but shouldn&#39;t be right up at the front. The<br>
&gt; majority of people reading this document won&#39;t care why it is the way it<br>
&gt; is, they will care what the spec says and how to use it.<br>
&gt;<br>
&gt; Sections 1.2, and all of 2, should be moved either to the Rationale<br>
&gt; document with the rest of the rationale for all the other parts, or at<br>
&gt; least moved to an appendix. Given the structure of the documents,<br>
&gt; Rationale would be better.<br>
<br>
</div>Moving it out of the bidi document destroys the self-containedness of the<br>
document.<br>
My personal opinion is that anyone who wants to implement bidi SHOULD have<br>
to scan at least this much information at least once.<br>
<br>
So unless there&#39;s a strong push for this move, I&#39;ll not make this change.</blockquote><div><br>It is still self-contained, as a description of the specification. Neither of the other two component documents (protocol and tables) are self-contained regarding the rationale, so it is unclear why this has to be inconsistent with them.<br>
<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div class="Ih2E3d"><br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; The IDNA specification &quot;Stringprep&quot;, [RFC3454] makes the following<br>
&gt;&gt; statement in its section 6 on the bidi algorithm, :<br>
&gt;&gt;<br>
&gt; ...<br>
&gt;<br>
&gt;&gt; The justification proposed is this:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; o No two labels, when presented in display order, should have the<br>
&gt;&gt; same sequence of characters without also having the same sequence<br>
&gt;&gt; of characters in network order. (This is the criterion that is<br>
&gt;&gt;<br>
&gt;&gt; explicit in RFC 3454).<br>
&gt;<br>
&gt; The above needs to be qualified, by adding something like &quot;in the same<br>
&gt; bidi context&quot;. That is, as pointed out below, if you change the embedding<br>
&gt; context, 123-456 in one context may look like 456-123 in another; same<br>
&gt; for abc.ABC and ABC.abc.<br>
<br>
</div>Erik, did you verify this within one context, or between contexts?</blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div class="Ih2E3d"><br>
&gt;&gt;<br>
&gt;&gt; o In a display of a string of labels, the characters of each label<br>
&gt;&gt; should remain grouped between the characters delimiting the<br>
&gt;&gt; labels.<br>
&gt;<br>
&gt; You need to name both clauses, since you refer to them below. Something<br>
&gt; like:<br>
&gt;<br>
&gt; o Label Uniqueness Condition. No two labels, when presented in display<br>
&gt; order, should have the<br>
&gt; ...<br>
&gt; o Label Grouping Condition. In a display of a string of labels, the<br>
&gt; characters of each label<br>
<br>
</div>Either that, or &quot;Condition A&quot; and &quot;Condition B&quot;.</blockquote><div><br>I really don&#39;t understand the point of obscuring the meaning of names by using single letters. Some leftover from FORTRAN I&#39;m guessing ;-)<br>
<br>Why use single letters when a couple of words would make it clear to readers which condition is being discussed, and they don&#39;t constantly have to be looking up to see which condition is A and which is B.<br><br></div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div><div></div><div class="Wj3C7c">&gt; ...<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; o These properties should hold true both when the string is embedded<br>
&gt;&gt;<br>
&gt;&gt; in a paragraph with LTR direction and when it&#39;s embedded in a<br>
&gt;&gt; paragraph with RTL direction, as long as explicit directional<br>
&gt;&gt; controls are not used within the same paragraph.<br>
&gt;&gt;<br>
&gt;&gt; Several stronger statements were considered and rejected, because<br>
&gt;&gt;<br>
&gt;&gt; they seem to be impossible to fulfil within the constraints of the<br>
&gt;&gt; Unicode bidirectional algorithm. These include:<br>
&gt;&gt;<br>
&gt;&gt; o The appearance of a label should be unaffected by its embedding<br>
&gt;&gt; context. This proved impossible even for ASCII labels; the label<br>
&gt;&gt;<br>
&gt;&gt; &quot;123-456&quot; will have a different display order in an RTL context<br>
&gt;&gt; than in a LTR context.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Alvestrand &amp; Karp Expires August 17, 2008 [Page 7]<br>
&gt;&gt;<br>
&gt;&gt; Internet-Draft IDNA RTL fix Feb 2008<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; o The sequence of labels should be consistent with network order.<br>
&gt;&gt; This proved impossible - a domain name consisting of the labels<br>
&gt;&gt; (in network order) L1.R1.R2.L2 will be displayed as L1.R2.R1.L2 in<br>
&gt;&gt;<br>
&gt;&gt; an LTR context.<br>
&gt;&gt;<br>
&gt;&gt; o The &quot;remain grouped&quot; property should remain true when directional<br>
&gt;&gt; controls (LRE, RLE, RLO, LRO, PDF) are used in the same paragraph<br>
&gt;&gt; (outside of the labels). Because these controls affect<br>
&gt;&gt;<br>
&gt;&gt; presentation order in non-obvious ways, by affecting the &quot;sor&quot; and<br>
&gt;&gt; &quot;eor&quot; properties of the Unicode BIDI algorithm, the conditions<br>
&gt;&gt; above would be very hard to satisfy for an useful set of strings<br>
&gt;&gt;<br>
&gt;&gt; if this was true. As long as these controls have no influence<br>
&gt;&gt; over the display of the domain name, no problem will be caused,<br>
&gt;&gt; but the exact criterion for &quot;will not influence&quot; is hard to<br>
&gt;&gt;<br>
&gt;&gt; codify.<br>
&gt;<br>
&gt; The above is too strong. We didn&#39;t actually attempt to see what<br>
&gt; difference these would make. Certainly they are a different bidi context.<br>
<br>
</div></div>I did the tests. I&#39;ll stand behind the statement.<br>
If you have tests that say other things, present them, and we&#39;ll discuss.<br></blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<div class="Ih2E3d"><br>
&gt; However, using overrides forces all characters to have the same<br>
&gt; directionality, so it is actually *easy* to meet the above criteria in<br>
&gt; that case, because having the same order will guarantee -- within *that*<br>
&gt; context -- both disambiguation and contiguity.<br>
<br>
</div>You did not read the statement the way I intended it. Having an LRO on one<br>
side of the label and a PDF on the other side would indeed force a single<br>
context, but would also offer a certain way of creating confusable labels -<br>
I would regard that as being used &quot;on&quot; the labels.</blockquote><div><br>It&#39;s unclear exactly what you meant by your text, and exactly what you
are testing. Let me try to be clearer about what I&#39;m saying. The ordering of strings in general will differ according
to the BIDI context; we&#39;re all clear on that. The question is what
those contexts are, and how they are being tested. The main ones are:<br>
<br>
C0. &lt;L&gt; ... &lt;teststring&gt; ...<br>
C1. &lt;R&gt; ... &lt;teststring&gt; ...<br>
C2. &lt;LRE&gt;... &lt;teststring&gt; ... &lt;PDF&gt;<br>
C3. &lt;RLE&gt;... &lt;teststring&gt; ... &lt;PDF&gt;<br>
C4. &lt;LRO&gt; ... &lt;teststring&gt; ... &lt;PDF&gt;<br>
C5. &lt;RLO&gt; ... &lt;teststring&gt; ... &lt;PDF&gt;<br>
<br>
I have not tested, but believe, that C0 = C2, and C1 = C3. If you have
a test that shows the contrary that would be useful to know, otherwise your text needs to be changed.<br><br>C4 and C5
represent different contexts, since they completely override
directionality. The Grouping condition should still be true, but
Uniqueness (across contexts) will not be, since in C4 we&#39;d get &quot;abc&quot;
and in C5 we&#39;d get &quot;cba&quot; (since it overrides Latin letters to have RTL
ordering). <br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div class="Ih2E3d"><br>
<br>
&gt;<br>
&gt; So I&#39;d suggest just rewording to say that that wasn&#39;t a goal.<br>
<br>
</div>Nope. It was an actual found problem; I started out thinking it should be a<br>
goal, and found it impossible to attain.<br>
<div class="Ih2E3d"><br>
&gt;&gt; o The &quot;no two labels display the same&quot; should hold true between LTR<br>
&gt;&gt; paragraphs and RTL paragraphs. This was shown to be unsound.<br>
&gt;<br>
&gt; The word &quot;unsound&quot; both here and a few lines down, is the wrong word. You<br>
&gt; should either use &quot;untenable&quot; or &quot;impossible&quot; (as you had above).<br>
<br>
</div>&quot;Untenable&quot; is a good word.<br>
<div class="Ih2E3d">&gt;<br>
&gt;&gt;<br>
&gt;&gt; o No two domain names should be displayed the same, even under<br>
&gt;&gt;<br>
&gt;&gt; differing directionality. This was shown to be unsound, since the<br>
&gt;&gt; domain name (network) ABC.abc will have display order CBA.abc in<br>
&gt;&gt; an LTR context and abc.CBA in an RTL context, while the domain<br>
&gt;&gt;<br>
&gt;&gt; name (network) abc.ABC will display as abc.CBA in an LTR context<br>
&gt;&gt; and as CBA.abc in an RTL context.<br>
&gt;&gt;<br>
&gt;<br>
&gt; ...<br>
&gt;<br>
&gt;&gt; The &quot;remain grouped&quot; property can be more formally stated as:<br>
&gt;&gt;<br>
&gt;&gt; o Let &quot;Delimiter chars&quot; be a set of characters with the Unicode BIDI<br>
&gt;&gt;<br>
&gt;&gt; properties CS, WS, ON. (These are commonly used to delimit labels<br>
&gt;&gt; - both the FULL STOP and the space are included.)<br>
&gt;&gt;<br>
&gt;&gt; * ET, though it commonly occurs next to domain names in practice,<br>
&gt;&gt; is problematic: the context R CS L EN ET (for instance A.a1%)<br>
&gt;&gt;<br>
&gt;&gt; makes the label L EN grow unstable.<br>
&gt;<br>
&gt; &quot;grow unstable&quot; should be &quot;become unstable&quot;. However, you only define<br>
&gt; what &quot;unstable&quot; means below, so either you need to move the definition<br>
&gt; up. I&#39;d actually prefer being more explicit, since &quot;unstable&quot; can have<br>
&gt; multiple meanings, and just use explicit phrasing like:<br>
&gt;<br>
&gt; makes the label L EN break the Label Grouping condition.<br>
<br>
</div>That makes sense.<br>
<div class="Ih2E3d">&gt;<br>
&gt;&gt;<br>
&gt;&gt; * ES commonly occurs in labels as HYPHEN-MINUS, but could also be<br>
&gt;&gt; used as a delimiter (for instance, the plus sign). It is left<br>
&gt;&gt; out here.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; o Let &quot;Position&quot; be the position of a character in a string (in<br>
&gt;&gt; network order)<br>
&gt;&gt;<br>
&gt;&gt; o Let &quot;Bidi position&quot; be the position computed by the Unicode Bidi<br>
&gt;&gt; algorithm<br>
&gt;&gt;<br>
&gt;&gt; In a paragraph with an embedded string formed from the substrings A B<br>
&gt;&gt;<br>
&gt;&gt; L C D, where A and D are (possibly zero-length) legal labels, and B<br>
&gt;&gt; and C are single &quot;Delimiter chars&quot;, the label L is a legal label if,<br>
&gt;&gt; for all A, B, C and D, the bidi position of all characters in L is<br>
&gt;&gt;<br>
&gt;&gt; within the range of positions for the characters of L in the string,<br>
&gt;&gt; for both the LTR and RTL paragraph direction.<br>
&gt;<br>
&gt; This doesn&#39;t make sense to me. &quot;be within the range of positions for the<br>
&gt; characters?&quot;<br>
<br>
</div>I didn&#39;t find a more readable way of saying &quot;they all stick together&quot;.</blockquote><div><br>The problem is that that isn&#39;t explicit enough, because the letters *don&#39;t* stick to adjacent letters: &quot;ABcdEF&quot; can be reordered so that B is not next to c. So it is easy for people to misunderstand that language. That is why I tried rephrased below.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div class="Ih2E3d"><br>
&gt;<br>
&gt; Moreover, you can&#39;t say that that makes a label *legal*, since it might<br>
&gt; not be legal because of the other conditions in IDNA. The definition is<br>
&gt; also circular, since you can only define L to be legal if you know what<br>
&gt; makes A and B legal. And the discussion of a &quot;paragraph&quot; may be confusing<br>
&gt; to people -- what does a paragraph have to do with a label condition?<br>
&gt;<br>
&gt; I suggest something like:<br>
&gt;<br>
&gt; A label L satisfies the Label Grouping Condition when for any Delimiter<br>
&gt; Characters D1 and D2 and any other strings S1 and S2 (possibly of length<br>
&gt; zero):<br>
&gt;<br>
&gt;<br>
&gt; If the string formed by concatenating S1, D1, L, D2, S2 is subject to<br>
&gt; bidi reordering,<br>
&gt; then all of the characters of L2 in the reordered string are between D1<br>
&gt; and D2.<br>
&gt;<br>
&gt; &nbsp; - The bidi reordering of L1, D1, L, D2, L2 may result in D2 coming<br>
&gt; before D1<br>
&gt; &nbsp; - Because S1 is any string, the bidi algorithm may set the paragraph<br>
&gt; direction for the string to either Right-To-Left or Left-To-Right; thus<br>
&gt; the reordering condition has to work in both bidi contexts.<br>
<br>
</div>that indeed sounds better.<br>
<br>
S1 isn&#39;t allowed to be &quot;any string&quot;. It&#39;s constrained to be a valid label.</blockquote><div><br>I had trouble with the wording for that, because if the S1 are constrained to be legal, then the definition is circular:<br>
<br>L is legal if .... where S1 and S2 are legal.<br><br>Not sure how to get around that. Perhaps someone else can take a shot.<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<div><div></div><div class="Wj3C7c"><br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; (The &quot;zero-length&quot; case represents the case where a domain name is<br>
&gt;&gt; next to something that isn&#39;t a domain name, separated by a delimiter<br>
&gt;&gt;<br>
&gt;&gt; character).<br>
&gt;&gt;<br>
&gt;&gt; The &quot;No two labels&quot; property can be formally stated as:<br>
&gt;&gt;<br>
&gt;&gt; If two labels L and L&#39;, embedded as for the test above, displayed in<br>
&gt;&gt; a paragraph with the same directionality, are rearranged into the<br>
&gt;<br>
&gt; rearranged =&gt; bidi reordered<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Alvestrand &amp; Karp Expires August 17, 2008 [Page 9]<br>
&gt;&gt;<br>
&gt;&gt; Internet-Draft IDNA RTL fix Feb 2008<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; same sequence of codepoints, neither L nor L&#39; is a legal label.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 4. A replacement for the RFC 3454 criterion<br>
&gt;&gt;<br>
&gt;&gt; A set of rules that satisfies the tests above is as follows. The<br>
&gt;&gt; main bullets give the rule, subordinate bullets (if any) give<br>
&gt;&gt; justifications or examples of things that break if this rule is not<br>
&gt;&gt;<br>
&gt;&gt; present. The term &quot;unstable&quot; means that it fails to satisfy the<br>
&gt;&gt; &quot;remain grouped&quot; property defined above.<br>
&gt;<br>
&gt; remove this, and change all instances to &quot;fail the Label Grouping<br>
&gt; condition&quot;.<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; Exhaustive testing has verified that strings that satisfy this<br>
&gt;&gt; criterion satisfy both the requirements above at least for all<br>
&gt;&gt;<br>
&gt;&gt; strings up to 6 characters.<br>
&gt;<br>
&gt; [[The above doesn&#39;t make it clear that these are in fact the bidi<br>
&gt; requirements that are referred to by the IDNA protocol document. I<br>
&gt; suggest the following rewording:]]<br>
&gt;<br>
&gt; Based on exhaustive testing of strings, the following conditions on<br>
&gt; characters have been developed to meet the Label Grouping and Label<br>
&gt; Uniqueness conditions.<br>
&gt;<br>
&gt; Bidi Label Requirement<br>
&gt;<br>
&gt; A series of labels where any one of them has a character of type R, AL or<br>
&gt; AN must meet all of the following conditions:<br>
&gt;<br>
&gt; [[then number each one for reference]]<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; o Only characters with the BIDI properties L, R, AL, AN, EN, ES, BN,<br>
&gt;&gt; ON and NSM are allowed.<br>
&gt;&gt;<br>
&gt;&gt; * B, S and WS are excluded because they are separators or spaces.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; * LRE, LRO, RLE, RLO, PDF are excluded because they are bidi<br>
&gt;&gt; controls.<br>
&gt;&gt;<br>
&gt;&gt; * ET is excluded because the string L ET is unstable.<br>
&gt;&gt;<br>
&gt;&gt; * CS is excluded because the string L CS is unstable.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; o ES and ON are not allowed in the first position<br>
&gt;&gt;<br>
&gt;&gt; * ES R and ON R are both unstable.<br>
&gt;&gt;<br>
&gt;&gt; o ES and ON, followed by zero or more NSM, is not allowed in the<br>
&gt;&gt; last position<br>
&gt;&gt;<br>
&gt;&gt; * L ON and L ES are both unstable.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; o If an L is present, no R, AL or AN may be present, and vice versa.<br>
&gt;&gt;<br>
&gt;&gt; o If an EN is present, no AN may be present, and vice versa.<br>
&gt;&gt;<br>
&gt;&gt; o The first character may not be an NSM<br>
&gt;&gt;<br>
&gt;&gt; o The first character may not be an EN (European Number) or an AN<br>
&gt;&gt;<br>
&gt;&gt; (Arabic Number).<br>
&gt;&gt;<br>
&gt;&gt; * If the character on both sides of a CS is an EN or an AN, the<br>
&gt;&gt; labels turn unstable.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Alvestrand &amp; Karp Expires August 17, 2008 [Page 10]<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Internet-Draft IDNA RTL fix Feb 2008<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; * Some domain names where some of the labels use leading EN and<br>
&gt;&gt; AN may be problem-free, but there&#39;s no way of verifying this<br>
&gt;&gt;<br>
&gt;&gt; while looking at a single label in isolation.<br>
&gt;&gt;<br>
&gt;&gt; * NOTE: This is a restriction on ASCII labels when used together<br>
&gt;&gt; with IDNA labels. This is a change from the existing rules for<br>
&gt;&gt; ASCII labels.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; * We could achieve stability by barring numbers at the end of<br>
&gt;&gt; labels, but this may be more disruptive in practice.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 5. Other issues in need of resolution<br>
&gt;&gt;<br>
&gt;&gt; This document concerns itself only with the rules that are needed<br>
&gt;&gt;<br>
&gt;&gt; when dealing with domain names with characters that have differing<br>
&gt;&gt; Bidi properties, and considers characters only in terms of their Bidi<br>
&gt;&gt; properties. All other issues with these scripts have to be<br>
&gt;&gt; considered in other contexts.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Another set of issues concerns the proper display of IDNs with a<br>
&gt;&gt; mixture of LTR and RTL labels, or only RTL labels.<br>
&gt;&gt;<br>
&gt;&gt; It is unrealistic to expect that domain names will be written using<br>
&gt;&gt; embedded formatting codes between their labels; thus, the display<br>
&gt;<br>
&gt; According to IDNA2003, it is not only unrealistic but also illegal. Or<br>
&gt; maybe you mean the pre-preprocessed form? This needs fixing, depending on<br>
&gt; what you mean.<br>
<br>
</div></div>Some people have suggested that one should display domain names as<br>
&lt;label&gt;&lt;lrm&gt;.&lt;label&gt;... or similar &quot;interesting&quot; constructs. I think that&#39;s<br>
unrealistic. I&#39;m not sure it&#39;s illegal.</blockquote><div><br>Ah, I see what you are saying now. It is illegal to have a U-Label or A-Label with an &lt;rlm&gt; in it, which is why I said that it is illegal. What you mean is that it would be possible for a U-Label *to be transformed for display by inserting &lt;rlm&gt;*, but that it is unrealistic to expect that to be done. So if you clarify the text to clearly mean that, it&#39;d be fine.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div><div></div><div class="Wj3C7c"><br>
&gt;&gt;<br>
&gt;&gt; order will be determined by the bidirectional algorithm. Thus, a<br>
&gt;&gt; sequence (in network order) of R1.R2.ltr will be displayed in the<br>
&gt;&gt; order 2R.1R.ltr in a LTR context, which might surprise someone<br>
&gt;&gt; expecting to see labels displayed in hierarchical order. Again, this<br>
&gt;&gt;<br>
&gt;&gt; memo does not attempt to suggest a solution to this problem.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 6. Compatibility considerations<br>
&gt;&gt;<br>
&gt;&gt; 6.1. Backwards compatibility considerations<br>
&gt;&gt;<br>
&gt;&gt; As with any change to an existing standard, it is important to<br>
&gt;&gt;<br>
&gt;&gt; consider what happens with existing implementations when the change<br>
&gt;&gt; is introduced. The following troublesome cases have been noted:<br>
&gt;&gt;<br>
&gt;&gt; o Old program used to input the newly allowed string. If the old<br>
&gt;&gt;<br>
&gt;&gt; program checks the input against RFC 3454, the string will not be<br>
&gt;&gt; allowed, and that domain name will remain inaccessible.<br>
&gt;&gt;<br>
&gt;&gt; o Old program is asked to display the newly allowed string, and<br>
&gt;&gt; checks it against RFC 3454 before displaying. The program will<br>
&gt;&gt;<br>
&gt;&gt; perform some kind of fallback, most likely displaying the Punycode<br>
&gt;&gt; form of the string.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Alvestrand &amp; Karp Expires August 17, 2008 [Page 11]<br>
&gt;&gt;<br>
&gt;&gt; Internet-Draft IDNA RTL fix Feb 2008<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; o Old program tries to display the newly allowed string. If the old<br>
&gt;&gt; program has code for displaying the last character of a string<br>
&gt;&gt; that is different from the code used to display the characters in<br>
&gt;&gt;<br>
&gt;&gt; the middle of the string, display may be inconsistent and cause<br>
&gt;&gt; confusion.<br>
&gt;<br>
&gt; I don&#39;t understand this. Why would anyone want to do this? While would<br>
&gt; they pick the last character, or the first, or the 3rd from the last, or<br>
&gt; any particular other character and assume they can tell the<br>
&gt; directionality. Why call this out in particular?<br>
<br>
</div></div>I don&#39;t know why anyone would want to do this. What I know is that I can&#39;t<br>
guarantee that nobody&#39;s done this in existing code, the old programs (if<br>
any) are already out there, and neither you nor I can get at them to fix<br>
them.<br>
<br>
It&#39;s been raised as an issue, so I&#39;ll include it. (Same answer as last time<br>
you asked.)</blockquote><div><br><br>I just don&#39;t understand why you are calling out that as an issue, over a thousand equally incorrect assumptions. Is it only because someone raised it? Who raised it? If I raise the issue that if a program tried to assume
the directionality from the 3rd to the last character, then you&#39;ll
include that as an issue?<br>
<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<br>
<br>
Thanks for the comments. I&#39;ll incorporate some of them into -05.</blockquote><div><br>Again, I think this document is progressing quite nicely; with some more work to clarify the text we should be in good shape. The one thing I can&#39;t quite see clearly yet is the best way to phrase the Grouping condition; that&#39;s a bit tricky.<br>
&nbsp;<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<font color="#888888"><br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Harald<br>
<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Mark