Summer of code and bidi

2008-03-19 Thread Maarten Lankhorst
Hi Shachar,

I've removed the bi-directional entry from summer of code. I don't
think it is a good project because it involves a lot of changes in
pretty much all wine user controls. The only way to do this would be
by using the pango library to do the laying out of text, but I'm not
even sure whether that is a good summer of code idea, since it would
need someone already very experienced with the plumbing of wine.

Maarten.




Re: Summer of code and bidi

2008-03-19 Thread Shachar Shemesh
Maarten Lankhorst wrote:

 Hi Shachar,

 I've removed the bi-directional entry from summer of code. I don't
 think it is a good project because it involves a lot of changes in
 pretty much all wine user controls.
Actually, I don't think any touching of the actual user controls is 
involved at all. I think the first bullet (which can be all we want for 
this year) only really involves the ExtTextOut function, as well as the 
Uniscribe functions. No user controls are touched at all.
  The only way to do this would be
 by using the pango library to do the laying out of text,
I was about to say that the code is practically already there, but I 
really think you should know that, being how it was you who put it there 
:-). I really think that if we came this far, we had better split the 
Unicode algorithm into the components it requires and put it into 
Uniscribe. I don't think we need any reliance on external libraries 
(pango, fribidi, or any other) for that.
  but I'm not
 even sure whether that is a good summer of code idea, since it would
 need someone already very experienced with the plumbing of wine.
   
It would require someone to learn the BiDi algorithm and the Uniscribe 
interface, but the reason I offered to mentor it was precisely so that 
the student not have to follow the entire Wine structure. I really don't 
believe this task is heavier than some of the Direct3D stuff on that page.
 Maarten.
   
Just MHO

Shachar




Re: Summer of code and bidi

2008-03-19 Thread Maarten Lankhorst
Hello,

2008/3/19, Shachar Shemesh [EMAIL PROTECTED]:
 Maarten Lankhorst wrote:

   Hi Shachar,
  
   I've removed the bi-directional entry from summer of code. I don't
   think it is a good project because it involves a lot of changes in
   pretty much all wine user controls.

 Actually, I don't think any touching of the actual user controls is
  involved at all. I think the first bullet (which can be all we want for
  this year) only really involves the ExtTextOut function, as well as the
  Uniscribe functions. No user controls are touched at all.
I already did this work, exttextout relies on the reference bidi
implementation now. Took about 3 days to adapt the reference
implementation to wine. (dlls/gdi32/bidi.c)

   The only way to do this would be
   by using the pango library to do the laying out of text,

 I was about to say that the code is practically already there, but I
  really think you should know that, being how it was you who put it there
  :-). I really think that if we came this far, we had better split the
  Unicode algorithm into the components it requires and put it into
  Uniscribe. I don't think we need any reliance on external libraries
  (pango, fribidi, or any other) for that.
There are all kinds of rules that tell how it work, a real rendering
engine is complicated to write, and since there are already a few
working, tried and tested engines out there we don't want to write our
own.

   but I'm not
   even sure whether that is a good summer of code idea, since it would
   need someone already very experienced with the plumbing of wine.
  

 It would require someone to learn the BiDi algorithm and the Uniscribe
  interface, but the reason I offered to mentor it was precisely so that
  the student not have to follow the entire Wine structure. I really don't
  believe this task is heavier than some of the Direct3D stuff on that page.
As I said, bidi is already implemented. A real uniscribe algorythm is
something we want to depend on as external library, because a proper
engine would be huge and impossible to maintain/debug.

-Maarten.