Originally Posted By: wfaulk
I'm sure you're more knowledgeable about this than I am, and I'm sure I'm showing my ignorance, but isn't it possible to support both at the same time? I was under the impression that, for example, c-cedilla was one character and "c" plus a composing cedilla was two characters, and that the two constructs are completely disjoint.

The two constructs are different, but semantically equivalent. The MacOS people adopted the attitude that having both forms coexisting was a recipe for confusion, and all the MacOS file APIs normalise to NFD before writing to disk. An HFS+ driver for Windows that allows NFC filenames that are not NFD onto the disk, is creating broken filesystems, analogously to (say) a FAT32 driver for Linux that allowed both upper- and lower-case versions of the same name onto the disk.

Quote:
I guess my question can be summarized as "is a string containing both c-cedilla and a "c" plus composing cedilla couplet invalid?". That is, it seems to me that "<U+00E7><U+0063><U+0327>" should be valid and be rendered as "çç".

It's a perfectly valid Unicode string, but it's not a valid on-disk HFS+ filename.

Peter