Dmitry Timoshkov wrote:
"Shachar Shemesh" wine-devel@shemesh.biz wrote:
Hmm. Would separating the BiDi code (which is the reason ICU is linked with GDI) into a separate DLL (they way it is on Windows 2000) help?
We have wine_unicode.dll for that and many things are already separated there, like unicode, case map, collation tables and appropriate algorithms.
After some looking into it, I think this is the wrong place to place BiDi. At the moment, Windows does BiDi (depending on version) at either function level, LPK.DLL or uniscribe. In other words, Windows already have specific locations where BiDi is performed.
wine_unicode, on the other hand, is just a helper used internally by wine. The thing we REALLY should do in the long run is implement uniscribe. That's where BiDi really must be.
Eventually we have to implement bi-di support there without relying on any external libraries.
BiDi is a $&!(@*#)$ complicated algorithm (excuse my language). Why on earth should we insist on writing it ourselves?
Shachar