I&#39;ll add to what Ken pointed out.<br><br>Over time, we&#39;ve dealt with this issue many times, and have evolved a technique for dealing with it, one that we have used successfully for many versions of Unicode.
<br><br>When we define a new property value as *derived* from some other combination of other properties, we also add a &quot;grandfathering&quot; compatibility set. For example, we do this for the Unicode definition of identifiers: see
<br><div style="margin-left: 40px;"><a href="http://www.unicode.org/reports/tr31/tr31-8.html#Backward_Compatibility" target="_blank">http://www.unicode.org/reports/tr31/tr31-8.html#Backward_Compatibility</a><br><br></div>
Applying that same technique here, for example, we&#39;d have an &quot;Other_IDN_Always&quot; property, that would contain all and only those characters that were {IDN=Always} in a previous version but that wouldn&#39;t otherwise be according to the derivation for the current version of the other properties. (These grandfathered sets are, of course, mechanically generated and verified, to prevent errors.) By doing this, we&#39;d guarantee that all characters that were {IDN=Always} in a previous version are {IDN=Always} in the current version; we&#39;d do the same for {IDN=Never}, as well. Because we&#39;re dealing with a partition, the derivations would look like:
<br><br>{IDN=Always} = {derivation from general 5.2 properties} + Other_IDN_Always - Other_IDN_Never<br>{IDN=Never} = {derivation from general 5.2 properties} - Other_IDN_Never - Other_IDN_Always<br><br>Mark<br><br><br><div class="gmail_quote">

On Dec 4, 2007 4:42 PM, Kenneth Whistler &lt;<a href="mailto:kenw@sybase.com" target="_blank">kenw@sybase.com</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;">

