Am Dienstag, 5. Dezember 2006 19:03 schrieb Enrico Forestieri:

> I can only speak for Cygwin. I don't know for Windows in general, but
> I think that it is also dependent on the filesystem (FAT32 or NTFS).

I had the hope that it was better as on linux, but if this is true it seems 
to be even worse :-(

> As regards Cygwin, it does not use wide characters internally for
> filenames/pathnames, nor does it support any locale other than C/POSIX.
> However, this last one is only half-true, as Cygwin works with the
> default codepage when the Windows locale settings are set correctly.
> Locales cannot be programmatically switched from within Cygwin, but
> it can handle the full 8-bit charset just fine.

So that means if we convertz to the encoding of the currently set windows 
locale it will work? That would be doable.

> However, I think that the way LyX deals with locales should be rethought,
> maybe. I recently discovered that the EILSEQ errors I was seeing on
> Solaris were due to my locale settings. If the LC_* variables are set
> to xx_XX.ISO8859-1 then those errors are triggered. They disappear when
> using xx_XX.UTF-8, though. Moreover, towupper and company doesn't seem
> to work with ISO8859-1. For example, this is what I get when running
> the attached test program:
> 
> $ env LC_ALL=it_IT.ISO8859-1 ./test-wctype
> towupper(0xe8) = 0xe8
> toupper(0xe8) = 0xc8
> 
> $ env LC_ALL=it_IT.UTF-8 ./test-wctype
> towupper(0xe8) = 0xc8
> toupper(0xe8) = 0xc8
> 
> However, I don't know if this is a Solaris bug, though, as the test
> program seems to work on Linux in both cases.

towupper should completely ignore the encoding part of the LC_TYPE (or 
LC_ALL) setting. At least I understand it like that, and that is also 
assumed in our usage of towlower/towupper.
Therefore I think this is a solaris bug, but if anybody finds evidence that 
my understanding of towlower/towupper is wrong we need to find a different 
solution indeed.


Georg

Reply via email to