Behdad Esfahbod wrote:
Your are quite right, Fribidi's main algorithms are not going to change anymore, the things I'm playing with these days are all interface and other side stuff (BTW if you want arabic joining too, things become a little different).
I will, eventually. Then again, I don't think that integrating a first version that isn't perfect in that respect, and then doing the port again when you guys are done, is such a bad idea.
The fribidi unicode tables (for just BMP = 16bit) takes something between 2k and 8k (space vs. speed configurable), so don't worry about that too.
Problem is that WINE already has its own unicode tables, and they do not hold enough room for the the 3.0 bidi algo (havn't checked what FriBidi is doing yet). I think it will be better for WINE (but not for my free time) to merge the information (probably very similar already).
As for compiling Fribidi with UTF-16 - from what I understood from what you said before, such a thing may cause reordering problems if Fribidi decides, for whatever reason, that a surrogate character needs to be right to left. I am not 100% familiar with the bidi algorythm yet, but won't marking all surrogate forms (both slices) as strong left to right solve this problem?
If not, we can always put in special handling that reorders surrogates as a pair.
Shachar