precis: the nickname profile is not idempotent

Because of the order in which rules are applied for PRECIS profiles,
profiles that use NFKC may not be idempotent. This can lead to
unexpected results when performing comparisons. For example:

'DIAERESIS' (U+00A8) decomposes to 'SPACE' (U+0020) + 'COMBINING
DIAERESIS' (U+0308), but on subsequent applications of the Nickname
profile the Additional Mapping Rule will remove the space.

In future it may be desirable to have a way to tell if a transformer is
idempotent, but for now I have merely noted in the documentation that
some comparisons which one might expect to be true may fail and added a
test.

Change-Id: I4873ecf8ee1e5d21e875c88047b816c6c5150308
Reviewed-on: https://go-review.googlesource.com/40867
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2 files changed