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.