Shachar Shemesh shachar@shemesh.biz writes:
I've spent the past hour downloading 12% of the git repository, so I'm unable to look at current Wine code for at least the next 24 hours :-(.
You can always browse the code at http://source.winehq.org/git/wine.git
From memory, libwine contains mostly tables and stuff, not actual
algorithms. Wouldn't it be better to place the tables at libwine, but the algorithm at uniscribe, if only to follow Window's design of things?
libwine certainly contains algorithms, but Uniscribe is a possibility too, if it provides everything we need.
Also, I suspect it might be necessary, at some point in the extreme distant future, to do some deviation from the Unicode algorithm. It's pretty far away, as we're talking about nuances that are hard to pick if you don't know your stuff, but there are places where Windows can be said to be either implementing an old version of the standard, or implementing its own idea altogether.
That's one more reason for having our own instead of using an external library.
My original plan was to import the fribidi code into a subdirectory of the wine tree, and make the necessary changes there.
I think Maarten's work shows that this is not necessary.
On a related note - I haven't been able to get an answer to that one, not even through experimentation. Does anyone know whether Windows' Unicode is UTF-16 or UCS-2? Whether it's necessary to handle aggregates is crucially important when reordering characters.
Recent Windows versions do support surrogates.