""Christoph M. Becker"" wrote in message news:e8590cd8-8e85-9f2f-470f-f612b2b0f...@gmx.de...

On 18.09.2017 at 11:40, Tony Marston wrote:

I have already acknowledged that the same word can have a different
meaning in a different context, so the word "china" has a different
meaning in "I am going to China" and "this is made from china". However,
in the same context changes in case are irrelevant:

"I AM GOING TO CHINA" is the same as "i am going to china".
"THIS IS MADE FROM CHINA" is the same as "this is made from china".

The same written (and this is what we're talking about; pronunciation is
irrelevant here) English word can have different meaning in the same
context, too.  One may say "This is nice!" (to show appreciation) and
"This is Nice!" (to refer to the city).  Also many professions which are
also common names have the same issue ("This is the miller" vs. "This is
the Miller").  You may recognize the common pattern, namely that proper
names are capitalized in English.  In German, and likely some other
languages as well, all nouns are capitalized, so there are obviously
many more such cases.

You are talking about slight differences in human-to-human communication which is totally irrelevant. This topic is about switching case in software, and in such cases those differences are irrelevant. If my software switches case so that "this is nice" becomes "THIS IS NICE" or vice versa, then it does not matter one jot that "nice" could mean a place, or something pleasant, or even the initials of The National Institute for Health and Care Excellence. Inside the computer it does not matter.

The fact that "title case" means different things in different languages is irrelevant. If it is implemented in the standard (i.e English) way then it does not make the sentence unreadable in those foreign languages, so those foreign johnnys should learn to live with it.

However, that does not necessarily mean that I prefer case-sensivity
over case-insensivity, but it would indeed greatly simplify the
implementation, since case-folding is a rather complex issue.

I have always been taught that there are only two ways of doing a job - either "properly" or "not at all". The exceptions in switching between upper and lowercase should be built into the Unicode engine then the problem is solved properly. Removing case insensitivity completely is not a proper solution as it removes a feature that we humans have been used to for decades. This would be a case where the cure is even worse than the disease.

 For
instance, the German lower-case letter "ß" is traditionally written as
"SS" in upper-case.  So if I would define('STRASSE', $value, true), I
might expect to be a ble to write "Straße".  That wouldn't apply to
"KRESSE", though, which has to be written as "Kresse".  See also
<https://www.w3.org/International/wiki/Case_folding>.

If the single character "ß" represents two "s" characters joined together, then the uppercase equivalent should also be a single character which looks like two "S" characters joined together. If it is not possible to write code which deals with these exceptions, then one alternative would be to remove these exceptions.

--
Tony Marston


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to