<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 11/26/2024 8:59 AM, Peter Constable
via Unicode wrote:<br>
</div>
<blockquote type="cite"
cite="mid:PH0PR06MB7174F9407B9480C1C6C2ABCD862F2@PH0PR06MB7174.namprd06.prod.outlook.com">
<pre wrap="" class="moz-quote-pre">The case pair stability requirement applies to default data. Conforming applications can still tailor case mapping behaviour use language-specific overrides. However, the default case pairs as defined in the SpecialCasing.txt and UnicodeData.txt files must remain stable so as not to break existing implementations of file systems or other identifier systems that depend on the default case pairs.
Peter</pre>
</blockquote>
<p>The case pair stability is indeed important, if not essential for
identifiers. However, in the past, we may have been a bit cavalier
on how an identifier-safe casing (default) intersects with text
processing in general.</p>
<p>I think there's a case to be maded for someone writing a short
proposal to clarify whatever language we are using and to make
clear, among other things, that **text processing** should be
using the appropriate locale-based casing (from CLDR).<br>
</p>
<p>We should probably go further and explicitly reposition the
"default" casing as "identifier-safe" because that is what
motivates the stability requirements.</p>
<p>There's one more wrinkle. Because the sharp S is not natively
used outside German, it would be reasonable to have a
multicultural case mapping that treats this, and all cases where
local usages do not conflict, according to the evolving rules of
of the local culture(s) that use the character, so that there's an
optional level between identtifier stable and fully local case
mappings. <br>
</p>
<p>To borrow a bit of terminology from some other implementation we
need these levels:</p>
<ul>
<li>InvariantCulture (stable default/identifier-safe)</li>
<li>CommonCulture (current culture, common defaul texcept for
conflicting use)</li>
<li>LocalCulture (current culture... one per locale ID)</li>
<li>(Throw in regional if you have to, somewhere).</li>
</ul>
<p>The ideal case would be one where out of the box text processing
operations can default to something that performs according to the
current (evolving) needs for as many cultures as possible (except
where they have contradictory treatment of the same character).</p>
<p>And where the fully invariant case is positioned to make clear
where it's applicable (identifier) and where its use is therefore
mandatory.</p>
<p>A./</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:PH0PR06MB7174F9407B9480C1C6C2ABCD862F2@PH0PR06MB7174.namprd06.prod.outlook.com">
<pre wrap="" class="moz-quote-pre">
-----Original Message-----
From: Unicode <a class="moz-txt-link-rfc2396E" href="mailto:unicode-bounces@corp.unicode.org"><unicode-bounces@corp.unicode.org></a> On Behalf Of Daniel Buncic via Unicode
Sent: November 26, 2024 2:44 AM
To: <a class="moz-txt-link-abbreviated" href="mailto:unicode@corp.unicode.org">unicode@corp.unicode.org</a>
Subject: Re: German sharp S uppercase mapping
<snip>
As to the case pair stability guarantee, ... if case folding changes in that language, then Unicode has to adjust. It would be poor service to the public to stick to a case mapping that is no longer valid just because Unicode came into existence at a time when it was still valid. ...
<snip>
</pre>
</blockquote>
<p><br>
</p>
</body>
</html>