http://bugs.winehq.org/show_bug.cgi?id=7150
--- Comment #18 from Shachar Shemesh shachar@shemesh.biz 2009-10-26 17:27:16 --- (In reply to comment #17)
The main problem with this order of doing things is that shaping may change the
width of the character, which affects the line breaking algorithm.
yes but it's already broken!
That's because I got it wrong in the comment. The correct order is: 1. Calculate levels 2. Shaping 3. Line break 4. Reorder
http://www.lingnu.com/en/programming/57-bidi-aware-programming-introduction.... got it right.
if you like can I make a version to be called on un-ordered text, but you should grant me that your ordering function can handle shaped chars like U+FECC ARABIC LETTER AIN MEDIAL FORM
What is special about that particular one?
so if this is fine with you, please tell me and I'll send you a version of BIDI_Shaper that takes unordered argument and do you want it to work in line (like current one or should it work on a new copy or should it take some buffer to work on ...etc) just tell me what do you want.
I "want" wine to implement Uniscribe ( http://msdn.microsoft.com/en-us/library/dd374091(VS.85).aspx ), and implement BiDi through it. As I don't call the shots on any of this. I just give my input.
so please rename BIDI_Shaper into BIDI_Post_Ordering_Shaper and push it. and we can add BIDI_Shaper which works before ordering later after you make a room for it to be called. what do you think ?
Sorry. If I had time to do that, I'd work on my itches in Wine.
Shachar