On 11/3/15 6:42 AM, John C Klensin wrote:


--On Tuesday, November 03, 2015 08:16 -0500 Tom Worster
<[email protected]> wrote:

The informative sentence in 2.1 Rule 3:

     "The primary result of doing so is that uppercase
characters are     mapped to lowercase characters."

is good but I think it's worth spending a few more words to
spell out that "primary" implies exceptions.

     "While the primary result is that uppercase characters are
mapped to     lowercase characters, there are exceptions."

It might nudge a few fore implementers to understand that
toLowerCase() isn't the right thing.

But Tom, for many purposes, forms, and language-script
combinations, toLowerCase() is _exactly_ the right thing.  For
others, if one adopts the principle of doing no harm, whether
toLowerCase() or toCaseFold() are likely to do less harm depends
on some rather subtle issues including the perspective from
which "harm" is viewed.

I think one could more accurately restate your comment above as
"... to understand that toLowerCase() is sometimes not the right
thing and that sometimes toCaseFold() is sometimes not the right
thing either.

I could take a shot at a paragraph explaining that if it is what
people want.  Otherwise, I'd be very careful about getting
further into that space than the present text goes.  Personally,
I think the text is still dancing around the issue too much,
rather than addressing it, but I may be in the rough.

That may be. We could simply remove the offending sentence:

OLD

   3.  Case Mapping Rule: Unicode Default Case Folding MUST be applied,
       as defined in the Unicode Standard [Unicode] (at the time of this
       writing, the algorithm is specified in Chapter 3 of
       [Unicode7.0]).  The primary result of doing so is that uppercase
       characters are mapped to lowercase characters.  In applications
       that prohibit conflicting nicknames, this rule helps to reduce
       the possibility of confusion by ensuring that nicknames differing
       only by case (e.g., "stpeter" vs. "StPeter") would not be
       presented to a human user at the same time.

NEW


   3.  Case Mapping Rule: Unicode Default Case Folding MUST be applied,
       as defined in the Unicode Standard [Unicode] (at the time of this
       writing, the algorithm is specified in Chapter 3 of
       [Unicode7.0]).  In applications that prohibit conflicting
       nicknames, this rule helps to reduce the possibility of
       confusion by ensuring that nicknames differing only by case
       (e.g., "stpeter" vs. "StPeter") would not be presented to a
       human user at the same time.

If we do that, we're no longer dancing around issues.

Peter

_______________________________________________
precis mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/precis

Reply via email to