""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