> A possible way out (strawman!!!!) would be to say: > - All recipient participants in the experiment MUST agree to ignore case > differences in mailbox names. This has no effect on non-participants, so > we can possibly get consensus for that. > - All code in the experiment MUST use a particular algorithm to generate > the LHS lookup key > (I would suggest toLowerCase(NFC(string) in the C locale) off the top of > my head - but one could also argue for caseFold(NFC(string)) or > NFC(caseFold(string)) - and the people choosing had better know the > difference) I would strongly recommend that if you're going to do this, you do it using the same case-folding and normalization algoritms that are used for IDNs. (You can skip the prep stuff and punycode.) My reasoning here is that if you have support for EAI you're likely to have IDN support libraries lying around. Libraries which may or may not support other normalization and case-folding algorithms. > The case operations referenced are in Unicode 8.0.0 section 5.18 - I > *strongly* recommend actually reading that chapter, and not making the > (invalid) assumption that calling toLower() in some random library will > actually do something compatible with this. Whereas an IDN library will have something you should be able to trust. > I don't think anything less precise has a chance of being interoperable. Agreed. Ned