Hi!

It's nice to see some new people getting involved with the Bidi development!

Mostafa Vahedi wrote:
a) Currently the characters are painted in two ways in the current source:
  1) the source itself handles the shaping
  2) Qt handles the shaping
It seems that it is possible to let Qt do a part (not all) of the first item 
too. I am not sure yet! I will investigate the suggestion more.

Abdel has been claiming all along that we should let Qt do more of the Bidi stuff, however I've not been very supportive. The thing is that I think that the problems we currently have would not be solved by letting Qt do it:

The main problem I see right now with Arabic is that the widths of the letters are not calculated correctly. This means that letters may not totally connect with their neighbors, because their glyph doesn't totally cover the space given to them. (Are you seeing the same problem?) It sounds like this is related to the metrics calculations (see http://thread.gmane.org/gmane.editors.lyx.devel/79740/focus=79928, although it looks like there has been some work done since then, so I'm not sure if that is still relevant or not). If that is, in fact, the case, then I don't think that moving to Qt will help us solve this problem (correct me if I'm wrong?).


b) The current code in the method "Paragraph::transformChar" has a bug,
when the prev_char is a COMPOSE character (such as FATHA) and the previous BASE 
character is a SPECIAL character (such as ALEF). In this case the current 
character (such as BAA) gets the medial form and gets connected to the previous 
SPECIAL character which is not correct. The correct way to handle this 
situation is that, similar to the next_char, the first previous non-COMPOSE 
character should be assigned to the prev_char if exists.

c) Suppose that we have a text with a mixture of English, Arabic, and Farsi languages. Therefore 
consider a paragraph that its main language is English and it contains both Arabic and Farsi words. 
The current part of the source that converts LyX to LaTeX uses the command "\R{}" for 
both Arabic and Farsi words. Of course I am not a LaTeX and/or Babel expert but it seems better if 
LyX uses the  command "\foreinlanguage" instead. Otherwise, how can LaTeX distinguish 
between these two languages?


Yes, mixing multiple Bidi languages presents a problem (I'm interested in mixing Hebrew and Arabic, and that's problematic, too). Before figuring out how to do it in LyX, do you know how to do it in latex? Does this \foreignlanguage command work? Which latex pakage does it belong to? I think that's the first thing that needs to be figured out...

I think that since this is not a regression (I don't believe that it ever was possible to mix multiple Bidi languages in LyX), then this issue should probably wait for after 1.5.0. OTOH, getting it to work will almost certainly involve format changes (?), so if we don't get it done before 1.5, it has to wait until 1.6... So, if you think you're up to the challenge, that would be great!

d) When TeX-LaTeX is not installed the menu item "Export to LaTeX (plain)" does 
not exist. Isn't it strange?

Mostafa


Abdelrazak Younes <[EMAIL PROTECTED]> wrote:
Yes and no:
Yes, we need generic support.
No, we cannot make abstraction of the language setting, if only because of LateX support.

I suggest that you get used to the source code and do some testing with 1.5.osvn. Don't hesitate to ask question.

---------------------------------
Ahhh...imagining that irresistible "new car" smell?
 Check outnew cars at Yahoo! Autos.

Reply via email to