According to your link, file system drivers look (mostly) following one of two ways: * Return all the names to NFD and, accordingly, convert the names. * Do not carry out conversions.
In both cases, if you create a file in OSX in NFD, reading it on OSX should give you a name in NFD.
OTOH, if your file name comes from Windows -> NFS -> Mac, and you want to do some kind of synchronization, you're out of luck. This is not an easy task, since the main problem is a little philosophical: should the file names be byte or Unicode strings? I believe that Unix has traditionally done the first, and at least on Linux, the NFC UTF-8 names are just a convention.
(It gets worse since IIRC HFS + is used to use Unicode 3.something, so the naive conversion to NFD may not be correct for added / changed characters since the API you are using cannot guarantee a specific version of Unicode.)
tc.
source share