String.prototype.normalize, case folding and sort keys

Nebojša Ćirić cira at google.com
Wed Oct 23 15:19:55 PDT 2013


[+mscherer]


2013/10/24 Nebojša Ćirić <cira at google.com>

> String.prototype.normalize(form) spec is here -
> http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.
> normalize. It offers all 4 forms of normalization.
>
> 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 http://www.unicode.org/faq/casemap_charprop.html#2).
>
> Should we:
> 1. Add those two new forms to the spec of String.prototype.normalize(form)
> method?
> 2. Add a new String.prototype.toFoldCase(form) method?
> 3. Add Intl.Collator.prototype.sortKey(string)->string method?
>
> We could do 1 and 3, or 2 and 3, or just 3.
>
> 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.
>
> 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...
>
> --
> Nebojša Ćirić
>



-- 
Nebojša Ćirić
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131024/47bf3b9a/attachment.html>


More information about the es-discuss mailing list