Dmitry Timoshkov wrote:
"Shachar Shemesh" wine-devel@shemesh.biz wrote:
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?
We don't really have to write it from scratch, porting an existing code would suffice, but a difference between unicode char width (16 vs. 32 bit) makes it impossible to use any system unicode APIs.
Lost you there. We are currently using ICU precisely because it does have UTF-16 support.
Another reason to have an internal implementation is to not depend on possible differences between implementations, differences in collation tables is an obvious example here.
Lost you there again. There is no dependence of BiDi on collation, or we would use ICU for a lot more than only BiDi. ICU is an entire Unicode solution, and does have all of those things.
Seriously, I don't see anyone here volunteering to maintain the BiDi code, and I don't have the resources to chase Unicode around. I really think using an external library is the right thing to do.
Shachar