Re: Bidi is a mess

2007-06-01 Thread Martin Vermeer
On Fri, Jun 01, 2007 at 03:42:34AM -0700, Mostafa Vahedi wrote: I will do the documentation job if nobody likes it :-) I saw the code and it is not that hard to understand Mostafa Great! - Martin Martin Vermeer [EMAIL PROTECTED] wrote: My theory is that Dekel (who I think

Re: Bidi is a mess

2007-06-01 Thread Abdelrazak Younes
Jean-Marc Lasgouttes wrote: Abdelrazak == Abdelrazak Younes [EMAIL PROTECTED] writes: Abdelrazak Andre Poenitz wrote: The main problem is that new features (aka multiple views) crop up faster than the core can provided the necessary infrastructure, leading to a mess of 'fixes' just to make it

Re: Bidi is a mess

2007-06-01 Thread Martin Vermeer
On Thu, May 31, 2007 at 08:22:02PM +0300, Dov Feldstern wrote: Andre Poenitz wrote: On Thu, May 31, 2007 at 11:38:04AM +0200, Stefan Schimanski wrote: What I want to say with this example: the bidi code is in a very bad state. We are lucky that it is more or less working. I was about to

Re: Bidi is a mess

2007-06-01 Thread Jean-Marc Lasgouttes
Abdelrazak == Abdelrazak Younes [EMAIL PROTECTED] writes: Abdelrazak Andre Poenitz wrote: The main problem is that new features (aka multiple views) crop up faster than the core can provided the necessary infrastructure, leading to a mess of 'fixes' just to make it work. The the feature's

Re: Bidi is a mess

2007-06-01 Thread christian . ridderstrom
On Fri, 1 Jun 2007, Mostafa Vahedi wrote: I will do the documentation job if nobody likes it :-) I saw the code and it is not that hard to understand Pretty impressing considering the statements from others :-) It's Doxygen that's used for documentation inside the source. /Christian --

Re: Bidi is a mess

2007-06-01 Thread Dov Feldstern
Mostafa Vahedi wrote: I will do the documentation job if nobody likes it :-) I saw the code and it is not that hard to understand That would be great, Mostafa! Mostafa Martin Vermeer [EMAIL PROTECTED] wrote: My theory is that Dekel (who I think initially wrote this) knew precisely what

Re: Bidi is a mess

2007-06-01 Thread Dov Feldstern
Dov Feldstern wrote: Mostafa Vahedi wrote: I will do the documentation job if nobody likes it :-) I saw the code and it is not that hard to understand That would be great, Mostafa! Except, that that may encourage developers to go poking around in there; and if it really works as well as I

Re: Bidi is a mess

2007-06-01 Thread Martin Vermeer
On Fri, Jun 01, 2007 at 02:43:26PM +0300, Dov Feldstern wrote: Dov Feldstern wrote: Mostafa Vahedi wrote: I will do the documentation job if nobody likes it :-) I saw the code and it is not that hard to understand That would be great, Mostafa! Except, that that may encourage developers

Re: Bidi is a mess

2007-06-01 Thread Mostafa Vahedi
I will do the documentation job if nobody likes it :-) I saw the code and it is not that hard to understand Mostafa Martin Vermeer [EMAIL PROTECTED] wrote: My theory is that Dekel (who I think initially wrote this) knew precisely what he was doing, but unfortunately assumed that everyone

Re: Bidi is a mess

