mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-23 10:18:50 +00:00
Better comment from Dov Feldstern (and remove now obsolete comment about
the isComposeChar functions) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17544 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
8703fa34b9
commit
816737b843
@ -335,23 +335,24 @@ void RowPainter::paintChars(pos_type & vpos, LyXFont const & font,
|
|||||||
if (!isPrintableNonspace(c))
|
if (!isPrintableNonspace(c))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// We have to draw hebrew characters one by one, since we
|
/* Because we do our own bidi, at this point the strings are
|
||||||
// apply our own bidi algorithm, and qt would reverse the
|
* already in visual order. However, Qt also applies its own
|
||||||
// order of characters in words again (bug 3040).
|
* bidi algorithm to strings that it paints to the screen.
|
||||||
// The same applys for arabic (see below).
|
* Therefore, if we were to paint Hebrew/Arabic words as a
|
||||||
|
* single string, the letters in the words would get reversed
|
||||||
|
* again. In order to avoid that, we don't collect Hebrew/
|
||||||
|
* Arabic characters, but rather paint them one at a time.
|
||||||
|
* See also http://thread.gmane.org/gmane.editors.lyx.devel/79740
|
||||||
|
*/
|
||||||
if (hebrew)
|
if (hebrew)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* FIXME: these checks are irrelevant, since 'arabic' and
|
/* FIXME: these checks are irrelevant, since 'arabic' and
|
||||||
* 'hebrew' alone are already going to trigger a break.
|
* 'hebrew' alone are already going to trigger a break.
|
||||||
* The encodings used by isComposeChar_arabic and
|
|
||||||
* isComposeChar_hebrew are incorrect (probably iso8859-8 and
|
|
||||||
* iso8859-6), they also have to be adapted to Unicode.
|
|
||||||
* However, this should not be removed completely, because
|
* However, this should not be removed completely, because
|
||||||
* if an alternative solution is found which allows grouping
|
* if an alternative solution is found which allows grouping
|
||||||
* of arabic and hebrew characters, then these breaks may have
|
* of arabic and hebrew characters, then these breaks may have
|
||||||
* to be re-applied.
|
* to be re-applied.
|
||||||
* See also http://thread.gmane.org/gmane.editors.lyx.devel/79740
|
|
||||||
|
|
||||||
if (arabic && Encodings::isComposeChar_arabic(c))
|
if (arabic && Encodings::isComposeChar_arabic(c))
|
||||||
break;
|
break;
|
||||||
@ -362,6 +363,7 @@ void RowPainter::paintChars(pos_type & vpos, LyXFont const & font,
|
|||||||
|
|
||||||
if (arabic) {
|
if (arabic) {
|
||||||
c = par_.transformChar(c, pos);
|
c = par_.transformChar(c, pos);
|
||||||
|
/* see comment in hebrew, explaining why we break */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user