Sorry about this, please ignore the last UTF8/UTF16 patch, this one
has a slight change which makes it better (but got missed in the
original email). The addition is to consider the high word of the
surrogate pairs as non-spacing. That is a very convenient way for
the rest of the code which does not understand UTF-16 to look at it, as
well as having a nice side effect of causing the
rangeOfComposedCharacterSequenceAtIndex: method to functionas it does
on
OSX - i.e. give the range of the surrogate pair when applied to either
of
them individually.