2007-06-01 Thread Mostafa Vahedi
I know many may disagree with this suggestion but suggestion does not hurt. 1. Use the well-maintained library FriBiDi (http://fribidi.freedesktop.org/wiki/) for our BiDi algorithm (in my opinion Bidi.cpp has [somehow] reinvented FriBiDi library) 2. For the problem of PUNCTUATION + Mixed RTL

Re: Bidi is a mess

2007-06-01 Thread Stefan Schimanski
Am 01.06.2007 um 15:12 schrieb Mostafa Vahedi: I know many may disagree with this suggestion but suggestion does not hurt. 1. Use the well-maintained library FriBiDi (http:// fribidi.freedesktop.org/wiki/) for our BiDi algorithm (in my opinion Bidi.cpp has [somehow] reinvented FriBiDi

Re: Bidi is a mess

2007-06-01 Thread Dov Feldstern
Mostafa Vahedi wrote: I know many may disagree with this suggestion but suggestion does not hurt. 1. Use the well-maintained library FriBiDi (http://fribidi.freedesktop.org/wiki/) for our BiDi algorithm (in my opinion Bidi.cpp has [somehow] reinvented FriBiDi library) I think you're right

Re: Bidi is a mess

2007-06-01 Thread José Matos
On Friday 01 June 2007 14:37:38 Dov Feldstern wrote: Stefan is also correct --- I'm not really sure how much of a difference this will make. The problems we have are not with the implementation of the bidi algorithm itself, but with how the rest of the code interacts with this. So using

Re: Bidi is a mess

2007-06-01 Thread Andre Poenitz
On Fri, Jun 01, 2007 at 01:30:16PM +0300, Martin Vermeer wrote: My theory is that Dekel (who I think initially wrote this) knew precisely [...] Probably, otherwise it wouldn't work as well as it does ;-} what he was doing, but unfortunately assumed that everyone Andre'

Re: Bidi is a mess

2007-06-01 Thread Martin Vermeer
On Fri, Jun 01, 2007 at 03:42:34AM -0700, Mostafa Vahedi wrote: > > I will do the documentation job if nobody likes it :-) > I saw the code and it is not that hard to understand > > Mostafa Great! - Martin > Martin Vermeer <[EMAIL PROTECTED]> wrote: > > > My theory is that Dekel (who I

Re: Bidi is a mess

2007-06-01 Thread Abdelrazak Younes
Jean-Marc Lasgouttes wrote: "Abdelrazak" == Abdelrazak Younes <[EMAIL PROTECTED]> writes: Abdelrazak> Andre Poenitz wrote: The main problem is that new features (aka "multiple views") crop up faster than the core can provided the necessary infrastructure, leading to a mess of 'fixes' just to

Re: Bidi is a mess

2007-06-01 Thread Martin Vermeer
On Thu, May 31, 2007 at 08:22:02PM +0300, Dov Feldstern wrote: > Andre Poenitz wrote: > >On Thu, May 31, 2007 at 11:38:04AM +0200, Stefan Schimanski > >wrote: > >>What I want to say with this example: the bidi code is in a > >>very bad state. We are lucky that it is more or less working. > > >

Re: Bidi is a mess

2007-06-01 Thread Jean-Marc Lasgouttes
> "Abdelrazak" == Abdelrazak Younes <[EMAIL PROTECTED]> writes: Abdelrazak> Andre Poenitz wrote: >> The main problem is that new features (aka "multiple views") crop >> up faster than the core can provided the necessary infrastructure, >> leading to a mess of 'fixes' just to make it work. The

Re: Bidi is a mess

2007-06-01 Thread christian . ridderstrom
On Fri, 1 Jun 2007, Mostafa Vahedi wrote: I will do the documentation job if nobody likes it :-) I saw the code and it is not that hard to understand Pretty impressing considering the statements from others :-) It's Doxygen that's used for documentation inside the source. /Christian --

Re: Bidi is a mess

2007-06-01 Thread Dov Feldstern
Mostafa Vahedi wrote: I will do the documentation job if nobody likes it :-) I saw the code and it is not that hard to understand That would be great, Mostafa! Mostafa Martin Vermeer <[EMAIL PROTECTED]> wrote: My theory is that Dekel (who I think initially wrote this) knew precisely what

Re: Bidi is a mess

2007-06-01 Thread Dov Feldstern
Dov Feldstern wrote: Mostafa Vahedi wrote: I will do the documentation job if nobody likes it :-) I saw the code and it is not that hard to understand That would be great, Mostafa! Except, that that may encourage developers to go poking around in there; and if it really works as well as I

Re: Bidi is a mess

