On Sep 22, 2016, at 6:04 AM, John Brownie <john_brow...@sil.org> wrote:
> I find that I am in need of dealing with versions of strings that may be 
> turned into file names, and thus I need to be comparing normalised forms. 
> However, according to 
> https://developer.apple.com/library/content/qa/qa1173/_index.html, "For 
> example, HFS Plus (Mac OS Extended) uses a variant of Normal Form D in which 
> U+2000 through U+2FFF, U+F900 through U+FAFF, and U+2F800 through U+2FAFF are 
> not decomposed (this avoids problems with round trip conversions from old Mac 
> text encodings)."
> Is there a way to get at this variant? [NSString 
> decomposedStringWithCanonicalMapping] returns "A string made by normalizing 
> the string’s contents using the Unicode Normalization Form D." That seems not 
> to give what I need, but I haven't seen a better option. Is there such a 
> method?

Without undermining Alastair's recommendations, you can achieve what you want 
by round-tripping the string through -[NSString fileSystemRepresentation] and 
-[NSFileManager stringWithFileSystemRepresentation:length:].  That handles the 
normalization, but it doesn't do anything about characters that aren't legal in 
file names on a given file system.



Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:

This email sent to arch...@mail-archive.com

Reply via email to