<div dir="ltr">[+mscherer]</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/24 Nebojša Ćirić <span dir="ltr"><<a href="mailto:cira@google.com" target="_blank">cira@google.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">String.prototype.normalize(form) spec is here - <a href="http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.normalize" style="font-family:arial,sans-serif;font-size:13px" target="_blank"><font face="arial, sans-serif">http://people.mozilla.org/~</font><font face="arial, sans-serif">jorendorff/es6-draft.html#sec-</font><font face="arial, sans-serif">string.prototype.</font><span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,204);color:rgb(34,34,34)">normalize</span></a>. It offers all 4 forms of normalization.<div>

<br></div><div>We did mention additional CF and CFNKFC forms for case folding, but they were not added to the spec. They case fold string in a locale independant way (see <a href="http://www.unicode.org/faq/casemap_charprop.html#2" target="_blank">http://www.unicode.org/faq/casemap_charprop.html#2</a>).</div>

<div><br></div><div>Should we:</div><div>1. Add those two new forms to the spec of String.prototype.normalize(form) method?</div><div>2. Add a new String.prototype.toFoldCase(form) method?</div><div>3. Add Intl.Collator.prototype.sortKey(string)->string method?</div>

<div><div><br></div><div>We could do 1 and 3, or 2 and 3, or just 3.</div><div><br></div><div>Use case would be: user inputs M words, and we would like to see if some of them match N predefined words (say to trigger an action). With current Intl.Collator.prototype.compare() we need MxN comparisons. With toFoldCase/sortKey we would need only O(M) queries to the hash with N keys.</div>

<div><br></div><div>Mihai and I lean towards 3. because it gives more control to the user on what you want to check. For example, it doesn't make sense to ignoreCase for locales that don't have case distinction. Or user may want to preserve accents in the comparison...</div>
<span class="HOEnZb"><font color="#888888">
<div><br></div>-- <br>Nebojša Ćirić
</font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Nebojša Ćirić
</div>