This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: Filenames with Win32 special characters (or: Interix filename compatibility)
On Mar 12 15:34, Corinna Vinschen wrote:
> On Mar 11 19:27, Corinna Vinschen wrote:
> > On Mar 11 09:55, Brian Dessent wrote:
> > > But going through the entire list of combining characters, I
> > > did find one with an interesting property: U+0331: COMBINING MACRON
> > > BELOW. When displayed in Explorer, it looks like the normal letter with
> > > a small underline. But the neat property of this character is that when
> > > converted from Unicode to cp1252 it converts to the underscore, meaning
> > > stupid ANSI programs can still edit/open/save these files. So we'd
> > > encode uppercase ascii as simply 'A' -> "A\x0331", 'B' -> "B\x0331" and
> > > so on. It doesn't have the property of the same length, but they still
> > > remain intelligible in dumb apps.
> > >
> > > (BTW, for a real hoot try creating a filename containing U+034F
> > > COMBINING GRAPHEME JOINER.)
> >
> > This approach sounds quite interesting!
>
> Did I miss something? I created a file with a special filename like this:
>
> #include <windows.h>
>
> int
> main ()
> {
> WCHAR fname[] = { L'C', L'F', L'W', 0x0331,
> L'C', L'F', L'W', 0x034f, L'\0' };
> CreateFileW (fname, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL);
> return 0;
> }
>
> I don't see that this filename is printed correctly according to the
> meaning of these characters in Explorer on Windows XP.
> Rather, it looks like all filenames with strange chars:
>
> CFW#CFW#
>
> The hash character acting as this box char printed for unknown character
> values. If I switch the font, I can get a trailing underscore for the
> 0x0331 character. I didn't find a font which shows this correctly as
> half width underscore under the preceding character. No font printed
> the 0x034f character other than as a box.
More crap. I tried all the different space characters from 0x2000 up
to 0x200b, the latter one promisingly called "hair space". All of them
are printed as box character in Explorer. Sigh.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat