We've been relaxing the rules lately; support/ uses
QtCore for a number of things and I think it would
be much saner at this point to use QFileInfo, QProcess
and QNetwork to replace our hand-made local code.
If somebody steps up to encapsulate this Qt API
in our API (forkedControllers, Socket and FileName)
he will have at least my full support (and help) and
probably not much resistance from others.

But it needs a _lot_ of change. All file open/create
must be patched. As a result, the work needs the involvement
of the whole lyx development community. It's kind of
impossible thing for me. And I don't think it's worth
to do so. Certainly, if this problem lies not only
on Windows but also on other platforms, it may worth
to have a though clean of the code.

And I just tested that Qt converts the filenames between
local encoding and UTF-32 correctly. So the evil is solely
from M$'s disgusting stdc++ library. I really hate this --
even though Win32 API supports local encoding very well,
M$'s clib breaks it completely......

I'm trying to hack the disgusting M$ stdc++ library
to allow proper local 8-bit filename support. In that
way we do not need to patch anything other than M$ library.
And one programer is enough. If this problem affects
only Windows, I believe it's good enough.

Now the remaining problem is to test whether other platforms
and compilers/stdc++ libararies have the same problem.
I do not have access to such platforms so I can't do the test.
Could anyone help to test it?

Hangzai

Reply via email to