<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div name="messageBodySection" style="font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, sans-serif;">On 17 Jan 2017, 23:58 +0100, Richard A. O'Keefe <ok@cs.otago.ac.nz>, wrote:<br /></div>
<div name="messageReplySection" style="font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, sans-serif;"><br />
<blockquote type="cite" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #1abc9c;"><br />
I didn't use the word "additional".<br />
The word *additional* is your word, and is entirely<br />
foreign to what I was talking about.<br />
<br />
Those *ARE* libraries that they are using.<br />
<br /></blockquote>
<br />
<div>You are completely right, I'm sorry. I haven't considered the standard library, a library. This was obviously wrong of me.</div>
<div><br /></div>
<div>When it comes to unicode and locale-specific casing, the unicode standard itself, does not provide them. It provides a language agnostic casing rules with an option for extensions to handle specific language needs.</div>
<div>Elixir implements those casing rules directly from the unicode standard (using the provided files). It handles all of the casing conversions form UnicodeData.txt and SpecialCasing.txt. The whole implementation for upcase, downcase and titlecase is about 100 LoC <a href="https://github.com/elixir-lang/elixir/blob/master/lib/elixir/unicode/unicode.ex#L253-L358">https://github.com/elixir-lang/elixir/blob/master/lib/elixir/unicode/unicode.ex#L253-L358</a></div>
<div><br /></div>
<div>Of course it doesn't handle all the corner cases and will not cut it if you need locale-specific rules, but it's compliant with the unicode standard and in practice there are few cases, where you'd need looking beyond it.</div>
<div><br /></div>
<div>MichaƂ.</div>
</div>
</body>
</html>