On Aug 26, 2009, at 1:45 PM, Michael Ash wrote:

On Wed, Aug 26, 2009 at 1:21 PM, Ken Thomases<[email protected]> wrote:
I'm well aware of what it means. The question is, which exact operations on
the mutable string proxy does CFStringNormalize perform.  If
CFStringNormalize performs the minimal replace operations to get the result, then it will preserve the attributes closely. It's conceivable, though, that CFStringNormalize uses a side buffer to compute the normalized form and then does one big replace of the whole mutable string's range. Or, anywhere in between. Like, it might replace a series of precomposed characters with their decompositions all with one replace operation. In that case, the
attributes of most of the characters will be lost (replaced with the
attributes of the first character in the replace range).

So, it's clear that the _strings_ will always have a deterministic value as a result of normalization. That's the point of normalization. But the
_attributed strings_ may not.

Fair enough. However, as Douglas pointed out, you aren't guaranteed
consistent results if you have multiple attributes within a single
decomposed character range *anyway*, so you're going to have trouble
regardless. Better to avoid that situation altogether.

My point about this lossiness has nothing to do with multiple attributes within a single grapheme. The attributes for the entire string may get munged.

-Ken

_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to