Patrik,<br><br>Some more feedback on draft-faltstrom-idnabis-tables-03.txt.<br><br>Section 4. Codepoints states:<br><br>&quot;The Categories and Rules defined in Section 2 and Section 3 apply to<br>all assigned Unicode characters.&quot;
<br><br>In fact they also apply to *unassigned* code points as well.<br><br>I think the correct formulation would be:<br><br>&quot;The Categories and Rules defined in Section 2 and Section 3 apply to<br>all Unicode codepoints, assigned or unassigned.&quot;
<br><br>[Note: the Unicode Standard systematically uses a space<br>in the term &quot;code point&quot;, as well as for &quot;code unit&quot;,<br>&quot;code position&quot;, &quot;code value&quot;, etc. But given that this<br>

document uses &quot;codepoint&quot; everywhere, I&#39;m not suggesting<br>that be changed. Nobody is going to be confused as to<br>what the word means.]<br><br><br>Section 1. Introduction<br><br>Description of ALWAYS states:
<br><br>&quot;Once assigned to this category, a character is never removed<br>from it unless it is removed from Unicode.&quot;<br><br>The qualification &quot;unless it is removed from Unicode&quot; is<br>vacuous. Since Unicode 
1.1, no character ever has been<br>removed from Unicode, nor will any be -- in part because<br>no character will ever be removed from ISO/IEC 10646.<br><br>So this is a quibble is a little like qualifying the<br>definition of ASCII LDH as &quot;{0061..007A, 0030..0039, 002D}
<br>and no characters will be removed from this definition<br>unless they are removed from ASCII.&quot;<br><br>So I suggest just removing the vacuous qualification.<br><br><br>Large paragraph in the middle of page 3 state:
<br><br>&quot;It should be suitable for newer revisions of Unicode, as<br>long as the Unicode properties on which it is based remain stable.&quot;<br><br>This points out a fundamental problem with the categories<br>used for this IDN property, in that it depends crucially
<br>on stability of the Script property. However, unlike<br>a number of the Unicode (immutable) properties and<br>algorithms (such as normalization) for which there are<br>stability guarantees that the Unicode Consortium takes
<br>very seriously, there is *NO* stability guarantee for<br>the Script property. To assume that there is one is<br>setting this specification directly on a collision course<br>with the UTC at some point in the future.<br>

<br>Let me illustrate this with a *real* (not hypothetical)<br>issue which just came up on the unicode list discussions<br>during the last week.<br><br>Egyptologists are considering specifying the<br>U+0486 COMBINING CYRILLIC PSILI PNEUMATA for their
<br>use of the Egyptological yod in transliteration. The<br>character has the correct semantics and shape, and<br>using it would avoid a potential shaping and positioning<br>issue with U+0313 COMBINING COMMA ABOVE. But if they
<br>start using it, they would be using it in combination<br>with *Latin* characters, not Old Church Slavonic (Cyrillic)<br>characters. In part to avoid potential font selection<br>heuristic issues, they are now requesting that
<br>U+0486 have its Script property be changed from<br>Script=Cyrillic (its current value in Unicode 5.0)<br>to Script=Inherited (in Unicode 5.1). This is a perfectly<br>reasonable type of change, from the UTC&#39;s point of view,
<br>and parallels other changes made to script properties<br>when a character once seen as belonging only to a single<br>script comes to have an application in another script,<br>in which case it might change to Script=Common or
<br>Script=Inherited, depending on the case.<br><br>Now consider the implications for the Calculation of<br>the Derived Property in Section 3 of<br>draft-falstrom-idnabis-tables-03.txt. By the Unicode 5.0<br>property values, U+0486 would be determined to be ALWAYS.
<br>And in fact, Appendix A has the resulting entry:<br><br>0483..0486 ; ALWAYS &nbsp; &nbsp;# COMBINING CYRILLIC TITLO..COMBINING CYRILLIC PS<br><br>*But*, if the UTC deals with the reasonable request from<br>the Egyptologists by changing U+0486 to Script=Inherited
<br>or Script=Common, then by the Calculation in Section 3,<br>U+0486 would end up instead as MAYBE YES.<br><br>ALWAYS ==&gt; MAYBE YES is a prohibited state transition<br>for this IDN property.<br><br>That is a very bad situation to be in for this specification.
<br>Some property change that is perfectly normal and reasonable<br>for the UTC would end up resulting in what an IETF<br>protocol would be claiming is an absolutely prohibited<br>change. We&#39;d either end up with finger-pointing and blame
<br>going back and forth regarding who is responsible for<br>the destabilization, or else end up hacking up emergency<br>fixes to the IDNA RFC, so that the calculation of the<br>derived property itself could be stabilized against
<br>future changes to properties it depends on.<br><br>Meanwhile, the constituencies of character users that<br>come to the UTC -- like these Egyptologists -- would<br>be flabbergasted, flustered, and highly annoyed, if<br>

they were simply met by intransigence on the UTC&#39;s<br>part, saying, &quot;Sorry, we can&#39;t change that Script<br>property for you, because we are absolutely bound by<br>a stability guarantee for IDNs. Changing that property
<br>would destabilize IDNA, and we can&#39;t do that.&quot;<br>They would neither understoodd nor would they stand for what would<br>seem to them to be a completely arbitrary and<br>unmotivated stonewalling on the issue. It&#39;s bad enough
<br>the crap we have to put up with in maintaining stability<br>for normalization, for which the UTC is highly motivated<br>to maintain stability for many reasons besides its<br>use in IETF protocols.<br><br>I really think the whole MAYBE YES category based on
<br>Script determinations is a trap for this specification.<br>It is attempting to be conservative in making commitments<br>regarding the use of certain characters in IDN. But<br>in using the Script property distinctions the way
<br>Section 3 current is doing, all it really is going<br>to accomplish is to *guarantee*, in the not too distant<br>future, a stability meltdown for the ALWAYS and NEVER<br>categories that the specification is trying to define
<br>and claim stability for.<br><br>Regards,<br><br>--Ken<br><br><br><br>_______________________________________________<br>Idna-update mailing list<br><a href="mailto:Idna-update@alvestrand.no" target="_blank">Idna-update@alvestrand.no
</a>
<br><a href="http://www.alvestrand.no/mailman/listinfo/idna-update" target="_blank">http://www.alvestrand.no/mailman/listinfo/idna-update</a><br></blockquote></div><br><br clear="all"><br>-- <br>Mark