Subject: RE: [Ltru] [psg.com #985] Specify case rules for canonical tags

From: "Addison Phillips" <[email-masked]>
Date: Tue, 17 May 2005 07:10:20 -0700

Suggestion:

The text currently has this paragraph:

<q>Note: Canonicalization of language tags does not imply anything about the use of upper or lowercase letter in subtags as described in Section 2.1 (Syntax). All comparisons MUST be performed in a case-insensitive manner.</q>

We can resolve this issue by changing it as follows and adding the shown additional paragraph:

<t>Canonicalization of language tags does not imply anything about the use of upper or lowercase letters when processing or comparing subtags (and as described in Section 2.1). All comparisons MUST be performed in a case-insensitive manner.</t>

<t>When performing canonicalization of language tags, processors MAY optionally regularize the case of the subtags, following the case used in the registry. Note that this corresponds to the following casing rules: uppercase all non-initial two-letter subtags; titlecase all non-initial four-letter subtags; lowercase everything else.</t>

In other words, permit or even encourage it, but not require it.

Oh, and should we add a warning about the one common case in which locale-sensitive casing methods hurt? E.g. in Java I can write this:

       // set the locale as if environment is running in Turkish
       Locale.setDefault("tr","TR");
       // ...
       String fubar = "iI";
       fubar = fubar.toUpperCase(); 

And 'fubar' contains: \u0130\u0049 (which would be bad in a language tag).

Best Regards,

Addison

Addison P. Phillips
Globalization Architect, Quest Software
Chair, W3C Internationalization Core Working Group

Internationalization is not a feature.
It is an architecture. 

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On
> Behalf Of John Cowan
> Sent: 2005?5?17? 5:21
> To: Randy Presuhn
> Cc: [email-masked]
> Subject: Re: [Ltru] [psg.com #985] Specify case rules for canonical tags
> 
> Randy Presuhn scripsit:
> 
> > There was some discussion of this proposal, but it wasn't clear (to me
> at
> > least) whether there was agreement at the end.  Consequently, I haven't
> > closed this item.  Would we be content to wrap this this up as a
> "reject",
> > or does it need further discussion?
> 
> I continue to believe in case-canonicalization.  The whole point of
> canonicalizing
> anything, including language tags, is to squeeze out the maximum amount of
> non-semantic variability.  Case is just as non-semantic as extension
> ordering,
> there is a well-established practice based on the styles used in the
> sources,
> and the rule is easy to state and to implement: uppercase all non-initial
> two-character tags (outside extensions and privates), titlecase all non-
> initial
> four-character tags (ditto), lowercase everything else.
> 
> This would not affect mere well-formedness or validity, only canonicality.
> 
> --
> Henry S. Thompson said, / "Syntactic, structural,               John Cowan
> Value constraints we / Express on the fly."     [email-masked]
> Simon St. Laurent: "Your / Incomprehensible
> http://www.reutershealth.com
> Abracadabralike / schemas must die!"            http://www.ccil.org/~cowan
> 
> _______________________________________________
> Ltru mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/ltru

_______________________________________________
Ltru mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ltru

---

From: John Cowan <[email-masked]>
Date: Tue, 17 May 2005 10:29:39 -0400

Addison Phillips scripsit:

> <t>When performing canonicalization of language tags, processors MAY
> optionally regularize the case of the subtags, following the case used
> in the registry. Note that this corresponds to the following casing
> rules: uppercase all non-initial two-letter subtags; titlecase all
> non-initial four-letter subtags; lowercase everything else.</t>
> 

I can live with that, provided the casing rules are moved or copied to the
registry-creation section so that they are locked in (e.g. when ISO 639-3
or 639-6 comes on line, we want their tags to be entered in lower case).

> Oh, and should we add a warning about the one common case in which
> locale-sensitive casing methods hurt? E.g. in Java I can write this:

Yes, absolutely.  Note that both Turkish and Azeri locales have this
problem.

> And 'fubar' contains: \u0130\u0049 (which would be bad in a language tag).

A more practical example would be "in" (India) being upcased to "\u0130n".
Hopefully Turkish/Azeri programmers are used to this inconvenience by
now, though.

-- 
Is a chair finely made tragic or comic? Is the          John Cowan
portrait of Mona Lisa good if I desire to see           [email-masked]
it? Is the bust of Sir Philip Crampton lyrical,         www.ccil.org/~cowan
epical or dramatic?  If a man hacking in fury           www.reutershealth.com
at a block of wood make there an image of a cow,
is that image a work of art? If not, why not?               --Stephen Dedalus

---

From: John Cowan <[email-masked]>
Date: Tue, 17 May 2005 10:37:17 -0400

> A more practical example would be "in" (India) being upcased to "\u0130n".

Er, make that "\u0130N".  Sorry.

-- 
John Cowan          http://www.ccil.org/~cowan        [email-masked]
To say that Bilbo's breath was taken away is no description at all.  There are
no words left to express his staggerment, since Men changed the language that
they learned of elves in the days when all the world was wonderful. --The Hobbit