2007-06-01 Thread Martin Vermeer
On Fri, Jun 01, 2007 at 02:43:26PM +0300, Dov Feldstern wrote: > Dov Feldstern wrote: > >Mostafa Vahedi wrote: > >>I will do the documentation job if nobody likes it :-) > >>I saw the code and it is not that hard to understand > > > >That would be great, Mostafa! > > Except, that that may

Re: Bidi is a mess

2007-06-01 Thread Mostafa Vahedi
I will do the documentation job if nobody likes it :-) I saw the code and it is not that hard to understand Mostafa Martin Vermeer <[EMAIL PROTECTED]> wrote: > My theory is that Dekel (who I think initially > wrote this) knew precisely what he was doing, > but unfortunately assumed that

Re: Bidi is a mess

2007-06-01 Thread Mostafa Vahedi
I know many may disagree with this suggestion but suggestion does not hurt. 1. Use the well-maintained library FriBiDi (http://fribidi.freedesktop.org/wiki/) for our BiDi algorithm (in my opinion Bidi.cpp has [somehow] reinvented FriBiDi library) 2. For the problem of "PUNCTUATION + Mixed RTL

Re: Bidi is a mess

2007-06-01 Thread Stefan Schimanski
Am 01.06.2007 um 15:12 schrieb Mostafa Vahedi: I know many may disagree with this suggestion but suggestion does not hurt. 1. Use the well-maintained library FriBiDi (http:// fribidi.freedesktop.org/wiki/) for our BiDi algorithm (in my opinion Bidi.cpp has [somehow] reinvented FriBiDi

Re: Bidi is a mess

2007-06-01 Thread Dov Feldstern
Mostafa Vahedi wrote: I know many may disagree with this suggestion but suggestion does not hurt. 1. Use the well-maintained library FriBiDi (http://fribidi.freedesktop.org/wiki/) for our BiDi algorithm (in my opinion Bidi.cpp has [somehow] reinvented FriBiDi library) I think you're right

Re: Bidi is a mess

2007-06-01 Thread José Matos
On Friday 01 June 2007 14:37:38 Dov Feldstern wrote: > Stefan is also correct --- I'm not really sure how much of a difference > this will make. The problems we have are not with the implementation of > the bidi algorithm itself, but with how the rest of the code interacts > with this. So using

Re: Bidi is a mess

2007-06-01 Thread Andre Poenitz
On Fri, Jun 01, 2007 at 01:30:16PM +0300, Martin Vermeer wrote: > My theory is that Dekel (who I think initially wrote this) knew > precisely [...] Probably, otherwise it wouldn't work as well as it does ;-} what he was doing, but unfortunately assumed that everyone Andre'

Bidi is a mess

2007-05-31 Thread Stefan Schimanski
Hi! Can anybody please explain me Text::bidi? It keeps a cache of RTL- LTR levels for a row. But this variable is in the Text class, in the public section. It does not store for which paragraph or row it has values. It is accessed from all over the LyX code. At some few places it is

Re: Bidi is a mess

2007-05-31 Thread Abdelrazak Younes
Stefan Schimanski wrote: Hi! Can anybody please explain me Text::bidi? It keeps a cache of RTL-LTR levels for a row. But this variable is in the Text class, in the public section. It does not store for which paragraph or row it has values. It is accessed from all over the LyX code. At some

Re: Bidi is a mess

2007-05-31 Thread Stefan Schimanski
Am 31.05.2007 um 11:44 schrieb Abdelrazak Younes: Stefan Schimanski wrote: Hi! Can anybody please explain me Text::bidi? It keeps a cache of RTL- LTR levels for a row. But this variable is in the Text class, in the public section. It does not store for which paragraph or row it has

Re: Bidi is a mess

2007-05-31 Thread Andre Poenitz
On Thu, May 31, 2007 at 11:38:04AM +0200, Stefan Schimanski wrote: Can anybody please explain me Text::bidi? It keeps a cache of RTL- LTR levels for a row. But this variable is in the Text class, in the public section. It does not store for which paragraph or row it has values. It is

Re: Bidi is a mess

2007-05-31 Thread Dov Feldstern
Stefan Schimanski wrote: Hi! Can anybody please explain me Text::bidi? It keeps a cache of RTL-LTR levels for a row. But this variable is in the Text class, in the public section. It does not store for which paragraph or row it has values. It is accessed from all over the LyX code. At some

Re: Bidi is a mess

2007-05-31 Thread Andre Poenitz
On Thu, May 31, 2007 at 11:44:06AM +0200, Abdelrazak Younes wrote: Stefan Schimanski wrote: Hi! Can anybody please explain me Text::bidi? It keeps a cache of RTL-LTR levels for a row. But this variable is in the Text class, in the public section. It does not store for which paragraph or

Re: Bidi is a mess

2007-05-31 Thread Andre Poenitz
On Thu, May 31, 2007 at 11:55:17AM +0200, Stefan Schimanski wrote: Feel free to unleash yourself and clean up this mess in the 1.6 frame ;-) That said... are there any tools around supporting refactoring of C++ code like Eclipse can do it for Java? Partially. The problem is that C++

Re: Bidi is a mess

2007-05-31 Thread Stefan Schimanski
This is not totally fair. The fact is, it's implementing a well- known, standard, function. To understand it, you probably have to read up on the Bidi algorithm (I've never done it thoroughly, I don't know this code, either, and have been trying to avoid it as much as possible, partly for

Re: Bidi is a mess

2007-05-31 Thread Abdelrazak Younes
Andre Poenitz wrote: The main problem is that new features (aka multiple views) crop up faster than the core can provided the necessary infrastructure, leading to a mess of 'fixes' just to make it work. The the feature's developer leaves, nobody understands the code anymore and why a particular

Re: Bidi is a mess

2007-05-31 Thread Dov Feldstern
Stefan Schimanski wrote: But, the fact is that it works, I've yet to see a problem which is due to the heart of the bidi algorithm. (Do you think you have found one, now?) Yes, more or less. We have two bidi algorithms at the moment. One is inside the Bidi class, the other one in the font

Re: Bidi is a mess

2007-05-31 Thread Dov Feldstern
Andre Poenitz wrote: On Thu, May 31, 2007 at 11:38:04AM +0200, Stefan Schimanski wrote: What I want to say with this example: the bidi code is in a very bad state. We are lucky that it is more or less working. I was about to rip it off in the updateInsetsInInsets times as nobody understood

Re: Bidi is a mess

2007-05-31 Thread Andre Poenitz
On Thu, May 31, 2007 at 08:22:02PM +0300, Dov Feldstern wrote: Andre Poenitz wrote: On Thu, May 31, 2007 at 11:38:04AM +0200, Stefan Schimanski wrote: What I want to say with this example: the bidi code is in a very bad state. We are lucky that it is more or less working. I was about to

Re: Bidi is a mess

2007-05-31 Thread Dov Feldstern
Andre Poenitz wrote: On Thu, May 31, 2007 at 08:22:02PM +0300, Dov Feldstern wrote: Andre Poenitz wrote: On Thu, May 31, 2007 at 11:38:04AM +0200, Stefan Schimanski wrote: What I want to say with this example: the bidi code is in a very bad state. We are lucky that it is more or less

Re: Bidi is a mess

2007-05-31 Thread Stefan Schimanski
Am 31.05.2007 um 11:44 schrieb Abdelrazak Younes: Stefan Schimanski wrote: Hi! Can anybody please explain me Text::bidi? It keeps a cache of RTL<- >LTR levels for a row. But this variable is in the Text class, in the public section. It does not store for which paragraph or row it has

Re: Bidi is a mess

2007-05-31 Thread Andre Poenitz
On Thu, May 31, 2007 at 11:38:04AM +0200, Stefan Schimanski wrote: > Can anybody please explain me Text::bidi? It keeps a cache of RTL<- > >LTR levels for a row. But this variable is in the Text class, in > the public section. It does not store for which paragraph or row it > has values. It

Re: Bidi is a mess

2007-05-31 Thread Dov Feldstern
Stefan Schimanski wrote: Hi! Can anybody please explain me Text::bidi? It keeps a cache of RTL<->LTR levels for a row. But this variable is in the Text class, in the public section. It does not store for which paragraph or row it has values. It is accessed from all over the LyX code. At some

Re: Bidi is a mess

2007-05-31 Thread Andre Poenitz
On Thu, May 31, 2007 at 11:44:06AM +0200, Abdelrazak Younes wrote: > Stefan Schimanski wrote: > >Hi! > > > >Can anybody please explain me Text::bidi? It keeps a cache of RTL<->LTR > >levels for a row. But this variable is in the Text class, in the public > >section. It does not store for which

Re: Bidi is a mess

2007-05-31 Thread Andre Poenitz
On Thu, May 31, 2007 at 11:55:17AM +0200, Stefan Schimanski wrote: > >Feel free to unleash yourself and clean up this mess in the 1.6 > >frame ;-) > > That said... are there any tools around supporting refactoring of C++ > code like Eclipse can do it for Java? Partially. The problem is that

Re: Bidi is a mess

2007-05-31 Thread Stefan Schimanski
This is not totally fair. The fact is, it's implementing a well- known, standard, function. To understand it, you probably have to read up on the Bidi algorithm (I've never done it thoroughly, I don't know this code, either, and have been trying to avoid it as much as possible, partly for

Re: Bidi is a mess

2007-05-31 Thread Abdelrazak Younes
Andre Poenitz wrote: The main problem is that new features (aka "multiple views") crop up faster than the core can provided the necessary infrastructure, leading to a mess of 'fixes' just to make it work. The the feature's developer leaves, nobody understands the code anymore and why a

Re: Bidi is a mess

2007-05-31 Thread Dov Feldstern
Stefan Schimanski wrote: But, the fact is that it works, I've yet to see a problem which is due to the heart of the bidi algorithm. (Do you think you have found one, now?) Yes, more or less. We have two bidi algorithms at the moment. One is inside the Bidi class, the other one in the font

Re: Bidi is a mess

2007-05-31 Thread Dov Feldstern
Andre Poenitz wrote: On Thu, May 31, 2007 at 11:38:04AM +0200, Stefan Schimanski wrote: What I want to say with this example: the bidi code is in a very bad state. We are lucky that it is more or less working. I was about to rip it off in the updateInsetsInInsets times as nobody understood

Re: Bidi is a mess

2007-05-31 Thread Andre Poenitz
On Thu, May 31, 2007 at 08:22:02PM +0300, Dov Feldstern wrote: > Andre Poenitz wrote: > >On Thu, May 31, 2007 at 11:38:04AM +0200, Stefan Schimanski wrote: > >>What I want to say with this example: the bidi code is in a very bad > >>state. We are lucky that it is more or less working. > > > >I

Re: Bidi is a mess

2007-05-31 Thread Dov Feldstern
Andre Poenitz wrote: On Thu, May 31, 2007 at 08:22:02PM +0300, Dov Feldstern wrote: Andre Poenitz wrote: On Thu, May 31, 2007 at 11:38:04AM +0200, Stefan Schimanski wrote: What I want to say with this example: the bidi code is in a very bad state. We are lucky that it is more or less

Bidi is a mess

2007-05-31 Thread Stefan Schimanski
Hi! Can anybody please explain me Text::bidi? It keeps a cache of RTL<- >LTR levels for a row. But this variable is in the Text class, in the public section. It does not store for which paragraph or row it has values. It is accessed from all over the LyX code. At some few places it is

Re: Bidi is a mess

2007-05-31 Thread Abdelrazak Younes
Stefan Schimanski wrote: Hi! Can anybody please explain me Text::bidi? It keeps a cache of RTL<->LTR levels for a row. But this variable is in the Text class, in the public section. It does not store for which paragraph or row it has values. It is accessed from all over the LyX code. At some